File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    0040f750
    0040f750fn_40f750:
    0040f750push r14
    0040f752push r13
    0040f754push rdi
    0040f755push rsi
    0040f756push rbx
    0040f757sub rsp, 32
    0040f75bmov rbx, rcx
    0040f75emov rsi, rdx
    0040f761mov rdi, r8
    0040f764mov r13, r9
    0040f767test r13, r13
    0040f76aje 0x40f88d
    0040f770mov rax, rdi
    0040f773movzx rcx, [rax]
    0040f777cmp ecx, 13
    0040f77ajg 0x40f7a8
    0040f77ccmp ecx, 13
    0040f77fje 0x40f822
    0040f785sub ecx, 7
    0040f788test ecx, ecx
    0040f78aje 0x40f7e9
    0040f78csub ecx, 1
    0040f78ftest ecx, ecx
    0040f791je 0x40f7d2
    0040f793sub ecx, 2
    0040f796cmp ecx, 2
    0040f799jb 0x40f7e9
    0040f79bsub ecx, 2
    0040f79etest ecx, ecx
    0040f7a0jne 0x40f886
    0040f7a6jmp 0x40f805
    0040f7a8
    0040f7a8loc_40f7a8:
    0040f7a8sub ecx, 14
    0040f7abtest ecx, ecx
    0040f7adje 0x40f858
    0040f7b3sub ecx, 1
    0040f7b6test ecx, ecx
    0040f7b8je 0x40f7e9
    0040f7basub ecx, 2
    0040f7bdcmp ecx, 2
    0040f7c0jb 0x40f7e9
    0040f7c2sub ecx, 5
    0040f7c5test ecx, ecx
    0040f7c7jne 0x40f886
    0040f7cdjmp 0x40f858
    0040f7d2
    0040f7d2loc_40f7d2:
    0040f7d2mov rcx, rsi
    0040f7d5mov rdx, rbx
    0040f7d8mov r8, r13
    0040f7dbshl r8, 4
    0040f7dfcall fn_405ac0
    0040f7e4jmp 0x40f88d
    0040f7e9
    0040f7e9loc_40f7e9:
    0040f7e9mov rcx, rsi
    0040f7ecmov rdx, rbx
    0040f7efmov r8, r13
    0040f7f2add r8, r8
    0040f7f5add r8, r8
    0040f7f8add r8, r8
    0040f7fbcall fn_405ac0
    0040f800jmp 0x40f88d
    0040f805
    0040f805loc_40f805:
    0040f805mov rcx, rsi
    0040f808mov rdx, rbx
    0040f80bmov r8, r13
    0040f80eadd r8, r8
    0040f811add r8, r8
    0040f814add r8, r8
    0040f817lea r8, [r8+2*r8]
    0040f81bcall fn_405ac0
    0040f820jmp 0x40f88d
    0040f822
    0040f822loc_40f822:
    0040f822movzx rcx, [rax+1]
    0040f827lea r14, [rax+rcx]
    0040f82bjmp 0x40f851
    0040f82d
    0040f82dloc_40f82d:
    0040f82dmov rcx, rbx
    0040f830mov rdx, rsi
    0040f833mov rax, [r14+10]
    0040f837mov r8, [rax]
    0040f83amov r9l, [r14+6]
    0040f83ecall fn_40f750
    0040f843mov eax, [r14+2]
    0040f847add rbx, rax
    0040f84aadd rsi, rax
    0040f84dsub r13, 1
    0040f851
    0040f851loc_40f851:
    0040f851test r13, r13
    0040f854jg 0x40f82d
    0040f856jmp 0x40f88d
    0040f858
    0040f858loc_40f858:
    0040f858movzx rcx, [rax+1]
    0040f85dlea r14, [rax+rcx]
    0040f861jmp 0x40f87f
    0040f863
    0040f863loc_40f863:
    0040f863mov rcx, rbx
    0040f866mov rdx, rsi
    0040f869mov r8, rdi
    0040f86ccall fn_40f220
    0040f871mov eax, [r14+2]
    0040f875add rbx, rax
    0040f878add rsi, rax
    0040f87bsub r13, 1
    0040f87f
    0040f87floc_40f87f:
    0040f87ftest r13, r13
    0040f882jg 0x40f863
    0040f884jmp 0x40f88d
    0040f886
    0040f886loc_40f886:
    0040f886mov cl, 2
    0040f888call fn_405a20
    0040f88d
    0040f88dloc_40f88d:
    0040f88dadd rsp, 32
    0040f891pop rbx
    0040f892pop rsi
    0040f893pop rdi
    0040f894pop r13
    0040f896pop r14
    0040f898ret
    0040f750
    0040f899
    0040f899 // align 0x10
    0040f8a0
    0040f8a0fn_40f8a0:
    0040f8a0push rsi
    0040f8a1push rbx
    0040f8a2sub rsp, 40
    0040f8a6mov rbx, rdx
    0040f8a9call fn_405700
    0040f8aemov rsi, rax
    0040f8b1test rsi, rsi
    0040f8b4je 0x40f8c1
    0040f8b6mov rcx, rsi
    0040f8b9mov rdx, rbx
    0040f8bccall fn_40e510
    0040f8c1
    0040f8c1loc_40f8c1:
    0040f8c1mov rax, rsi
    0040f8c4add rsp, 40
    0040f8c8pop rbx
    0040f8c9pop rsi
    0040f8caret
    0040f8a0
    0040f8cb
    0040f8cb // align 0x10
    0040f8d0
    0040f8d0fn_40f8d0:
    0040f8d0push rbx
    0040f8d1sub rsp, 32
    0040f8d5mov rbx, rcx
    0040f8d8mov rcx, rbx
    0040f8dbcall fn_40eed0
    0040f8e0mov rcx, rbx
    0040f8e3call fn_405730
    0040f8e8add rsp, 32
    0040f8ecpop rbx
    0040f8edret
    0040f8d0
    0040f8ee
    0040f8ee // align 0x10
    0040f8f0
    0040f8f0fn_40f8f0:
    0040f8f0sub rsp, 40
    0040f8f4call fn_40ec40
    0040f8f9add rsp, 40
    0040f8fdret
    0040f8f0
    0040f8fe
    0040f8fe // align 0x10
    0040f900
    0040f900fn_40f900:
    0040f900push rbp
    0040f901push rbx
    0040f902sub rsp, 88
    0040f906mov rbp, rsp
    0040f909mov [rbp+40], rbp
    0040f90dmov [rbp+112], rcx
    0040f911mov [rbp+120], rdx
    0040f915mov rax, [rbp+120]
    0040f919movzx rcx, [rax+1]
    0040f91elea rcx, [rax+rcx]
    0040f922mov [rbp+64], rcx
    0040f926cmp [rax], 22
    0040f929jne 0x40f968
    0040f92bmov rax, [rbp+64]
    0040f92fmov rcx, [rbp+64]
    0040f933mov ecx, [rcx+6]
    0040f936shl ecx, 4
    0040f939mov ecx, ecx
    0040f93blea rax, [rax+rcx+10]
    0040f940mov [rbp+56], rax
    0040f944mov rax, [rbp+56]
    0040f948cmp [rax], 1
    0040f94bjbe 0x40f968
    0040f94dmov rax, [rbp+56]
    0040f951cmp [rax+9], 0
    0040f956je 0x40f968
    0040f958mov rcx, [rbp+112]
    0040f95cmov rbx, [rbp+56]
    0040f960call [rbx+9]
    0040f963jmp 0x40fa39
    0040f968
    0040f968loc_40f968:
    0040f968mov rax, [rbp+64]
    0040f96ccmp [rax+6], 0
    0040f970jbe 0x40fa39
    0040f976mov [rbp+72], 0
    0040f97enop
    0040f97fjmp 0x40f9ce
    0040f981
    0040f981loc_40f981:
    0040f981mov rax, [rbp+64]
    0040f985mov rcx, [rbp+72]
    0040f989add rcx, rcx
    0040f98ccmp [rax+8*rcx+10], 0
    0040f992je 0x40f9db
    0040f994mov rax, [rbp+112]
    0040f998mov rcx, [rbp+64]
    0040f99cmov rdx, [rbp+72]
    0040f9a0add rdx, rdx
    0040f9a3mov ecx, [rcx+8*rdx+18]
    0040f9a7lea rcx, [rax+rcx]
    0040f9abmov rax, [rbp+64]
    0040f9afmov rdx, [rbp+72]
    0040f9b3add rdx, rdx
    0040f9b6mov rax, [rax+8*rdx+10]
    0040f9bbmov rdx, [rax]
    0040f9bemov r8l, 1
    0040f9c4call fn_40fa60
    0040f9c9add [rbp+72], 1
    0040f9ce
    0040f9celoc_40f9ce:
    0040f9cemov rax, [rbp+64]
    0040f9d2mov eax, [rax+6]
    0040f9d5cmp [rbp+72], rax
    0040f9d9jb 0x40f981
    0040f9db
    0040f9dbloc_40f9db:
    0040f9dbnop
    0040f9dcjmp 0x40fa39
    0040f9de
    0040f9de 90 90 ..
    0040f9e0 eb 45 48 83 6d 48 01 90 48 8b 45 70 48 8b 4d 40 .EH.mH..H.EpH.M@
    0040f9f0 48 8b 55 48 48 03 d2 8b 4c d1 12 48 8d 0c 08 48 H.UHH...L..H...H
    0040fa00 8b 45 40 48 8b 55 48 48 03 d2 48 8b 44 d0 0a 48 .E@H.UHH..H.D..H
    0040fa10 8b 10 41 b8 01 00 00 00 e8 23 f2 ff ff eb 08 90 ..A......#......
    0040fa20 90 e8 fa b6 ff ff 90 48 83 7d 48 00 77 b4 e8 dd .......H.}H.w...
    0040fa30 b5 ff ff e8 e8 b6 ff ff 90 .........
    0040fa39
    0040fa39loc_40fa39:
    0040fa39lea rsp, [rbp+88]
    0040fa3dpop rbx
    0040fa3epop rbp
    0040fa3fret
    0040f900
    0040fa40
    0040fa40fn_40fa40:
    0040fa40sub rsp, 40
    0040fa44call fn_40b050
    0040fa49add rsp, 40
    0040fa4dret
    0040fa40
    0040fa4e
    0040fa4e 48 90 H.
    0040fa50
    0040fa50fn_40fa50:
    0040fa50sub rsp, 40
    0040fa54call fn_40b050
    0040fa59add rsp, 40
    0040fa5dret
    0040fa50
    0040fa5e
    0040fa5e // align 0x10
    0040fa60
    0040fa60fn_40fa60:
    0040fa60push rbp
    0040fa61sub rsp, 80
    0040fa65mov rbp, rsp
    0040fa68mov [rbp+40], rbp
    0040fa6cmov [rbp+96], rcx
    0040fa70mov [rbp+104], rdx
    0040fa74mov [rbp+112], r8
    0040fa78jmp 0x40faa9
    0040fa7a
    0040fa7aloc_40fa7a:
    0040fa7amovzx rcx, [rax+1]
    0040fa7flea rax, [rax+rcx]
    0040fa83mov [rbp+64], rax
    0040fa87mov rax, [rbp+64]
    0040fa8bmov eax, [rax+6]
    0040fa8emov rcx, [rbp+112]
    0040fa92imul rcx, rax
    0040fa96mov [rbp+112], rcx
    0040fa9amov rax, [rbp+64]
    0040fa9emov rax, [rax+10]
    0040faa2mov rax, [rax]
    0040faa5mov [rbp+104], rax
    0040faa9
    0040faa9loc_40faa9:
    0040faa9mov rax, [rbp+104]
    0040faadcmp [rax], 13
    0040fab0je 0x40fa7a
    0040fab2mov rax, [rbp+104]
    0040fab6movzx rcx, [rax+1]
    0040fabblea rcx, [rax+rcx]
    0040fabfmov [rbp+64], rcx
    0040fac3cmp [rax], 22
    0040fac6jne 0x40fb6b
    0040faccmov rax, [rbp+64]
    0040fad0mov rcx, [rbp+64]
    0040fad4mov ecx, [rcx+6]
    0040fad7shl ecx, 4
    0040fadamov ecx, ecx
    0040fadclea rax, [rax+rcx+10]
    0040fae1mov [rbp+56], rax
    0040fae5mov rax, [rbp+56]
    0040fae9cmp [rax], 1
    0040faecjbe 0x40fb6b
    0040faeemov rax, [rbp+56]
    0040faf2cmp [rax+9], 0
    0040faf7je 0x40fb6b
    0040faf9mov rax, [rbp+56]
    0040fafdmov rax, [rax+9]
    0040fb01mov [rbp+48], rax
    0040fb05mov [rbp+72], 0
    0040fb0dnop
    0040fb0ejmp 0x40fb27
    0040fb10
    0040fb10loc_40fb10:
    0040fb10mov rcx, [rbp+96]
    0040fb14call [rbp+48]
    0040fb17mov rax, [rbp+64]
    0040fb1bmov eax, [rax+2]
    0040fb1eadd [rbp+96], rax
    0040fb22add [rbp+72], 1
    0040fb27
    0040fb27loc_40fb27:
    0040fb27mov rax, [rbp+72]
    0040fb2bcmp rax, [rbp+112]
    0040fb2fjb 0x40fb10
    0040fb31jmp 0x40fbe8
    0040fb36
    0040fb36 90 90 48 8b 45 40 8b 40 02 48 ..H.E@.@.H
    0040fb40 8b 4d 48 48 0f af c8 48 8b 45 60 48 2b c1 48 89 .MHH...H.E`H+.H.
    0040fb50 c1 48 8b 55 68 4c 8b 45 48 e8 e2 f0 ff ff e8 ad .H.UhL.EH.......
    0040fb60 b4 ff ff e8 b8 b5 ff ff 90 eb 7d ..........}
    0040fb6b
    0040fb6bloc_40fb6b:
    0040fb6bmov rax, [rbp+104]
    0040fb6fmovzx rax, [rax]
    0040fb73sub al, 14
    0040fb76test al, al
    0040fb78je 0x40fb81
    0040fb7asub al, 8
    0040fb7dtest al, al
    0040fb7fjne 0x40fbe8
    0040fb81
    0040fb81loc_40fb81:
    0040fb81mov [rbp+72], 0
    0040fb89nop
    0040fb8ajmp 0x40fba9
    0040fb8c
    0040fb8cloc_40fb8c:
    0040fb8cmov rcx, [rbp+96]
    0040fb90mov rdx, [rbp+104]
    0040fb94call fn_40f900
    0040fb99mov rax, [rbp+64]
    0040fb9dmov eax, [rax+2]
    0040fba0add [rbp+96], rax
    0040fba4add [rbp+72], 1
    0040fba9
    0040fba9loc_40fba9:
    0040fba9mov rax, [rbp+72]
    0040fbadcmp rax, [rbp+112]
    0040fbb1jb 0x40fb8c
    0040fbb3jmp 0x40fbe8
    0040fbb5
    0040fbb5 90 90 48 8b 45 40 8b 40 02 48 8b ..H.E@.@.H.
    0040fbc0 4d 48 48 0f af c8 48 8b 45 60 48 2b c1 48 89 c1 MHH...H.E`H+.H..
    0040fbd0 48 8b 55 68 4c 8b 45 48 e8 63 f0 ff ff e8 2e b4 H.UhL.EH.c......
    0040fbe0 ff ff e8 39 b5 ff ff 90 ...9....
    0040fbe8
    0040fbe8loc_40fbe8:
    0040fbe8lea rsp, [rbp+80]
    0040fbecpop rbp
    0040fbedret
    0040fa60
    0040fbee
    0040fbee 48 90 H.
    0040fbf0
    0040fbf0fn_40fbf0:
    0040fbf0sub rsp, 40
    0040fbf4call fn_40b050
    0040fbf9add rsp, 40
    0040fbfdret
    0040fbf0
    0040fbfe
    0040fbfe 48 90 H.
    0040fc00
    0040fc00fn_40fc00:
    0040fc00sub rsp, 40
    0040fc04call fn_40b050
    0040fc09add rsp, 40
    0040fc0dret
    0040fc00
    0040fc0e
    0040fc0e // align 0x10
    0040fc10
    0040fc10fn_40fc10:
    0040fc10push rbx
    0040fc11sub rsp, 32
    0040fc15mov rbx, rcx
    0040fc18mov rcx, rdx
    0040fc1bmov rdx, rbx
    0040fc1ecall fn_40fc30
    0040fc23mov rax, rbx
    0040fc26add rsp, 32
    0040fc2apop rbx
    0040fc2bret
    0040fc10
    0040fc2c
    0040fc2c // align 0x10
    0040fc30
    0040fc30fn_40fc30:
    0040fc30sub rsp, 40
    0040fc34mov rax, rcx
    0040fc37mov rcx, rdx
    0040fc3amov rdx, rax
    0040fc3dcall fn_40d780
    0040fc42add rsp, 40
    0040fc46ret
    0040fc30
    0040fc47
    0040fc47 // align 0x10
    0040fc50
    0040fc50fn_40fc50:
    0040fc50push rbp
    0040fc51sub rsp, 48
    0040fc55mov rbp, rsp
    0040fc58mov [rbp+40], 0
    0040fc60xor eax, eax
    0040fc62test rcx, rcx
    0040fc65je 0x40fc6a
    0040fc67mov eax, [rcx-4]
    0040fc6a
    0040fc6aloc_40fc6a:
    0040fc6alea rdx, [rbp+40]
    0040fc6emov r8, rcx
    0040fc71mov rcx, rdx
    0040fc74mov rdx, r8
    0040fc77mov r8l, eax
    0040fc7acall fn_40c290
    0040fc7fmov rax, [rbp+40]
    0040fc83lea rsp, [rbp+48]
    0040fc87pop rbp
    0040fc88ret
    0040fc50
    0040fc89
    0040fc89 // align 0x10
    0040fc90
    0040fc90fn_40fc90:
    0040fc90push rbp
    0040fc91sub rsp, 32
    0040fc95mov rbp, rsp
    0040fc98mov cl, 17
    0040fc9amov rdx, [rbp+40]
    0040fc9ecall fn_4059c0
    0040fca3lea rsp, [rbp+32]
    0040fca7pop rbp
    0040fca8ret
    0040fc90
    0040fca9
    0040fca9 // align 0x10
    0040fcb0
    0040fcb0fn_40fcb0:
    0040fcb0push rbx
    0040fcb1mov r8l, 1
    0040fcb7xor r10, r10
    0040fcbaxor eax, eax
    0040fcbcmov r11b, 1
    0040fcbftest rcx, rcx
    0040fcc2jne 0x40fcd3
    0040fcc4mov [rdx], 1
    0040fccajmp 0x40fe8a
    0040fccf
    0040fccfloc_40fccf:
    0040fccfadd r8l, 1
    0040fcd3
    0040fcd3loc_40fcd3:
    0040fcd3movsxd r9, r8l
    0040fcd6cmp [rcx+2*r9-2], 32
    0040fcddje 0x40fccf
    0040fcdfmovsxd r9, r8l
    0040fce2movzx r9, [rcx+2*r9-2]
    0040fce8cmp r9w, 45
    0040fcedjne 0x40fcf8
    0040fcefmov r10b, 1
    0040fcf2add r8l, 1
    0040fcf6jmp 0x40fd03
    0040fcf8
    0040fcf8loc_40fcf8:
    0040fcf8cmp r9w, 43
    0040fcfdjne 0x40fd03
    0040fcffadd r8l, 1
    0040fd03
    0040fd03loc_40fd03:
    0040fd03movsxd r9, r8l
    0040fd06cmp [rcx+2*r9-2], 48
    0040fd0djne 0x40fd27
    0040fd0fxor r9, r9
    0040fd12mov rbx, rcx
    0040fd15test rbx, rbx
    0040fd18je 0x40fd1e
    0040fd1amov r9l, [rbx-4]
    0040fd1e
    0040fd1eloc_40fd1e:
    0040fd1ecmp r8l, r9l
    0040fd21setl r9b
    0040fd25jmp 0x40fd2a
    0040fd27
    0040fd27loc_40fd27:
    0040fd27xor r9, r9
    0040fd2a
    0040fd2aloc_40fd2a:
    0040fd2atest r9b, r9b
    0040fd2dje 0x40fd4d
    0040fd2fmov r9l, r8l
    0040fd32add r9l, 1
    0040fd36movsxd r9, r9l
    0040fd39movzx r9, [rcx+2*r9-2]
    0040fd3fcmp r9w, 88
    0040fd44je 0x40fd75
    0040fd46cmp r9w, 120
    0040fd4bje 0x40fd75
    0040fd4d
    0040fd4dloc_40fd4d:
    0040fd4dmovsxd r9, r8l
    0040fd50cmp [rcx+2*r9-2], 36
    0040fd57je 0x40fd75
    0040fd59movsxd r9, r8l
    0040fd5ccmp [rcx+2*r9-2], 88
    0040fd63je 0x40fd75
    0040fd65movsxd r9, r8l
    0040fd68cmp [rcx+2*r9-2], 120
    0040fd6fjne 0x40fe04
    0040fd75
    0040fd75loc_40fd75:
    0040fd75movsxd r9, r8l
    0040fd78cmp [rcx+2*r9-2], 48
    0040fd7fjne 0x40fd85
    0040fd81add r8l, 1
    0040fd85
    0040fd85loc_40fd85:
    0040fd85add r8l, 1
    0040fd89
    0040fd89loc_40fd89:
    0040fd89movsxd r9, r8l
    0040fd8cmovzx r9, [rcx+2*r9-2]
    0040fd92mov ebx, r9l
    0040fd95sub bx, 48
    0040fd99cmp bx, 10
    0040fd9djb 0x40fdb5
    0040fd9fsub bx, 17
    0040fda3cmp bx, 6
    0040fda7jb 0x40fdbf
    0040fda9sub bx, 32
    0040fdadcmp bx, 6
    0040fdb1jae 0x40fdf9
    0040fdb3jmp 0x40fdc9
    0040fdb5
    0040fdb5loc_40fdb5:
    0040fdb5movzx r9l, r9w
    0040fdb9sub r9l, 48
    0040fdbdjmp 0x40fdd1
    0040fdbf
    0040fdbfloc_40fdbf:
    0040fdbfmovzx r9l, r9w
    0040fdc3add r9l, -55
    0040fdc7jmp 0x40fdd1
    0040fdc9
    0040fdc9loc_40fdc9:
    0040fdc9movzx r9l, r9w
    0040fdcdadd r9l, -87
    0040fdd1
    0040fdd1loc_40fdd1:
    0040fdd1test rax, rax
    0040fdd4jl 0x40fdf9
    0040fdd6mov rbx, 0xfffffffffffffff
    0040fde0cmp rax, rbx
    0040fde3jg 0x40fdf9
    0040fde5shl rax, 4
    0040fde9movsxd r9, r9l
    0040fdeclea rax, [rax+r9]
    0040fdf0add r8l, 1
    0040fdf4xor r11, r11
    0040fdf7jmp 0x40fd89
    0040fdf9
    0040fdf9loc_40fdf9:
    0040fdf9nop
    0040fdfatest r10b, r10b
    0040fdfdje 0x40fe6b
    0040fdffneg rax
    0040fe02jmp 0x40fe6b
    0040fe04
    0040fe04loc_40fe04:
    0040fe04movsxd r9, r8l
    0040fe07movzx r9, [rcx+2*r9-2]
    0040fe0dmov ebx, r9l
    0040fe10sub bx, 48
    0040fe14cmp bx, 10
    0040fe18jae 0x40fe4d
    0040fe1amovzx r9l, r9w
    0040fe1esub r9l, 48
    0040fe22test rax, rax
    0040fe25jl 0x40fe4d
    0040fe27mov rbx, 0xccccccccccccccc
    0040fe31cmp rax, rbx
    0040fe34jg 0x40fe4d
    0040fe36add rax, rax
    0040fe39lea rax, [rax+4*rax]
    0040fe3dmovsxd r9, r9l
    0040fe40lea rax, [rax+r9]
    0040fe44add r8l, 1
    0040fe48xor r11, r11
    0040fe4bjmp 0x40fe04
    0040fe4d
    0040fe4dloc_40fe4d:
    0040fe4dnop
    0040fe4etest r10b, r10b
    0040fe51je 0x40fe56
    0040fe53neg rax
    0040fe56
    0040fe56loc_40fe56:
    0040fe56test rax, rax
    0040fe59je 0x40fe6b
    0040fe5btest rax, rax
    0040fe5esetl r9b
    0040fe62cmp r10b, r9b
    0040fe65je 0x40fe6b
    0040fe67sub r8l, 1
    0040fe6b
    0040fe6bloc_40fe6b:
    0040fe6bmovsxd r9, r8l
    0040fe6ecmp [rcx+2*r9-2], 0
    0040fe75setne cl
    0040fe78or cl, r11b
    0040fe7btest cl, cl
    0040fe7dje 0x40fe84
    0040fe7fmov [rdx], r8l
    0040fe82jmp 0x40fe8a
    0040fe84
    0040fe84loc_40fe84:
    0040fe84mov [rdx], 0
    0040fe8a
    0040fe8aloc_40fe8a:
    0040fe8apop rbx
    0040fe8bret
    0040fcb0
    0040fe8c
    0040fe8c // align 0x10
    0040fe90
    0040fe90fn_40fe90:
    0040fe90push r14
    0040fe92push r13
    0040fe94push rdi
    0040fe95push rsi
    0040fe96push rbx
    0040fe97sub rsp, 32
    0040fe9bmov rbx, rcx
    0040fe9emov sil, 1
    0040fea1test rbx, rbx
    0040fea4je 0x40ff6d
    0040feaa
    0040feaaloc_40feaa:
    0040feaacmp [rip+0x5a00f], rbx
    0040feb1jne 0x40fec0
    0040feb3movzx rsi, [rip+0x5a00d]
    0040febbjmp 0x40ff70
    0040fec0
    0040fec0loc_40fec0:
    0040fec0movzx rax, [rbx]
    0040fec4sub al, 13
    0040fec7test al, al
    0040fec9je 0x40fedf
    0040fecbsub al, 1
    0040fecetest al, al
    0040fed0je 0x40feee
    0040fed2sub al, 8
    0040fed5test al, al
    0040fed7jne 0x40ff6c
    0040feddjmp 0x40feee
    0040fedf
    0040fedfloc_40fedf:
    0040fedfmovzx rax, [rbx+1]
    0040fee4mov rax, [rbx+rax+10]
    0040fee9mov rbx, [rax]
    0040feecjmp 0x40feaa
    0040feee
    0040feeeloc_40feee:
    0040feeemovzx rax, [rbx+1]
    0040fef3lea rdi, [rbx+rax]
    0040fef7mov eax, [rdi+6]
    0040fefatest eax, eax
    0040fefcjbe 0x40ff6c
    0040fefexor ecx, ecx
    0040ff00mov r14l, eax
    0040ff03sub r14l, 1
    0040ff07mov r13l, ecx
    0040ff0acmp r13l, r14l
    0040ff0djg 0x40ff6b
    0040ff0fsub r14l, ecx
    0040ff12add r14l, 1
    0040ff16
    0040ff16loc_40ff16:
    0040ff16movsxd rax, r13l
    0040ff19mov rcx, rax
    0040ff1cadd rcx, rcx
    0040ff1fcmp [rdi+8*rcx+10], 0
    0040ff25je 0x40ff70
    0040ff27add rax, rax
    0040ff2amov rax, [rdi+8*rax+10]
    0040ff2fmov rbx, [rax]
    0040ff32cmp [rbx], 13
    0040ff35jne 0x40ff4d
    0040ff37movzx rax, [rbx+1]
    0040ff3cmov rax, [rbx+rax+10]
    0040ff41mov rcx, [rax]
    0040ff44call fn_40fe90
    0040ff49test al, al
    0040ff4bjne 0x40ff70
    0040ff4d
    0040ff4dloc_40ff4d:
    0040ff4dcmp [rbx], 14
    0040ff50jne 0x40ff5e
    0040ff52mov rcx, rbx
    0040ff55call fn_40fe90
    0040ff5atest al, al
    0040ff5cjne 0x40ff70
    0040ff5e
    0040ff5eloc_40ff5e:
    0040ff5eadd r13l, 1
    0040ff62sub r14l, 1
    0040ff66test r14l, r14l
    0040ff69jne 0x40ff16
    0040ff6b
    0040ff6bloc_40ff6b:
    0040ff6bnop
    0040ff6c
    0040ff6cloc_40ff6c:
    0040ff6cnop
    0040ff6d
    0040ff6dloc_40ff6d:
    0040ff6dxor esi, esi
    0040ff70
    0040ff70loc_40ff70:
    0040ff70mov eax, esi
    0040ff73add rsp, 32
    0040ff77pop rbx
    0040ff78pop rsi
    0040ff79pop rdi
    0040ff7apop r13
    0040ff7cpop r14
    0040ff7eret
    0040fe90
    0040ff7f
    0040ff7f // align 0x10
    0040ff80
    0040ff80fn_40ff80:
    0040ff80push rsi
    0040ff81push rbx
    0040ff82sub rsp, 40
    0040ff86mov rbx, rcx
    0040ff89call fn_414a40
    0040ff8ecmp [rax+536], rbx
    0040ff95jne 0x40ffa6
    0040ff97call fn_414a40
    0040ff9cmovzx rsi, [rax+544]
    0040ffa4jmp 0x40ffc9
    0040ffa6
    0040ffa6loc_40ffa6:
    0040ffa6mov rcx, rbx
    0040ffa9call fn_40fe90
    0040ffaemov esi, eax
    0040ffb1call fn_414a40
    0040ffb6mov [rax+536], rbx
    0040ffbdcall fn_414a40
    0040ffc2mov [rax+544], sil
    0040ffc9
    0040ffc9loc_40ffc9:
    0040ffc9mov eax, esi
    0040ffccadd rsp, 40
    0040ffd0pop rbx
    0040ffd1pop rsi
    0040ffd2ret
    0040ff80
    0040ffd3
    0040ffd3 // align 0x10
    0040ffe0
    0040ffe0fn_40ffe0:
    0040ffe0push rbp
    0040ffe1push rbx
    0040ffe2sub rsp, 152
    0040ffe9mov rbp, rsp
    0040ffecmov [rbp+40], rbp
    0040fff0mov [rbp+176], rcx
    0040fff7mov [rbp+184], rdx
    0040fffemov [rbp+192], r8
    00410005mov [rbp+200], r9
    0041000cmov rax, [rbp+176]
    00410013mov rax, [rax]
    00410016mov [rbp+120], rax
    0041001amov rax, [rbp+200]
    00410021mov rax, [rax]
    00410024mov [rbp+96], rax
    00410028cmp [rbp+96], 0
    0041002djg 0x410055
    0041002fcmp [rbp+96], 0
    00410034jge 0x41003d
    00410036mov cl, 4
    00410038call fn_405a20
    0041003d
    0041003dloc_41003d:
    0041003dmov rcx, [rbp+176]
    00410044mov rdx, [rbp+184]
    0041004bcall fn_410600
    00410050jmp 0x410409
    00410055
    00410055loc_410055:
    00410055mov [rbp+88], 0
    0041005dcmp [rbp+120], 0
    00410062je 0x410075
    00410064sub [rbp+120], 16
    00410069mov rax, [rbp+120]
    0041006dmov rax, [rax+8]
    00410071mov [rbp+88], rax
    00410075
    00410075loc_410075:
    00410075mov rax, [rbp+184]
    0041007cmovzx rcx, [rax+1]
    00410081lea rax, [rax+rcx]
    00410085mov [rbp+64], rax
    00410089mov rax, [rbp+64]
    0041008dmovsxd rax, [rax+2]
    00410091mov [rbp+72], rax
    00410095mov rax, [rbp+64]
    00410099mov rax, [rax+6]
    0041009dtest rax, rax
    004100a0je 0x4100ab
    004100a2mov rax, [rax]
    004100a5mov [rbp+104], rax
    004100a9jmp 0x4100b3
    004100ab
    004100abloc_4100ab:
    004100abmov [rbp+104], 0
    004100b3
    004100b3loc_4100b3:
    004100b3mov rax, [rbp+96]
    004100b7imul rax, [rbp+72]
    004100bcmov [rbp+56], rax
    004100c0mov rax, [rbp+56]
    004100c4cqo
    004100c6idiv [rbp+96]
    004100cacmp rax, [rbp+72]
    004100ceje 0x4100d7
    004100d0mov cl, 4
    004100d2call fn_405a20
    004100d7
    004100d7loc_4100d7:
    004100d7add [rbp+56], 16
    004100dccmp [rbp+56], 0
    004100e1jge 0x4100ea
    004100e3mov cl, 4
    004100e5call fn_405a20
    004100ea
    004100ealoc_4100ea:
    004100eacmp [rbp+120], 0
    004100efje 0x4100ff
    004100f1mov rax, [rbp+120]
    004100f5cmp [rax+4], 1
    004100f9jne 0x41021b
    004100ff
    004100ffloc_4100ff:
    004100ffmov rax, [rbp+120]
    00410103mov [rbp+48], rax
    00410107cmp [rbp+104], 0
    0041010cje 0x410201
    00410112mov rcx, [rbp+104]
    00410116call fn_40ff80
    0041011btest al, al
    0041011dje 0x4101c5
    00410123mov rax, [rbp+96]
    00410127cmp rax, [rbp+88]
    0041012bjge 0x410137
    0041012dmov rax, [rbp+96]
    00410131mov [rbp+80], rax
    00410135jmp 0x41013f
    00410137
    00410137loc_410137:
    00410137mov rax, [rbp+88]
    0041013bmov [rbp+80], rax
    0041013f
    0041013floc_41013f:
    0041013fmov rcx, [rbp+56]
    00410143call fn_405700
    00410148mov [rbp+48], rax
    0041014cmov rax, [rbp+48]
    00410150lea rcx, [rax+16]
    00410154mov rdx, [rbp+80]
    00410158imul rdx, [rbp+72]
    0041015dxor r8, r8
    00410160call fn_4069b0
    00410165cmp [rbp+120], 0
    0041016aje 0x41020e
    00410170mov rax, [rbp+48]
    00410174lea rcx, [rax+16]
    00410178mov rax, [rbp+120]
    0041017clea rdx, [rax+16]
    00410180mov r8, [rbp+104]
    00410184mov r9, [rbp+80]
    00410188call fn_40f750
    0041018dmov rax, [rbp+96]
    00410191cmp rax, [rbp+88]
    00410195jge 0x4101ba
    00410197mov rax, [rbp+120]
    0041019bmov rcx, [rbp+96]
    0041019fimul rcx, [rbp+72]
    004101a4lea rcx, [rax+rcx+16]
    004101a9mov rdx, [rbp+104]
    004101admov r8, [rbp+88]
    004101b1sub r8, [rbp+96]
    004101b5call fn_40f8f0
    004101ba
    004101baloc_4101ba:
    004101bamov rcx, [rbp+120]
    004101becall fn_405730
    004101c3jmp 0x41020e
    004101c5
    004101c5loc_4101c5:
    004101c5mov rax, [rbp+96]
    004101c9cmp rax, [rbp+88]
    004101cdjge 0x4101f2
    004101cfmov rax, [rbp+120]
    004101d3mov rcx, [rbp+96]
    004101d7imul rcx, [rbp+72]
    004101dclea rcx, [rax+rcx+16]
    004101e1mov rdx, [rbp+104]
    004101e5mov r8, [rbp+88]
    004101e9sub r8, [rbp+96]
    004101edcall fn_40f8f0
    004101f2
    004101f2loc_4101f2:
    004101f2lea rcx, [rbp+48]
    004101f6mov rdx, [rbp+56]
    004101facall fn_405760
    004101ffjmp 0x41020e
    00410201
    00410201loc_410201:
    00410201lea rcx, [rbp+48]
    00410205mov rdx, [rbp+56]
    00410209call fn_405760
    0041020e
    0041020eloc_41020e:
    0041020emov rax, [rbp+48]
    00410212mov [rbp+120], rax
    00410216jmp 0x4102b6
    0041021b
    0041021bloc_41021b:
    0041021bmov rcx, [rbp+56]
    0041021fcall fn_405700
    00410224mov [rbp+120], rax
    00410228mov rax, [rbp+88]
    0041022cmov [rbp+80], rax
    00410230mov rax, [rbp+80]
    00410234cmp rax, [rbp+96]
    00410238jle 0x410242
    0041023amov rax, [rbp+96]
    0041023emov [rbp+80], rax
    00410242
    00410242loc_410242:
    00410242cmp [rbp+104], 0
    00410247je 0x410283
    00410249mov rax, [rbp+120]
    0041024dlea rcx, [rax+16]
    00410251mov rdx, [rbp+80]
    00410255imul rdx, [rbp+72]
    0041025axor r8, r8
    0041025dcall fn_4069b0
    00410262mov rax, [rbp+120]
    00410266lea rcx, [rax+16]
    0041026amov rax, [rbp+176]
    00410271mov rdx, [rax]
    00410274mov r8, [rbp+104]
    00410278mov r9, [rbp+80]
    0041027ccall fn_40f580
    00410281jmp 0x4102a3
    00410283
    00410283loc_410283:
    00410283mov rax, [rbp+176]
    0041028amov rcx, [rax]
    0041028dmov rax, [rbp+120]
    00410291lea rdx, [rax+16]
    00410295mov r8, [rbp+80]
    00410299imul r8, [rbp+72]
    0041029ecall fn_405ac0
    004102a3
    004102a3loc_4102a3:
    004102a3mov rcx, [rbp+176]
    004102aamov rdx, [rbp+184]
    004102b1call fn_410600
    004102b6
    004102b6loc_4102b6:
    004102b6mov rax, [rbp+120]
    004102bamov [rax+4], 1
    004102c1mov rcx, [rbp+96]
    004102c5mov [rax+8], rcx
    004102c9add [rbp+120], 16
    004102cemov rax, [rbp+96]
    004102d2cmp rax, [rbp+88]
    004102d6jle 0x410337
    004102d8mov rax, [rbp+120]
    004102dcmov rcx, [rbp+72]
    004102e0imul rcx, [rbp+88]
    004102e5lea rcx, [rax+rcx]
    004102e9mov rax, [rbp+96]
    004102edsub rax, [rbp+88]
    004102f1mov rdx, [rbp+72]
    004102f5imul rdx, rax
    004102f9xor r8, r8
    004102fccall fn_4069b0
    00410301cmp [rbp+104], 0
    00410306je 0x410337
    00410308mov rcx, [rbp+104]
    0041030ccall fn_40e530
    00410311test al, al
    00410313je 0x410337
    00410315mov rax, [rbp+120]
    00410319mov rcx, [rbp+88]
    0041031dimul rcx, [rbp+72]
    00410322lea rcx, [rax+rcx]
    00410326mov rdx, [rbp+104]
    0041032amov r8, [rbp+96]
    0041032esub r8, [rbp+88]
    00410332call fn_40fa60
    00410337
    00410337loc_410337:
    00410337cmp [rbp+192], 1
    0041033fjle 0x4103fb
    00410345add [rbp+200], 8
    0041034dsub [rbp+192], 1
    00410355mov [rbp+128], 0
    00410360nop
    00410361jmp 0x410391
    00410363
    00410363loc_410363:
    00410363mov rax, [rbp+120]
    00410367mov rcx, [rbp+128]
    0041036elea rcx, [rax+8*rcx]
    00410372mov rdx, [rbp+104]
    00410376mov r8, [rbp+192]
    0041037dmov r9, [rbp+200]
    00410384call fn_40ffe0
    00410389add [rbp+128], 1
    00410391
    00410391loc_410391:
    00410391mov rax, [rbp+128]
    00410398cmp rax, [rbp+96]
    0041039cjl 0x410363
    0041039ejmp 0x4103fb
    004103a0
    004103a0 90 90 33 c0 48 8b 9d 80 00 00 00 48 89 45 70 48 ..3.H......H.EpH
    004103b0 39 5d 70 7f 2a 48 2b d8 48 83 c3 01 48 8b 45 78 9]p.*H+.H...H.Ex
    004103c0 48 8b 4d 70 48 8d 0c c8 48 8b 55 68 e8 2f 02 00 H.MpH...H.Uh./..
    004103d0 00 48 83 45 70 01 48 83 eb 01 48 85 db 75 dd 90 .H.Ep.H...H..u..
    004103e0 48 8d 4d 78 48 8b 95 b8 00 00 00 e8 10 02 00 00 H.MxH...........
    004103f0 e8 1b ac ff ff e8 26 ad ff ff 90 ......&....
    004103fb
    004103fbloc_4103fb:
    004103fbmov rax, [rbp+176]
    00410402mov rcx, [rbp+120]
    00410406mov [rax], rcx
    00410409
    00410409loc_410409:
    00410409lea rsp, [rbp+152]
    00410410pop rbx
    00410411pop rbp
    00410412ret
    0040ffe0
    00410413
    00410413 48 8d 44 20 00 48 8d 04 05 00 00 00 00 H.D .H.......
    00410420
    00410420fn_410420:
    00410420sub rsp, 40
    00410424call fn_40b050
    00410429add rsp, 40
    0041042dret
    00410420
    0041042e
    0041042e // align 0x10
    00410430
    00410430fn_410430:
    00410430push rbp
    00410431push rbx
    00410432sub rsp, 40
    00410436mov rbp, rsp
    00410439mov [rbp+88], r9
    0041043dmov [rbp+64], rcx
    00410441mov [rbp+72], rdx
    00410445mov [rbp+80], r8
    00410449lea rbx, [rbp+88]
    0041044dmov rcx, [rbp+64]
    00410451mov rdx, [rbp+72]
    00410455mov r8, [rbp+80]
    00410459mov r9, rbx
    0041045ccall fn_40ffe0
    00410461lea rsp, [rbp+40]
    00410465pop rbx
    00410466pop rbp
    00410467ret
    00410430
    00410468
    00410468 // align 0x10
    00410470
    00410470fn_410470:
    00410470sub rsp, 40
    00410474test rdx, rdx
    00410477je 0x410492
    00410479mov rax, rdx
    0041047cxor r9, r9
    0041047fmov rdx, [rdx-8]
    00410483mov [rsp+32], rdx
    00410488mov rdx, rax
    0041048bcall fn_4104a0
    00410490jmp 0x41049a
    00410492
    00410492loc_410492:
    00410492mov rdx, r8
    00410495call fn_410600
    0041049a
    0041049aloc_41049a:
    0041049aadd rsp, 40
    0041049eret
    00410470
    0041049f
    0041049f // align 0x10
    004104a0
    004104a0fn_4104a0:
    004104a0push r14
    004104a2push r13
    004104a4push rdi
    004104a5push rsi
    004104a6push rbx
    004104a7sub rsp, 48
    004104abmov [rsp+32], rdx
    004104b0mov [rsp+40], r8
    004104b5mov rbx, r9
    004104b8mov [rsp+96], rcx
    004104bdxor edi, edi
    004104bfmov rax, [rsp+32]
    004104c4test rax, rax
    004104c7je 0x4105d6
    004104cdmov rsi, [rsp+40]
    004104d2test rbx, rbx
    004104d5jge 0x4104e1
    004104d7add [rsp+128], rbx
    004104dfxor ebx, ebx
    004104e1
    004104e1loc_4104e1:
    004104e1mov rax, [rsp+32]
    004104e6mov rax, [rax-8]
    004104eacmp rbx, rax
    004104edjle 0x4104f2
    004104efmov rbx, rax
    004104f2
    004104f2loc_4104f2:
    004104f2sub rax, rbx
    004104f5cmp [rsp+128], rax
    004104fdjle 0x410507
    004104ffmov [rsp+128], rax
    00410507
    00410507loc_410507:
    00410507cmp [rsp+128], 0
    00410510jge 0x41051e
    00410512mov [rsp+128], 0
    0041051e
    0041051eloc_41051e:
    0041051ecmp [rsp+128], 0
    00410527jle 0x4105d6
    0041052dmovzx rax, [rsi+1]
    00410532add rsi, rax
    00410535mov eax, [rsi+2]
    00410538mov rcx, [rsi+6]
    0041053ctest rcx, rcx
    0041053fje 0x410546
    00410541mov rsi, [rcx]
    00410544jmp 0x410548
    00410546
    00410546loc_410546:
    00410546xor esi, esi
    00410548
    00410548loc_410548:
    00410548movsxd r13, eax
    0041054bmov r14, [rsp+128]
    00410553imul r14, r13
    00410557lea rcx, [r14+16]
    0041055bcall fn_405700
    00410560mov rdi, rax
    00410563mov rax, rdi
    00410566mov [rax+4], 1
    0041056dmov rcx, [rsp+128]
    00410575mov [rax+8], rcx
    00410579add rdi, 16
    0041057dimul rbx, r13
    00410581mov rax, [rsp+32]
    00410586add rax, rbx
    00410589mov [rsp+32], rax
    0041058ecmp [rsp+128], 0
    00410597jle 0x4105d6
    00410599test rsi, rsi
    0041059cje 0x4105c6
    0041059emov rcx, rdi
    004105a1mov rdx, r14
    004105a4xor r8, r8
    004105a7call fn_4069b0
    004105acmov rcx, rdi
    004105afmov rdx, [rsp+32]
    004105b4mov r8, rsi
    004105b7mov r9, [rsp+128]
    004105bfcall fn_40f580
    004105c4jmp 0x4105d6
    004105c6
    004105c6loc_4105c6:
    004105c6mov rcx, [rsp+32]
    004105cbmov rdx, rdi
    004105cemov r8, r14
    004105d1call fn_405ac0
    004105d6
    004105d6loc_4105d6:
    004105d6mov rcx, [rsp+96]
    004105dbmov rdx, [rsp+40]
    004105e0call fn_410600
    004105e5mov rax, [rsp+96]
    004105eamov [rax], rdi
    004105edadd rsp, 48
    004105f1pop rbx
    004105f2pop rsi
    004105f3pop rdi
    004105f4pop r13
    004105f6pop r14
    004105f8ret
    004104a0
    004105f9
    004105f9 // align 0x10
    00410600
    00410600fn_410600:
    00410600push rsi
    00410601push rbx
    00410602sub rsp, 40
    00410606mov rbx, rcx
    00410609mov rax, rdx
    0041060cmov rsi, [rbx]
    0041060ftest rsi, rsi
    00410612je 0x410672
    00410614mov [rbx], 0
    0041061bmov rcx, rsi
    0041061ecmp [rcx-12], 0
    00410622jle 0x410672
    00410624or r8l, -1
    00410628mov edx, r8l
    0041062block xadd [rcx-12], r8l
    00410631add edx, r8l
    00410634test edx, edx
    00410636jne 0x410672
    00410638movzx rdx, [rax+1]
    0041063dadd rax, rdx
    00410640mov rax, [rax+6]
    00410644test rax, rax
    00410647je 0x410666
    00410649mov rcx, [rcx-8]
    0041064dtest rcx, rcx
    00410650je 0x410666
    00410652mov rax, [rax]
    00410655mov rdx, rsi
    00410658mov r8, rcx
    0041065bmov rcx, rdx
    0041065emov rdx, rax
    00410661call fn_40ec40
    00410666
    00410666loc_410666:
    00410666sub rsi, 16
    0041066amov rcx, rsi
    0041066dcall fn_405730
    00410672
    00410672loc_410672:
    00410672mov rax, rbx
    00410675add rsp, 40
    00410679pop rbx
    0041067apop rsi
    0041067bret
    00410600
    0041067c
    0041067c // align 0x10
    00410680
    00410680fn_410680:
    00410680push rdi
    00410681push rsi
    00410682push rbx
    00410683sub rsp, 32
    00410687mov rbx, rcx
    0041068amov rsi, rdx
    0041068dmov rdi, r8
    00410690test rsi, rsi
    00410693je 0x4106ab
    00410695cmp [rsi-12], 0
    00410699jge 0x4106ab
    0041069bmov rcx, rbx
    0041069emov rdx, rsi
    004106a1mov r8, rdi
    004106a4call fn_410470
    004106a9jmp 0x4106c1
    004106ab
    004106abloc_4106ab:
    004106abmov rcx, rsi
    004106aecall fn_4106d0
    004106b3mov rcx, rbx
    004106b6mov rdx, rdi
    004106b9call fn_410600
    004106bemov [rbx], rsi
    004106c1
    004106c1loc_4106c1:
    004106c1add rsp, 32
    004106c5pop rbx
    004106c6pop rsi
    004106c7pop rdi
    004106c8ret
    00410680
    004106c9
    004106c9 // align 0x10
    004106d0
    004106d0fn_4106d0:
    004106d0test rcx, rcx
    004106d3je 0x4106e5
    004106d5cmp [rcx-12], 0
    004106d9jl 0x4106e5
    004106dbmov eax, 1
    004106e0lock xadd [rcx-12], eax
    004106e5
    004106e5loc_4106e5:
    004106e5ret
    004106d0
    004106e6
    004106e6 // align 0x10
    004106f0
    004106f0fn_4106f0:
    004106f0push rbp
    004106f1push r14
    004106f3push r13
    004106f5push rdi
    004106f6push rsi
    004106f7push rbx
    004106f8sub rsp, 88
    004106fcmov rbp, rsp
    004106ffmov [rbp+40], rcx
    00410703mov [rbp+48], rdx
    00410707mov [rbp+56], r8
    0041070bmov rbx, r9
    0041070emov rax, [rbp+48]
    00410712cmp [rax], 0
    00410716jne 0x41071c
    00410718xor esi, esi
    0041071ajmp 0x410727
    0041071c
    0041071cloc_41071c:
    0041071cmov rax, [rbp+48]
    00410720mov rax, [rax]
    00410723mov rsi, [rax-8]
    00410727
    00410727loc_410727:
    00410727mov rax, [rbp+56]
    0041072btest rax, rax
    0041072ejge 0x410738
    00410730xor eax, eax
    00410732mov [rbp+56], rax
    00410736jmp 0x41074c
    00410738
    00410738loc_410738:
    00410738mov rax, [rbp+56]
    0041073ccmp rax, rsi
    0041073fmov [rbp+56], rax
    00410743jle 0x41074c
    00410745mov rax, rsi
    00410748mov [rbp+56], rax
    0041074c
    0041074cloc_41074c:
    0041074cmov rax, rbx
    0041074fmovzx rcx, [rax+1]
    00410754lea r13, [rax+rcx]
    00410758movsxd r14, [r13+2]
    0041075cmov rax, [r13+6]
    00410760test rax, rax
    00410763je 0x41076a
    00410765mov r13, [rax]
    00410768jmp 0x41076d
    0041076a
    0041076aloc_41076a:
    0041076axor r13, r13
    0041076d
    0041076dloc_41076d:
    0041076dlea rdi, [rsi+1]
    00410771test rdi, rdi
    00410774jge 0x41077b
    00410776call fn_4085f0
    0041077b
    0041077bloc_41077b:
    0041077bmov [rbp+72], rdi
    0041077fmov rcx, [rbp+48]
    00410783mov rdx, rbx
    00410786mov r8l, 1
    0041078clea r9, [rbp+72]
    00410790call fn_40ffe0
    00410795mov rax, [rbp+56]
    00410799cmp rax, rsi
    0041079cmov [rbp+56], rax
    004107a0jge 0x41084d
    004107a6test r13, r13
    004107a9je 0x410810
    004107abmov rax, [rbp+48]
    004107afmov rax, [rax]
    004107b2mov rcx, rsi
    004107b5imul rcx, r14
    004107b9lea rbx, [rax+rcx]
    004107bdmov rax, [rbp+48]
    004107c1mov rax, [rax]
    004107c4lea rcx, [rsi+1]
    004107c8imul rcx, r14
    004107cclea rdi, [rax+rcx]
    004107d0mov rcx, [rbp+56]
    004107d4lea rsi, [rsi-1]
    004107d8mov rax, rcx
    004107dbcmp rax, rsi
    004107dejg 0x41080d
    004107e0sub rsi, rcx
    004107e3add rsi, 1
    004107e7
    004107e7loc_4107e7:
    004107e7mov rax, r14
    004107easub rdi, rax
    004107edsub rbx, rax
    004107f0mov rcx, rdi
    004107f3mov rdx, rbx
    004107f6mov r8, r13
    004107f9mov r9l, 1
    004107ffcall fn_40f580
    00410804sub rsi, 1
    00410808test rsi, rsi
    0041080bjne 0x4107e7
    0041080d
    0041080dloc_41080d:
    0041080dnop
    0041080ejmp 0x41084d
    00410810
    00410810loc_410810:
    00410810mov rax, [rbp+48]
    00410814mov rax, [rax]
    00410817mov rcx, [rbp+56]
    0041081bimul rcx, r14
    0041081flea rcx, [rax+rcx]
    00410823mov rax, [rbp+48]
    00410827mov rax, [rax]
    0041082amov rdx, [rbp+56]
    0041082elea rdx, [rdx+1]
    00410832imul rdx, r14
    00410836lea rdx, [rax+rdx]
    0041083amov r8, rsi
    0041083dmov rax, [rbp+56]
    00410841sub r8, rax
    00410844imul r8, r14
    00410848call fn_405ac0
    0041084d
    0041084dloc_41084d:
    0041084dtest r13, r13
    00410850je 0x41087f
    00410852mov rax, [rbp+48]
    00410856mov rax, [rax]
    00410859mov rcx, [rbp+56]
    0041085dimul rcx, r14
    00410861lea rax, [rax+rcx]
    00410865mov rcx, rax
    00410868mov rdx, [rbp+40]
    0041086cmov r8, r13
    0041086fmov r9l, 1
    00410875call fn_40f580
    0041087ajmp 0x410915
    0041087f
    0041087floc_41087f:
    0041087fcmp r14, 8
    00410883jne 0x41089d
    00410885mov rax, [rbp+48]
    00410889mov rax, [rax]
    0041088cmov rcx, [rbp+40]
    00410890mov rcx, [rcx]
    00410893mov rdx, [rbp+56]
    00410897mov [rax+8*rdx], rcx
    0041089bjmp 0x410915
    0041089d
    0041089dloc_41089d:
    0041089dcmp r14, 4
    004108a1jne 0x4108b9
    004108a3mov rax, [rbp+48]
    004108a7mov rax, [rax]
    004108aamov rcx, [rbp+40]
    004108aemov ecx, [rcx]
    004108b0mov rdx, [rbp+56]
    004108b4mov [rax+4*rdx], ecx
    004108b7jmp 0x410915
    004108b9
    004108b9loc_4108b9:
    004108b9cmp r14, 2
    004108bdjne 0x4108d8
    004108bfmov rax, [rbp+48]
    004108c3mov rax, [rax]
    004108c6mov rcx, [rbp+40]
    004108camovzx rcx, [rcx]
    004108cemov rdx, [rbp+56]
    004108d2mov [rax+2*rdx], cx
    004108d6jmp 0x410915
    004108d8
    004108d8loc_4108d8:
    004108d8cmp r14, 1
    004108dcjne 0x4108f6
    004108demov rax, [rbp+48]
    004108e2mov rax, [rax]
    004108e5mov rcx, [rbp+40]
    004108e9movzx rcx, [rcx]
    004108edmov rdx, [rbp+56]
    004108f1mov [rax+rdx], cl
    004108f4jmp 0x410915
    004108f6
    004108f6loc_4108f6:
    004108f6mov rcx, [rbp+40]
    004108famov rax, [rbp+48]
    004108femov rax, [rax]
    00410901mov rdx, [rbp+56]
    00410905imul rdx, r14
    00410909lea rdx, [rax+rdx]
    0041090dmov r8, r14
    00410910call fn_405ac0
    00410915
    00410915loc_410915:
    00410915lea rsp, [rbp+88]
    00410919pop rbx
    0041091apop rsi
    0041091bpop rdi
    0041091cpop r13
    0041091epop r14
    00410920pop rbp
    00410921ret
    004106f0
    00410922
    00410922 // align 0x10
    00410930
    00410930fn_410930:
    00410930push rbp
    00410931push rbx
    00410932sub rsp, 568
    00410939mov rbp, rsp
    0041093cmov rbx, rcx
    0041093fcmp [rbx+32], 0
    00410944jne 0x410977
    00410946mov rcx, [rbx+8]
    0041094alea rdx, [rbp+38]
    0041094emov r8l, 261
    00410954call GetModuleFileNameW
    00410959lea rcx, [rbp+38]
    0041095dmov dl, 1
    0041095fcall fn_412170
    00410964mov [rbx+32], rax
    00410968cmp [rbx+32], 0
    0041096djne 0x410977
    0041096fmov rax, [rbx+8]
    00410973mov [rbx+32], rax
    00410977
    00410977loc_410977:
    00410977mov rax, [rbx+32]
    0041097blea rsp, [rbp+568]
    00410982pop rbx
    00410983pop rbp
    00410984ret
    00410930
    00410985
    00410985 // align 0x10
    00410990
    00410990fn_410990:
    00410990sub rsp, 40
    00410994mov rax, [rip+0x486b5]
    0041099btest rax, rax
    0041099eje 0x4109c4
    004109a0
    004109a0loc_4109a0:
    004109a0cmp rcx, [rax+8]
    004109a4je 0x4109b2
    004109a6cmp rcx, [rax+16]
    004109aaje 0x4109b2
    004109accmp rcx, [rax+24]
    004109b0jne 0x4109bc
    004109b2
    004109b2loc_4109b2:
    004109b2mov rcx, rax
    004109b5call fn_410930
    004109bajmp 0x4109c8
    004109bc
    004109bcloc_4109bc:
    004109bcmov rax, [rax]
    004109bftest rax, rax
    004109c2jne 0x4109a0
    004109c4
    004109c4loc_4109c4:
    004109c4nop
    004109c5mov rax, rcx
    004109c8
    004109c8loc_4109c8:
    004109c8add rsp, 40
    004109ccret
    00410990
    004109cd
    004109cd 7a 68 2d zh-
    004109d0 54 57 2c 7a 68 2d 48 61 6e 74 2c 7a 68 00 65 73 TW,zh-Hant,zh.es
    004109e0 2d 45 53 5f 74 72 61 64 6e 6c 00 6e 62 2d 4e 4f -ES_tradnl.nb-NO
    004109f0 2c 6e 62 2c 6e 6f 00 74 67 2d 43 79 72 6c 2d 54 ,nb,no.tg-Cyrl-T
    00410a00 4a 00 61 7a 2d 4c 61 74 6e 2d 41 5a 00 75 7a 2d J.az-Latn-AZ.uz-
    00410a10 4c 61 74 6e 2d 55 5a 00 6d 6e 2d 4d 4e 2c 6d 6e Latn-UZ.mn-MN,mn
    00410a20 2d 43 79 72 6c 2c 6d 6e 00 69 75 2d 43 61 6e 73 -Cyrl,mn.iu-Cans
    00410a30 2d 43 41 00 68 61 2d 4c 61 74 6e 2d 4e 47 00 71 -CA.ha-Latn-NG.q
    00410a40 70 73 2d 70 6c 6f 63 2c 65 6e 00 71 70 73 2d 70 ps-ploc,en.qps-p
    00410a50 6c 6f 63 61 2c 6a 61 00 7a 68 2d 43 4e 2c 7a 68 loca,ja.zh-CN,zh
    00410a60 2d 48 61 6e 73 2c 7a 68 00 6e 6e 2d 4e 4f 2c 6e -Hans,zh.nn-NO,n
    00410a70 6e 2c 6e 6f 00 73 72 2d 4c 61 74 6e 2d 43 53 00 n,no.sr-Latn-CS.
    00410a80 61 7a 2d 43 79 72 6c 2d 41 5a 00 64 73 62 2d 44 az-Cyrl-AZ.dsb-D
    00410a90 45 2c 64 73 62 2c 68 73 62 00 75 7a 2d 43 79 72 E,dsb,hsb.uz-Cyr
    00410aa0 6c 2d 55 5a 00 6d 6e 2d 4d 6f 6e 67 2d 43 4e 00 l-UZ.mn-Mong-CN.
    00410ab0 69 75 2d 4c 61 74 6e 2d 43 41 00 74 7a 6d 2d 4c iu-Latn-CA.tzm-L
    00410ac0 61 74 6e 2d 44 5a 00 71 70 73 2d 70 6c 6f 63 6d atn-DZ.qps-plocm
    00410ad0 2c 61 72 00 7a 68 2d 48 4b 2c 7a 68 2d 48 61 6e ,ar.zh-HK,zh-Han
    00410ae0 74 2c 7a 68 00 73 72 2d 43 79 72 6c 2d 43 53 00 t,zh.sr-Cyrl-CS.
    00410af0 7a 68 2d 53 47 2c 7a 68 2d 48 61 6e 73 2c 7a 68 zh-SG,zh-Hans,zh
    00410b00 00 73 6d 6a 2d 4e 4f 2c 73 6d 6a 2c 73 65 00 7a .smj-NO,smj,se.z
    00410b10 68 2d 4d 4f 2c 7a 68 2d 48 61 6e 74 2c 7a 68 00 h-MO,zh-Hant,zh.
    00410b20 62 73 2d 4c 61 74 6e 2d 42 41 00 73 6d 6a 2d 53 bs-Latn-BA.smj-S
    00410b30 45 2c 73 6d 6a 2c 73 65 00 73 72 2d 4c 61 74 6e E,smj,se.sr-Latn
    00410b40 2d 42 41 00 73 6d 61 2d 4e 4f 2c 73 6d 61 2c 73 -BA.sma-NO,sma,s
    00410b50 65 00 73 72 2d 43 79 72 6c 2d 42 41 00 73 6d 61 e.sr-Cyrl-BA.sma
    00410b60 2d 53 45 2c 73 6d 61 2c 73 65 00 62 73 2d 43 79 -SE,sma,se.bs-Cy
    00410b70 72 6c 2d 42 41 00 73 6d 73 2d 46 49 2c 73 6d 73 rl-BA.sms-FI,sms
    00410b80 2c 73 65 00 73 72 2d 4c 61 74 6e 2d 52 53 00 73 ,se.sr-Latn-RS.s
    00410b90 6d 6e 2d 46 49 2c 73 6d 6e 2c 73 65 00 73 72 2d mn-FI,smn,se.sr-
    00410ba0 43 79 72 6c 2d 52 53 00 73 72 2d 4c 61 74 6e 2d Cyrl-RS.sr-Latn-
    00410bb0 4d 45 00 73 72 2d 43 79 72 6c 2d 4d 45 00 cc cc ME.sr-Cyrl-ME...
    00410bc0
    00410bc0fn_410bc0:
    00410bc0sub rsp, 40
    00410bc4lea rcx, [rip+0x59325]
    00410bcbcall InitializeCriticalSection
    00410bd0mov [rip+0x5933f], 127
    00410bd9call GetVersion
    00410bdeand eax, 255
    00410be4cmp eax, 6
    00410be7setae al
    00410beamov [rip+0x592f8], al
    00410bf0cmp [rip+0x592f1], 0
    00410bf7je 0x410c5f
    00410bf9lea rcx, [rip+100]
    00410c00call GetModuleHandleW
    00410c05mov rcx, rax
    00410c08lea rdx, [rip+111]
    00410c0fcall GetProcAddress
    00410c14mov [rip+0x592b5], rax
    00410c1blea rcx, [rip+66]
    00410c22call GetModuleHandleW
    00410c27mov rcx, rax
    00410c2alea rdx, [rip+107]
    00410c31call GetProcAddress
    00410c36mov [rip+0x5929b], rax
    00410c3dlea rcx, [rip+32]
    00410c44call GetModuleHandleW
    00410c49mov rcx, rax
    00410c4clea rdx, [rip+103]
    00410c53call GetProcAddress
    00410c58mov [rip+0x59281], rax
    00410c5f
    00410c5floc_410c5f:
    00410c5fadd rsp, 40
    00410c63ret
    00410bc0
    00410c64
    00410c64 6b 00 65 00 72 00 6e 00 65 00 6c 00 k.e.r.n.e.l.
    00410c70 33 00 32 00 2e 00 64 00 6c 00 6c 00 00 00 47 65 3.2...d.l.l...Ge
    00410c80 74 54 68 72 65 61 64 50 72 65 66 65 72 72 65 64 tThreadPreferred
    00410c90 55 49 4c 61 6e 67 75 61 67 65 73 00 53 65 74 54 UILanguages.SetT
    00410ca0 68 72 65 61 64 50 72 65 66 65 72 72 65 64 55 49 hreadPreferredUI
    00410cb0 4c 61 6e 67 75 61 67 65 73 00 47 65 74 54 68 72 Languages.GetThr
    00410cc0 65 61 64 55 49 4c 61 6e 67 75 61 67 65 00 cc cc eadUILanguage...
    00410cd0
    00410cd0fn_410cd0:
    00410cd0sub rsp, 40
    00410cd4lea rcx, [rip+0x59215]
    00410cdbcall DeleteCriticalSection
    00410ce0add rsp, 40
    00410ce4ret
    00410cd0
    00410ce5
    00410ce5 // align 0x10
    00410cf0
    00410cf0fn_410cf0:
    00410cf0test edx, edx
    00410cf2jne 0x410cfb
    00410cf4mov [rcx], 0
    00410cf9jmp 0x410d25
    00410cfb
    00410cfbloc_410cfb:
    00410cfbtest edx, edx
    00410cfdjle 0x410d1a
    00410cff
    00410cffloc_410cff:
    00410cffmovzx rax, [r8]
    00410d03mov [rcx], ax
    00410d06test ax, ax
    00410d09je 0x410d25
    00410d0badd rcx, 2
    00410d0fadd r8, 2
    00410d13sub edx, 1
    00410d16test edx, edx
    00410d18jg 0x410cff
    00410d1a
    00410d1aloc_410d1a:
    00410d1anop
    00410d1btest edx, edx
    00410d1djne 0x410d25
    00410d1fmov [rcx-2], 0
    00410d25
    00410d25loc_410d25:
    00410d25ret
    00410cf0
    00410d26
    00410d26 // align 0x10
    00410d30
    00410d30fn_410d30:
    00410d30push rbp
    00410d31sub rsp, 48
    00410d35mov rbp, rsp
    00410d38mov [rbp+72], rdx
    00410d3cmov rcx, [rbp+72]
    00410d40call fn_40bec0
    00410d45nop
    00410d46xor eax, eax
    00410d48mov rcx, [rbp+72]
    00410d4ctest rcx, rcx
    00410d4fje 0x410d54
    00410d51mov eax, [rcx-4]
    00410d54
    00410d54loc_410d54:
    00410d54cmp eax, 1
    00410d57jl 0x410d77
    00410d59
    00410d59loc_410d59:
    00410d59mov rcx, [rbp+72]
    00410d5dmovsxd rdx, eax
    00410d60cmp [rcx+2*rdx-2], 45
    00410d66jne 0x410d70
    00410d68sub eax, 1
    00410d6bmov [rbp+44], eax
    00410d6ejmp 0x410d7e
    00410d70
    00410d70loc_410d70:
    00410d70sub eax, 1
    00410d73test eax, eax
    00410d75jne 0x410d59
    00410d77
    00410d77loc_410d77:
    00410d77nop
    00410d78xor eax, eax
    00410d7amov [rbp+44], eax
    00410d7dnop
    00410d7e
    00410d7eloc_410d7e:
    00410d7elea rcx, [rbp+72]
    00410d82call fn_40bcf0
    00410d87mov eax, [rbp+44]
    00410d8alea rsp, [rbp+48]
    00410d8epop rbp
    00410d8fret
    00410d30
    00410d90
    00410d90fn_410d90:
    00410d90push rbp
    00410d91sub rsp, 32
    00410d95mov rbp, rsp
    00410d98lea rcx, [rdx+72]
    00410d9ccall fn_40bcf0
    00410da1lea rsp, [rbp+32]
    00410da5pop rbp
    00410da6ret
    00410d90
    00410da7
    00410da7 // align 0x10
    00410db0
    00410db0fn_410db0:
    00410db0push rbp
    00410db1sub rsp, 96
    00410db5mov rbp, rsp
    00410db8mov [rbp+48], rcx
    00410dbcmov [rbp+56], rdx
    00410dc0mov [rbp+64], r8
    00410dc4mov [rbp+72], 0
    00410dccmov [rbp+88], 0
    00410dd4mov [rbp+80], 0
    00410ddcnop
    00410dddmov rcx, [rbp+56]
    00410de1mov rdx, [rbp+64]
    00410de5call fn_40d750
    00410deaxor eax, eax
    00410decmov rcx, [rbp+56]
    00410df0mov rcx, [rcx]
    00410df3test rcx, rcx
    00410df6je 0x410dfb
    00410df8mov eax, [rcx-4]
    00410dfb
    00410dfbloc_410dfb:
    00410dfbmov ecx, 1
    00410e00mov edx, eax
    00410e02mov eax, ecx
    00410e04cmp eax, edx
    00410e06jg 0x410e2e
    00410e08sub edx, ecx
    00410e0aadd edx, 1
    00410e0d
    00410e0dloc_410e0d:
    00410e0dmov rcx, [rbp+56]
    00410e11mov rcx, [rcx]
    00410e14movsxd r8, eax
    00410e17cmp [rcx+2*r8-2], 44
    00410e1eje 0x410eb4
    00410e24add eax, 1
    00410e27sub edx, 1
    00410e2atest edx, edx
    00410e2cjne 0x410e0d
    00410e2e
    00410e2eloc_410e2e:
    00410e2enop
    00410e2flea rcx, [rbp+80]
    00410e33mov rax, [rbp+56]
    00410e37mov rdx, [rax]
    00410e3acall fn_40c3e0
    00410e3fmov rcx, [rbp+56]
    00410e43call fn_40bcf0
    00410e48jmp 0x410eac
    00410e4a
    00410e4aloc_410e4a:
    00410e4amov rcx, [rbp+56]
    00410e4emov edx, 3
    00410e53mov rax, [rbp+56]
    00410e57mov r8, [rax]
    00410e5amov r9, [rbp+88]
    00410e5emov rax, [rbp+80]
    00410e62mov [rsp+32], rax
    00410e67call fn_40dbb0
    00410e6clea rcx, [rbp+88]
    00410e70lea rdx, [rip+129]
    00410e77call fn_40c3e0
    00410e7cmov rcx, [rbp+48]
    00410e80mov rdx, [rbp+80]
    00410e84call fn_410d30
    00410e89lea rcx, [rbp+72]
    00410e8dmov rdx, [rbp+80]
    00410e91mov r8l, 1
    00410e97mov r9l, eax
    00410e9acall fn_40dca0
    00410e9flea rcx, [rbp+80]
    00410ea3mov rdx, [rbp+72]
    00410ea7call fn_40c3e0
    00410eac
    00410eacloc_410eac:
    00410eaccmp [rbp+80], 0
    00410eb1jne 0x410e4a
    00410eb3nop
    00410eb4
    00410eb4loc_410eb4:
    00410eb4lea rcx, [rbp+72]
    00410eb8mov edx, 3
    00410ebdcall fn_40bdd0
    00410ec2mov rax, [rbp+56]
    00410ec6lea rsp, [rbp+96]
    00410ecapop rbp
    00410ecbret
    00410db0
    00410ecc
    00410ecc 48 8d 40 00 H.@.
    00410ed0
    00410ed0fn_410ed0:
    00410ed0push rbp
    00410ed1sub rsp, 32
    00410ed5mov rbp, rsp
    00410ed8lea rcx, [rdx+72]
    00410edcmov edx, 3
    00410ee1call fn_40bdd0
    00410ee6lea rsp, [rbp+32]
    00410eeapop rbp
    00410eebret
    00410ed0
    00410eec
    00410eec b0 04 02 00 ....
    00410ef0 ff ff ff ff 01 00 00 00 2c 00 00 00 cc cc cc cc ........,.......
    00410f00
    00410f00fn_410f00:
    00410f00push rbp
    00410f01push rbx
    00410f02sub rsp, 472
    00410f09mov rbp, rsp
    00410f0cmov [rbp+64], rcx
    00410f10mov [rbp+72], rdx
    00410f14mov [rbp+86], r8w
    00410f19mov [rbp+104], 0
    00410f21mov [rbp+96], 0
    00410f29mov [rbp+88], 0
    00410f31nop
    00410f32mov rcx, [rbp+72]
    00410f36call fn_40bcf0
    00410f3bmovzx rax, [rbp+86]
    00410f40cmp [rip+0x4a949], ax
    00410f47ja 0x410fd6
    00410f4dmovzx rax, [rbp+86]
    00410f52cmp ax, [rip+0x4ad37]
    00410f59mov [rbp+86], ax
    00410f5dja 0x410fd6
    00410f5fmov eax, 64
    00410f64xor ecx, ecx
    00410f66cmp eax, ecx
    00410f68jb 0x410fd5
    00410f6a
    00410f6aloc_410f6a:
    00410f6amov edx, eax
    00410f6cadd edx, ecx
    00410f6eshr edx, 1
    00410f71mov r8l, edx
    00410f74lea r9, [rip+0x4a915]
    00410f7bmov r10, r8
    00410f7eadd r10, r10
    00410f81movzx r11, [rbp+86]
    00410f86cmp [r9+8*r10], r11w
    00410f8bjbe 0x410f94
    00410f8dmov eax, edx
    00410f8fsub eax, 1
    00410f92jmp 0x410fd1
    00410f94
    00410f94loc_410f94:
    00410f94lea rcx, [rip+0x4a8f5]
    00410f9bmov r9, r8
    00410f9eadd r9, r9
    00410fa1movzx r10, [rbp+86]
    00410fa6cmp [rcx+8*r9], r10w
    00410fabjae 0x410fb4
    00410fadmov ecx, edx
    00410fafadd ecx, 1
    00410fb2jmp 0x410fd1
    00410fb4
    00410fb4loc_410fb4:
    00410fb4mov rcx, [rbp+64]
    00410fb8mov rdx, [rbp+72]
    00410fbclea rax, [rip+0x4a8d5]
    00410fc3add r8, r8
    00410fc6mov r8, [rax+8*r8]
    00410fcacall fn_410db0
    00410fcfjmp 0x410fd5
    00410fd1
    00410fd1loc_410fd1:
    00410fd1cmp eax, ecx
    00410fd3jae 0x410f6a
    00410fd5
    00410fd5loc_410fd5:
    00410fd5nop
    00410fd6
    00410fd6loc_410fd6:
    00410fd6mov rax, [rbp+72]
    00410fdacmp [rax], 0
    00410fdejne 0x4110ab
    00410fe4movzx rcx, [rbp+86]
    00410fe9movzx ecx, cx
    00410fecmov edx, 2
    00410ff1call IsValidLocale
    00410ff6test eax, eax
    00410ff8je 0x4110ab
    00410ffemovzx rbx, [rbp+86]
    00411003movzx ebx, bx
    00411006mov ecx, ebx
    00411008mov edx, 89
    0041100dlea r8, [rbp+294]
    00411014mov r9l, 85
    0041101acall GetLocaleInfoW
    0041101fmov ecx, ebx
    00411021mov edx, 90
    00411026lea r8, [rbp+124]
    0041102amov r9l, 85
    00411030call GetLocaleInfoW
    00411035lea rcx, [rbp+104]
    00411039lea rdx, [rbp+294]
    00411040mov r8l, 85
    00411046call fn_40d7b0
    0041104blea rcx, [rbp+96]
    0041104flea rdx, [rbp+124]
    00411053mov r8l, 85
    00411059call fn_40d7b0
    0041105elea rcx, [rbp+88]
    00411062lea rdx, [rbp+294]
    00411069mov r8l, 85
    0041106fcall fn_40d7b0
    00411074mov rcx, [rbp+72]
    00411078mov edx, 5
    0041107dmov r8, [rbp+104]
    00411081lea r9, [rip+112]
    00411088mov rax, [rbp+96]
    0041108cmov [rsp+32], rax
    00411091lea rax, [rip+112]
    00411098mov [rsp+40], rax
    0041109dmov rax, [rbp+88]
    004110a1mov [rsp+48], rax
    004110a6call fn_40dbb0
    004110ab
    004110abloc_4110ab:
    004110abnop
    004110aclea rcx, [rbp+88]
    004110b0mov edx, 3
    004110b5call fn_40bdd0
    004110bamov rax, [rbp+72]
    004110belea rsp, [rbp+472]
    004110c5pop rbx
    004110c6pop rbp
    004110c7ret
    00410f00
    004110c8
    004110c8 48 8d 04 05 00 00 00 00 H.......
    004110d0
    004110d0fn_4110d0:
    004110d0push rbp
    004110d1sub rsp, 32
    004110d5mov rbp, rsp
    004110d8lea rcx, [rdx+88]
    004110dcmov edx, 3
    004110e1call fn_40bdd0
    004110e6lea rsp, [rbp+32]
    004110eapop rbp
    004110ebret
    004110d0
    004110ec
    004110ec b0 04 02 00 ....
    004110f0 ff ff ff ff 01 00 00 00 2d 00 00 00 b0 04 02 00 ........-.......
    00411100 ff ff ff ff 01 00 00 00 2c 00 00 00 cc cc cc cc ........,.......
    00411110
    00411110fn_411110:
    00411110mov al, 1
    00411112test r9l, r9l
    00411115jle 0x411132
    00411117
    00411117loc_411117:
    00411117movzx rcx, [rdx]
    0041111bcmp cx, [r8]
    0041111fjne 0x411135
    00411121add rdx, 2
    00411125add r8, 2
    00411129sub r9l, 1
    0041112dtest r9l, r9l
    00411130jg 0x411117
    00411132
    00411132loc_411132:
    00411132nop
    00411133xor eax, eax
    00411135
    00411135loc_411135:
    00411135ret
    00411110
    00411136
    00411136 // align 0x10
    00411140
    00411140fn_411140:
    00411140push rbp
    00411141push rsi
    00411142push rbx
    00411143sub rsp, 48
    00411147mov rbp, rsp
    0041114amov rbx, rdx
    0041114dxor esi, esi
    0041114fmov [rbx], 0
    00411155mov ecx, 56
    0041115alea rdx, [rbp+44]
    0041115exor r8, r8
    00411161mov r9, rbx
    00411164call [rip+0x58d66]
    0041116atest al, al
    0041116cje 0x411192
    0041116emov ecx, [rbx]
    00411170add ecx, ecx
    00411172movsxd rcx, ecx
    00411175call fn_405700
    0041117amov rsi, rax
    0041117dmov ecx, 56
    00411182lea rdx, [rbp+44]
    00411186mov r8, rsi
    00411189mov r9, rbx
    0041118ccall [rip+0x58d3e]
    00411192
    00411192loc_411192:
    00411192mov rax, rsi
    00411195lea rsp, [rbp+48]
    00411199pop rbx
    0041119apop rsi
    0041119bpop rbp
    0041119cret
    00411140
    0041119d
    0041119d // align 0x10
    004111a0
    004111a0fn_4111a0:
    004111a0push rbp
    004111a1push r13
    004111a3push rdi
    004111a4push rsi
    004111a5push rbx
    004111a6sub rsp, 64
    004111aamov rbp, rsp
    004111admov rbx, rcx
    004111b0mov rsi, rdx
    004111b3mov edi, r8l
    004111b6xor r13, r13
    004111b9call [rip+0x58d21]
    004111bfcmp ax, di
    004111c2je 0x411230
    004111c4mov rcx, rbx
    004111c7lea rdx, [rbp+60]
    004111cbcall fn_411140
    004111d0mov r13, rax
    004111d3mov eax, edi
    004111d5mov [rbp+52], 3
    004111dclea rcx, [rbp+46]
    004111e0
    004111e0loc_4111e0:
    004111e0lea rdx, [rip+0x49d05]
    004111e7mov r8l, eax
    004111eaand r8w, 15
    004111efmovzx r8, r8w
    004111f3movzx dx, [rdx+r8]
    004111f9mov [rcx], dx
    004111fcmovzx eax, ax
    004111ffshr eax, 4
    00411202sub [rbp+52], 1
    00411206sub rcx, 2
    0041120acmp [rbp+52], -1
    0041120ejne 0x4111e0
    00411210nop
    00411211mov [rbp+48], 0
    00411217mov [rbp+50], 0
    0041121dmov ecx, 4
    00411222lea rdx, [rbp+40]
    00411226lea r8, [rbp+52]
    0041122acall [rip+0x58ca8]
    00411230
    00411230loc_411230:
    00411230mov rcx, rbx
    00411233lea rdx, [rbp+56]
    00411237call fn_411140
    0041123cmov rdi, rax
    0041123ftest rdi, rdi
    00411242je 0x411289
    00411244xor eax, eax
    00411246mov ecx, [rbp+56]
    00411249sub ecx, 2
    0041124cmov [rbp+52], eax
    0041124fcmp [rbp+52], ecx
    00411252jg 0x411275
    00411254sub ecx, eax
    00411256add ecx, 1
    00411259
    00411259loc_411259:
    00411259movsxd rax, [rbp+52]
    0041125dcmp [rdi+2*rax], 0
    00411262jne 0x41126a
    00411264mov [rdi+2*rax], 44
    0041126a
    0041126aloc_41126a:
    0041126aadd [rbp+52], 1
    0041126esub ecx, 1
    00411271test ecx, ecx
    00411273jne 0x411259
    00411275
    00411275loc_411275:
    00411275nop
    00411276mov rcx, rsi
    00411279mov rdx, rdi
    0041127ccall fn_40d780
    00411281mov rcx, rdi
    00411284call fn_405730
    00411289
    00411289loc_411289:
    00411289test r13, r13
    0041128cje 0x4112eb
    0041128exor ecx, ecx
    00411290xor edx, edx
    00411292lea r8, [rbp+52]
    00411296call [rip+0x58c3c]
    0041129cmov rcx, rbx
    0041129flea rdx, [rbp+56]
    004112a3call fn_411140
    004112a8mov rdi, rax
    004112abmov eax, [rbp+60]
    004112aecmp eax, [rbp+56]
    004112b1jne 0x4112c9
    004112b3mov rcx, rbx
    004112b6mov rdx, r13
    004112b9mov r8, rdi
    004112bcmov r9l, [rbp+56]
    004112c0call fn_411110
    004112c5test al, al
    004112c7je 0x4112db
    004112c9
    004112c9loc_4112c9:
    004112c9mov ecx, 8
    004112cemov rdx, r13
    004112d1lea r8, [rbp+52]
    004112d5call [rip+0x58bfd]
    004112db
    004112dbloc_4112db:
    004112dbmov rcx, rdi
    004112decall fn_405730
    004112e3mov rcx, r13
    004112e6call fn_405730
    004112eb
    004112ebloc_4112eb:
    004112ebmov rax, rsi
    004112eelea rsp, [rbp+64]
    004112f2pop rbx
    004112f3pop rsi
    004112f4pop rdi
    004112f5pop r13
    004112f7pop rbp
    004112f8ret
    004111a0
    004112f9
    004112f9 // align 0x10
    00411300
    00411300fn_411300:
    00411300push rbp
    00411301sub rsp, 80
    00411305mov rbp, rsp
    00411308mov [rbp+40], rcx
    0041130cmov [rbp+54], dx
    00411310mov [rbp+56], 0
    00411318mov [rbp+64], 0
    00411320mov [rbp+72], 0
    00411328nop
    00411329lea rcx, [rip+0x58bc0]
    00411330call EnterCriticalSection
    00411335movzx rax, [rbp+54]
    0041133acmp [rip+0x58bd7], ax
    00411341jne 0x41136a
    00411343mov rcx, [rbp+40]
    00411347lea rdx, [rip+0x58bcc]
    0041134emov r8l, 85
    00411354call fn_40d7b0
    00411359lea rcx, [rip+0x58b90]
    00411360call LeaveCriticalSection
    00411365jmp 0x411473
    0041136a
    0041136aloc_41136a:
    0041136alea rcx, [rip+0x58b7f]
    00411371call LeaveCriticalSection
    00411376mov rcx, [rbp+40]
    0041137acall fn_40bcf0
    0041137fmovzx rcx, [rbp+54]
    00411384movzx ecx, cx
    00411387mov edx, 2
    0041138ccall IsValidLocale
    00411391test eax, eax
    00411393je 0x41142e
    00411399cmp [rip+0x58b48], 0
    004113a0je 0x4113c2
    004113a2mov rcx, rbp
    004113a5lea rdx, [rbp+72]
    004113a9movzx r8, [rbp+54]
    004113aecall fn_4111a0
    004113b3mov rcx, [rbp+40]
    004113b7mov rdx, [rbp+72]
    004113bbcall fn_40c360
    004113c0jmp 0x41142e
    004113c2
    004113c2loc_4113c2:
    004113c2mov rcx, rbp
    004113c5lea rdx, [rbp+64]
    004113c9movzx r8, [rbp+54]
    004113cecall fn_410f00
    004113d3mov rcx, [rbp+40]
    004113d7mov rdx, [rbp+64]
    004113dbcall fn_40c360
    004113e0call GetSystemDefaultUILanguage
    004113e5movzx rcx, [rbp+54]
    004113eacmp cx, ax
    004113edmov [rbp+54], cx
    004113f1je 0x41142e
    004113f3mov rax, [rbp+40]
    004113f7cmp [rax], 0
    004113fbje 0x41140d
    004113fdmov rcx, [rbp+40]
    00411401lea rdx, [rip+176]
    00411408call fn_40d9b0
    0041140d
    0041140dloc_41140d:
    0041140dcall GetSystemDefaultUILanguage
    00411412mov rcx, rbp
    00411415lea rdx, [rbp+56]
    00411419mov r8l, eax
    0041141ccall fn_410f00
    00411421mov rcx, [rbp+40]
    00411425mov rdx, [rbp+56]
    00411429call fn_40d9b0
    0041142e
    0041142eloc_41142e:
    0041142elea rcx, [rip+0x58abb]
    00411435call EnterCriticalSection
    0041143amovzx rax, [rbp+54]
    0041143fmov [rip+0x58ad2], ax
    00411446mov rax, [rbp+40]
    0041144amov rcx, [rax]
    0041144dcall fn_40d710
    00411452lea rcx, [rip+0x58ac1]
    00411459mov edx, 170
    0041145emov r8, rax
    00411461call fn_410cf0
    00411466lea rcx, [rip+0x58a83]
    0041146dcall LeaveCriticalSection
    00411472nop
    00411473
    00411473loc_411473:
    00411473lea rcx, [rbp+56]
    00411477mov edx, 3
    0041147ccall fn_40bdd0
    00411481mov rax, [rbp+40]
    00411485lea rsp, [rbp+80]
    00411489pop rbp
    0041148aret
    00411300
    0041148b
    0041148b 48 8d 44 20 00 H.D .
    00411490
    00411490fn_411490:
    00411490push rbp
    00411491sub rsp, 32
    00411495mov rbp, rsp
    00411498lea rcx, [rdx+56]
    0041149cmov edx, 3
    004114a1call fn_40bdd0
    004114a6lea rsp, [rbp+32]
    004114aapop rbp
    004114abret
    00411490
    004114ac
    004114ac b0 04 02 00 ....
    004114b0 ff ff ff ff 01 00 00 00 2c 00 00 00 cc cc cc cc ........,.......
    004114c0
    004114c0fn_4114c0:
    004114c0sub rsp, 40
    004114c4mov rax, rdx
    004114c7jmp 0x4114d1
    004114c9
    004114c9loc_4114c9:
    004114c9mov rcx, rax
    004114cccall CharNextW
    004114d1
    004114d1loc_4114d1:
    004114d1movzx rcx, [rax]
    004114d5test cx, cx
    004114d8je 0x4114e0
    004114dacmp cx, 92
    004114dejne 0x4114c9
    004114e0
    004114e0loc_4114e0:
    004114e0add rsp, 40
    004114e4ret
    004114c0
    004114e5
    004114e5 // align 0x10
    004114f0
    004114f0fn_4114f0:
    004114f0push rbp
    004114f1push r14
    004114f3push r13
    004114f5push rdi
    004114f6push rsi
    004114f7push rbx
    004114f8sub rsp, 1176
    004114ffmov rbp, rsp
    00411502mov [rbp+32], rcx
    00411506mov [rbp+40], rdx
    0041150amov rbx, r8
    0041150dmov rsi, [rbp+40]
    00411511lea rcx, [rip+492]
    00411518call GetModuleHandleW
    0041151dtest rax, rax
    00411520je 0x411576
    00411522mov rcx, rax
    00411525lea rdx, [rip+498]
    0041152ccall GetProcAddress
    00411531mov rdi, rax
    00411534test rax, rax
    00411537je 0x411576
    00411539mov rcx, [rbp+40]
    0041153dxor edx, edx
    0041153fxor r8, r8
    00411542call rdi
    00411544mov r13l, eax
    00411547test r13l, r13l
    0041154ajle 0x411576
    0041154cmov rcx, rbx
    0041154fmov edx, r13l
    00411552sub edx, 1
    00411555call fn_40d8d0
    0041155amov rcx, [rbx]
    0041155dcall fn_40d710
    00411562mov rsi, rax
    00411565mov rcx, [rbp+40]
    00411569mov rdx, rsi
    0041156cmov r8l, r13l
    0041156fcall rdi
    00411571jmp 0x4116f0
    00411576
    00411576loc_411576:
    00411576mov rax, [rbp+40]
    0041157acmp [rax], 92
    0041157ejne 0x4115c9
    00411580mov rax, [rbp+40]
    00411584cmp [rax+2], 92
    00411589jne 0x4116f0
    0041158fmov rcx, [rbp+32]
    00411593mov rax, [rbp+40]
    00411597lea rdx, [rax+4]
    0041159bcall fn_4114c0
    004115a0mov rbx, rax
    004115a3cmp [rbx], 0
    004115a7je 0x4116f0
    004115admov rcx, [rbp+32]
    004115b1lea rdx, [rbx+2]
    004115b5call fn_4114c0
    004115bamov rbx, rax
    004115bdcmp [rbx], 0
    004115c1je 0x4116f0
    004115c7jmp 0x4115d1
    004115c9
    004115c9loc_4115c9:
    004115c9mov rax, [rbp+40]
    004115cdlea rbx, [rax+4]
    004115d1
    004115d1loc_4115d1:
    004115d1mov r13, rbx
    004115d4mov rax, [rbp+40]
    004115d8sub r13, rax
    004115dbsar r13, 1
    004115dfjns 0x4115e5
    004115e1adc r13, 0
    004115e5
    004115e5loc_4115e5:
    004115e5mov eax, r13l
    004115e8add eax, 1
    004115ebcmp eax, 261
    004115f1jg 0x4116f0
    004115f7lea rcx, [rbp+54]
    004115fbmov edx, eax
    004115fdmov r8, [rbp+40]
    00411601call fn_410cf0
    00411606jmp 0x4116d4
    0041160b
    0041160bloc_41160b:
    0041160bmov rcx, [rbp+32]
    0041160flea rdx, [rbx+2]
    00411613call fn_4114c0
    00411618mov rdi, rax
    0041161bmov rax, rdi
    0041161esub rax, rbx
    00411621movsxd rcx, r13l
    00411624mov rdx, rax
    00411627sar rdx, 1
    0041162bjns 0x411631
    0041162dadc rdx, 0
    00411631
    00411631loc_411631:
    00411631lea rcx, [rcx+rdx+1]
    00411636cmp rcx, 261
    0041163djg 0x4116f0
    00411643movsxd r14, r13l
    00411646lea rcx, [rbp+2*r14+54]
    0041164bmov rdx, rax
    0041164esar rdx, 1
    00411652jns 0x411658
    00411654adc rdx, 0
    00411658
    00411658loc_411658:
    00411658add edx, 1
    0041165bmov r8, rbx
    0041165ecall fn_410cf0
    00411663lea rcx, [rbp+54]
    00411667lea rdx, [rbp+576]
    0041166ecall FindFirstFileW
    00411673cmp rax, -1
    00411677je 0x4116f0
    00411679mov rcx, rax
    0041167ccall FindClose
    00411681lea rcx, [rbp+620]
    00411688call lstrlenW
    0041168dmov ecx, r13l
    00411690add ecx, eax
    00411692add ecx, 2
    00411695cmp ecx, 261
    0041169bjg 0x4116f0
    0041169dmov [rbp+2*r14+54], 92
    004116a5lea rcx, [rbp+2*r14+56]
    004116aamov edx, 260
    004116afsub edx, r13l
    004116b2lea r8, [rbp+620]
    004116b9call fn_410cf0
    004116belea rcx, [rbp+620]
    004116c5call lstrlenW
    004116caadd r13l, eax
    004116cdadd r13l, 1
    004116d1mov rbx, rdi
    004116d4
    004116d4loc_4116d4:
    004116d4cmp [rbx], 0
    004116d8jne 0x41160b
    004116demov rcx, [rbp+40]
    004116e2mov edx, 261
    004116e7lea r8, [rbp+54]
    004116ebcall fn_410cf0
    004116f0
    004116f0loc_4116f0:
    004116f0mov rax, rsi
    004116f3lea rsp, [rbp+1176]
    004116fapop rbx
    004116fbpop rsi
    004116fcpop rdi
    004116fdpop r13
    004116ffpop r14
    00411701pop rbp
    00411702ret
    004114f0
    00411703
    00411703 00 6b 00 65 00 72 00 6e 00 65 00 6c 00 .k.e.r.n.e.l.
    00411710 33 00 32 00 2e 00 64 00 6c 00 6c 00 00 00 47 65 3.2...d.l.l...Ge
    00411720 74 4c 6f 6e 67 50 61 74 68 4e 61 6d 65 57 00 cc tLongPathNameW..
    00411730
    00411730fn_411730:
    00411730push rbp
    00411731sub rsp, 640
    00411738mov rbp, rsp
    0041173bmov [rbp+88], 0
    00411743mov [rbp+56], rbp
    00411747mov [rbp+656], rcx
    0041174emov [rbp+664], rdx
    00411755mov rcx, [rbp+664]
    0041175ccall fn_40bec0
    00411761nop
    00411762cmp [rbp+664], 0
    0041176ajne 0x41177f
    0041176cxor ecx, ecx
    0041176elea rdx, [rbp+102]
    00411772mov r8l, 261
    00411778call GetModuleFileNameW
    0041177djmp 0x41179c
    0041177f
    0041177floc_41177f:
    0041177fmov rcx, [rbp+664]
    00411786call fn_40d710
    0041178blea rcx, [rbp+102]
    0041178fmov edx, 261
    00411794mov r8, rax
    00411797call fn_410cf0
    0041179c
    0041179cloc_41179c:
    0041179ccmp [rbp+102], 0
    004117a1je 0x4119f6
    004117a7mov [rbp+632], 0
    004117b2mov ecx, 0xffffffff80000001
    004117b7lea rdx, [rip+714]
    004117bexor r8, r8
    004117c1mov r9l, 0x20019
    004117c7lea rax, [rbp+624]
    004117cemov [rsp+32], rax
    004117d3call RegOpenKeyExW
    004117d8test eax, eax
    004117daje 0x4118be
    004117e0mov ecx, 0xffffffff80000002
    004117e5lea rdx, [rip+668]
    004117ecxor r8, r8
    004117efmov r9l, 0x20019
    004117f5lea rax, [rbp+624]
    004117fcmov [rsp+32], rax
    00411801call RegOpenKeyExW
    00411806test eax, eax
    00411808je 0x4118be
    0041180emov ecx, 0xffffffff80000001
    00411813lea rdx, [rip+680]
    0041181axor r8, r8
    0041181dmov r9l, 0x20019
    00411823lea rax, [rbp+624]
    0041182amov [rsp+32], rax
    0041182fcall RegOpenKeyExW
    00411834test eax, eax
    00411836je 0x4118be
    0041183cmov ecx, 0xffffffff80000002
    00411841lea rdx, [rip+634]
    00411848xor r8, r8
    0041184bmov r9l, 0x20019
    00411851lea rax, [rbp+624]
    00411858mov [rsp+32], rax
    0041185dcall RegOpenKeyExW
    00411862test eax, eax
    00411864je 0x4118be
    00411866mov ecx, 0xffffffff80000001
    0041186blea rdx, [rip+644]
    00411872xor r8, r8
    00411875mov r9l, 0x20019
    0041187blea rax, [rbp+624]
    00411882mov [rsp+32], rax
    00411887call RegOpenKeyExW
    0041188ctest eax, eax
    0041188eje 0x4118be
    00411890mov ecx, 0xffffffff80000001
    00411895lea rdx, [rip+652]
    0041189cxor r8, r8
    0041189fmov r9l, 0x20019
    004118a5lea rax, [rbp+624]
    004118acmov [rsp+32], rax
    004118b1call RegOpenKeyExW
    004118b6test eax, eax
    004118b8jne 0x4119f5
    004118be
    004118beloc_4118be:
    004118benop
    004118bfmov rcx, rbp
    004118c2lea rdx, [rbp+102]
    004118c6lea r8, [rbp+88]
    004118cacall fn_4114f0
    004118cfmov [rbp+80], rax
    004118d3mov rcx, [rbp+624]
    004118damov rdx, [rbp+80]
    004118dexor r8, r8
    004118e1xor r9, r9
    004118e4mov [rsp+32], 0
    004118edlea rax, [rbp+76]
    004118f1mov [rsp+40], rax
    004118f6call RegQueryValueExW
    004118fbtest eax, eax
    004118fdjne 0x411952
    004118ffmovsxd rcx, [rbp+76]
    00411903call fn_405700
    00411908mov [rbp+632], rax
    0041190fmov rcx, [rbp+624]
    00411916mov rdx, [rbp+80]
    0041191axor r8, r8
    0041191dxor r9, r9
    00411920mov rax, [rbp+632]
    00411927mov [rsp+32], rax
    0041192clea rax, [rbp+76]
    00411930mov [rsp+40], rax
    00411935call RegQueryValueExW
    0041193amov rcx, [rbp+656]
    00411941mov rdx, [rbp+632]
    00411948call fn_40d780
    0041194djmp 0x4119d2
    00411952
    00411952loc_411952:
    00411952mov rcx, [rbp+624]
    00411959lea rdx, [rip+520]
    00411960xor r8, r8
    00411963xor r9, r9
    00411966mov [rsp+32], 0
    0041196flea rax, [rbp+76]
    00411973mov [rsp+40], rax
    00411978call RegQueryValueExW
    0041197dtest eax, eax
    0041197fjne 0x4119d2
    00411981movsxd rcx, [rbp+76]
    00411985call fn_405700
    0041198amov [rbp+632], rax
    00411991mov rcx, [rbp+624]
    00411998lea rdx, [rip+457]
    0041199fxor r8, r8
    004119a2xor r9, r9
    004119a5mov rax, [rbp+632]
    004119acmov [rsp+32], rax
    004119b1lea rax, [rbp+76]
    004119b5mov [rsp+40], rax
    004119bacall RegQueryValueExW
    004119bfmov rcx, [rbp+656]
    004119c6mov rdx, [rbp+632]
    004119cdcall fn_40d780
    004119d2
    004119d2loc_4119d2:
    004119d2nop
    004119d3cmp [rbp+632], 0
    004119dbje 0x4119e9
    004119ddmov rcx, [rbp+632]
    004119e4call fn_405730
    004119e9
    004119e9loc_4119e9:
    004119e9mov rcx, [rbp+624]
    004119f0call RegCloseKey
    004119f5
    004119f5loc_4119f5:
    004119f5nop
    004119f6
    004119f6loc_4119f6:
    004119f6lea rcx, [rbp+88]
    004119facall fn_40bcf0
    004119fflea rcx, [rbp+664]
    00411a06call fn_40bcf0
    00411a0bmov rax, [rbp+656]
    00411a12lea rsp, [rbp+640]
    00411a19pop rbp
    00411a1aret
    00411730