File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
Loading..
0040b580
0040b580fn_40b580:
0040b580mov edx, 1
0040b585mov r8l, [rcx]
0040b588mov eax, edx
0040b58acmp eax, r8l
0040b58djg 0x40b5c3
0040b58fsub r8l, edx
0040b592add r8l, 1
0040b596
0040b596loc_40b596:
0040b596movsxd rdx, eax
0040b599lea rdx, [rdx+2*rdx]
0040b59dlea rdx, [rcx+8*rdx-16]
0040b5a2mov r9, [rdx]
0040b5a5mov r10, [rdx+8]
0040b5a9mov r10, [r10]
0040b5acmov rdx, [rdx+16]
0040b5b0lea rdx, [r10+rdx]
0040b5b4mov [r9], rdx
0040b5b7add eax, 1
0040b5basub r8l, 1
0040b5betest r8l, r8l
0040b5c1jne 0x40b596
0040b5c3
0040b5c3loc_40b5c3:
0040b5c3nop
0040b5c4ret
0040b580
0040b580fn_40b580:
0040b580mov edx, 1
0040b585mov r8l, [rcx]
0040b588mov eax, edx
0040b58acmp eax, r8l
0040b58djg 0x40b5c3
0040b58fsub r8l, edx
0040b592add r8l, 1
0040b596
0040b596loc_40b596:
0040b596movsxd rdx, eax
0040b599lea rdx, [rdx+2*rdx]
0040b59dlea rdx, [rcx+8*rdx-16]
0040b5a2mov r9, [rdx]
0040b5a5mov r10, [rdx+8]
0040b5a9mov r10, [r10]
0040b5acmov rdx, [rdx+16]
0040b5b0lea rdx, [r10+rdx]
0040b5b4mov [r9], rdx
0040b5b7add eax, 1
0040b5basub r8l, 1
0040b5betest r8l, r8l
0040b5c1jne 0x40b596
0040b5c3
0040b5c3loc_40b5c3:
0040b5c3nop
0040b5c4ret
0040b580
0040b5c5
0040b5c5 // align 0x10
0040b5c5 // align 0x10
0040b5d0
0040b5d0fn_40b5d0:
0040b5d0push rdi
0040b5d1push rsi
0040b5d2push rbx
0040b5d3sub rsp, 32
0040b5d7mov rbx, rcx
0040b5damov eax, 1
0040b5dfmov edi, [rbx]
0040b5e1mov esi, eax
0040b5e3cmp esi, edi
0040b5e5jg 0x40b63e
0040b5e7sub edi, eax
0040b5e9add edi, 1
0040b5ec
0040b5ecloc_40b5ec:
0040b5ecmovsxd rax, esi
0040b5eflea rax, [rax+2*rax]
0040b5f3lea rax, [rbx+8*rax-16]
0040b5f8mov rcx, [rax+16]
0040b5fcand rcx, 65535
0040b603sub ecx, 1
0040b606cmp ecx, -1
0040b609je 0x40b618
0040b60btest ecx, ecx
0040b60dje 0x40b622
0040b60fsub ecx, 1
0040b612test ecx, ecx
0040b614jne 0x40b634
0040b616jmp 0x40b62c
0040b618
0040b618loc_40b618:
0040b618mov rcx, [rax]
0040b61bcall fn_40bd40
0040b620jmp 0x40b634
0040b622
0040b622loc_40b622:
0040b622mov rcx, [rax]
0040b625call fn_40bd90
0040b62ajmp 0x40b634
0040b62c
0040b62cloc_40b62c:
0040b62cmov rcx, [rax]
0040b62fcall fn_40bcf0
0040b634
0040b634loc_40b634:
0040b634add esi, 1
0040b637sub edi, 1
0040b63atest edi, edi
0040b63cjne 0x40b5ec
0040b63e
0040b63eloc_40b63e:
0040b63enop
0040b63fadd rsp, 32
0040b643pop rbx
0040b644pop rsi
0040b645pop rdi
0040b646ret
0040b5d0
0040b5d0fn_40b5d0:
0040b5d0push rdi
0040b5d1push rsi
0040b5d2push rbx
0040b5d3sub rsp, 32
0040b5d7mov rbx, rcx
0040b5damov eax, 1
0040b5dfmov edi, [rbx]
0040b5e1mov esi, eax
0040b5e3cmp esi, edi
0040b5e5jg 0x40b63e
0040b5e7sub edi, eax
0040b5e9add edi, 1
0040b5ec
0040b5ecloc_40b5ec:
0040b5ecmovsxd rax, esi
0040b5eflea rax, [rax+2*rax]
0040b5f3lea rax, [rbx+8*rax-16]
0040b5f8mov rcx, [rax+16]
0040b5fcand rcx, 65535
0040b603sub ecx, 1
0040b606cmp ecx, -1
0040b609je 0x40b618
0040b60btest ecx, ecx
0040b60dje 0x40b622
0040b60fsub ecx, 1
0040b612test ecx, ecx
0040b614jne 0x40b634
0040b616jmp 0x40b62c
0040b618
0040b618loc_40b618:
0040b618mov rcx, [rax]
0040b61bcall fn_40bd40
0040b620jmp 0x40b634
0040b622
0040b622loc_40b622:
0040b622mov rcx, [rax]
0040b625call fn_40bd90
0040b62ajmp 0x40b634
0040b62c
0040b62cloc_40b62c:
0040b62cmov rcx, [rax]
0040b62fcall fn_40bcf0
0040b634
0040b634loc_40b634:
0040b634add esi, 1
0040b637sub edi, 1
0040b63atest edi, edi
0040b63cjne 0x40b5ec
0040b63e
0040b63eloc_40b63e:
0040b63enop
0040b63fadd rsp, 32
0040b643pop rbx
0040b644pop rsi
0040b645pop rdi
0040b646ret
0040b5d0
0040b647
0040b647 // align 0x10
0040b647 // align 0x10
0040b650
0040b650fn_40b650:
0040b650mov cl, 16
0040b652mov r8l, [rip+0x4d9a7]
0040b659
0040b659loc_40b659:
0040b659lea r9, [rip+0x4f820]
0040b660movzx r10, cl
0040b664mov r11l, 10
0040b66amov eax, r8l
0040b66dcdq
0040b66eidiv r11l
0040b671add dl, 48
0040b674mov [r9+r10], dl
0040b678mov r9l, 10
0040b67emov eax, r8l
0040b681cdq
0040b682idiv r9l
0040b685mov r8, rax
0040b688sub cl, 1
0040b68btest r8l, r8l
0040b68ejne 0x40b659
0040b690mov cl, 36
0040b692mov rax, [rip+0x4d96f]
0040b699
0040b699loc_40b699:
0040b699lea rdx, [rip+0x4f7e0]
0040b6a0movzx r8, cl
0040b6a4lea r9, [rip+0x4f841]
0040b6abmov r10, rax
0040b6aeand r10, 15
0040b6b2movzx r9, [r9+r10]
0040b6b7mov [rdx+r8], r9b
0040b6bbshr rax, 4
0040b6bfsub cl, 1
0040b6c2test rax, rax
0040b6c5jne 0x40b699
0040b6c7ret
0040b650
0040b650fn_40b650:
0040b650mov cl, 16
0040b652mov r8l, [rip+0x4d9a7]
0040b659
0040b659loc_40b659:
0040b659lea r9, [rip+0x4f820]
0040b660movzx r10, cl
0040b664mov r11l, 10
0040b66amov eax, r8l
0040b66dcdq
0040b66eidiv r11l
0040b671add dl, 48
0040b674mov [r9+r10], dl
0040b678mov r9l, 10
0040b67emov eax, r8l
0040b681cdq
0040b682idiv r9l
0040b685mov r8, rax
0040b688sub cl, 1
0040b68btest r8l, r8l
0040b68ejne 0x40b659
0040b690mov cl, 36
0040b692mov rax, [rip+0x4d96f]
0040b699
0040b699loc_40b699:
0040b699lea rdx, [rip+0x4f7e0]
0040b6a0movzx r8, cl
0040b6a4lea r9, [rip+0x4f841]
0040b6abmov r10, rax
0040b6aeand r10, 15
0040b6b2movzx r9, [r9+r10]
0040b6b7mov [rdx+r8], r9b
0040b6bbshr rax, 4
0040b6bfsub cl, 1
0040b6c2test rax, rax
0040b6c5jne 0x40b699
0040b6c7ret
0040b650
0040b6c8
0040b6c8 // align 0x10
0040b6c8 // align 0x10
0040b6d0
0040b6d0fn_40b6d0:
0040b6d0xchg eax, edx
0040b6d1lea rdx, [rcx+112]
0040b6d5movapd x6, [rdx-32]
0040b6damovapd x7, [rdx-16]
0040b6dfmovapd x8, [rdx]
0040b6e4movapd x9, [rdx+16]
0040b6eamovapd x10, [rdx+32]
0040b6f0movapd x11, [rdx+48]
0040b6f6movapd x12, [rdx+64]
0040b6fcmovapd x13, [rdx+80]
0040b702movapd x14, [rdx+96]
0040b708movapd x15, [rdx+112]
0040b70emov rbx, [rcx+16]
0040b712mov rbp, [rcx+24]
0040b716mov rsi, [rcx+32]
0040b71amov rdi, [rcx+40]
0040b71emov r12, [rcx+48]
0040b722mov r13, [rcx+56]
0040b726mov r14, [rcx+64]
0040b72amov r15, [rcx+72]
0040b72emov rsp, [rcx+8]
0040b732jmp [rcx]
0040b734ret
0040b6d0
0040b6d0fn_40b6d0:
0040b6d0xchg eax, edx
0040b6d1lea rdx, [rcx+112]
0040b6d5movapd x6, [rdx-32]
0040b6damovapd x7, [rdx-16]
0040b6dfmovapd x8, [rdx]
0040b6e4movapd x9, [rdx+16]
0040b6eamovapd x10, [rdx+32]
0040b6f0movapd x11, [rdx+48]
0040b6f6movapd x12, [rdx+64]
0040b6fcmovapd x13, [rdx+80]
0040b702movapd x14, [rdx+96]
0040b708movapd x15, [rdx+112]
0040b70emov rbx, [rcx+16]
0040b712mov rbp, [rcx+24]
0040b716mov rsi, [rcx+32]
0040b71amov rdi, [rcx+40]
0040b71emov r12, [rcx+48]
0040b722mov r13, [rcx+56]
0040b726mov r14, [rcx+64]
0040b72amov r15, [rcx+72]
0040b72emov rsp, [rcx+8]
0040b732jmp [rcx]
0040b734ret
0040b6d0
0040b735
0040b735 // align 0x10
0040b735 // align 0x10
0040b740
0040b740fn_40b740:
0040b740push rbp
0040b741push rdi
0040b742push rsi
0040b743sub rsp, 272
0040b74amov rbp, rsp
0040b74dmov rax, rcx
0040b750lea rdi, [rbp+32]
0040b754lea rsi, [rax+56]
0040b758mov ecx, 30
0040b75drep movsq [rdi], [rsi]
0040b760mov rsi, [rax]
0040b763mov rdi, rax
0040b766mov ecx, 37
0040b76brep movsq [rdi], [rsi]
0040b76ecmp [rip+0x4d88b], 0
0040b775setne al
0040b778movzx rax, al
0040b77cadd eax, 1
0040b77fmov [rip+0x4d877], 0
0040b789lea rcx, [rbp+32]
0040b78dmov edx, eax
0040b78fcall fn_40b6d0
0040b794lea rsp, [rbp+272]
0040b79bpop rsi
0040b79cpop rdi
0040b79dpop rbp
0040b79eret
0040b740
0040b740fn_40b740:
0040b740push rbp
0040b741push rdi
0040b742push rsi
0040b743sub rsp, 272
0040b74amov rbp, rsp
0040b74dmov rax, rcx
0040b750lea rdi, [rbp+32]
0040b754lea rsi, [rax+56]
0040b758mov ecx, 30
0040b75drep movsq [rdi], [rsi]
0040b760mov rsi, [rax]
0040b763mov rdi, rax
0040b766mov ecx, 37
0040b76brep movsq [rdi], [rsi]
0040b76ecmp [rip+0x4d88b], 0
0040b775setne al
0040b778movzx rax, al
0040b77cadd eax, 1
0040b77fmov [rip+0x4d877], 0
0040b789lea rcx, [rbp+32]
0040b78dmov edx, eax
0040b78fcall fn_40b6d0
0040b794lea rsp, [rbp+272]
0040b79bpop rsi
0040b79cpop rdi
0040b79dpop rbp
0040b79eret
0040b740
0040b79f
0040b79f // align 0x10
0040b79f // align 0x10
0040b7a0
0040b7a0fn_40b7a0:
0040b7a0push rbx
0040b7a1sub rsp, 64
0040b7a5cmp [rip+0x598ec], 0
0040b7acje 0x40b83a
0040b7b2cmp [rip+0x59bed], -10318
0040b7bbjne 0x40b7d3
0040b7bdcmp [rip+0x59bec], 0
0040b7c4jbe 0x40b7d3
0040b7c6lea rcx, [rip+0x59bd3]
0040b7cdcall [rip+0x59bf5]
0040b7d3
0040b7d3loc_40b7d3:
0040b7d3mov ecx, -11
0040b7d8call GetStdHandle
0040b7ddmov rcx, rax
0040b7e0lea rdx, [rip+0x4f699]
0040b7e7mov r8l, 37
0040b7edlea r9, [rsp+60]
0040b7f2mov [rsp+32], 0
0040b7fbcall WriteFile
0040b800mov ecx, -11
0040b805call GetStdHandle
0040b80amov rbx, rax
0040b80dlea rcx, [rip+92]
0040b814call fn_40ce10
0040b819mov rcx, rbx
0040b81cmov rdx, rax
0040b81fmov r8l, 2
0040b825lea r9, [rsp+60]
0040b82amov [rsp+32], 0
0040b833call WriteFile
0040b838jmp 0x40b85b
0040b83a
0040b83aloc_40b83a:
0040b83acmp [rip+0x4d7f9], 0
0040b841jne 0x40b85b
0040b843xor ecx, ecx
0040b845lea rdx, [rip+0x4f634]
0040b84clea r8, [rip+0x4f53d]
0040b853xor r9, r9
0040b856call MessageBoxA
0040b85b
0040b85bloc_40b85b:
0040b85badd rsp, 64
0040b85fpop rbx
0040b860ret
0040b7a0
0040b7a0fn_40b7a0:
0040b7a0push rbx
0040b7a1sub rsp, 64
0040b7a5cmp [rip+0x598ec], 0
0040b7acje 0x40b83a
0040b7b2cmp [rip+0x59bed], -10318
0040b7bbjne 0x40b7d3
0040b7bdcmp [rip+0x59bec], 0
0040b7c4jbe 0x40b7d3
0040b7c6lea rcx, [rip+0x59bd3]
0040b7cdcall [rip+0x59bf5]
0040b7d3
0040b7d3loc_40b7d3:
0040b7d3mov ecx, -11
0040b7d8call GetStdHandle
0040b7ddmov rcx, rax
0040b7e0lea rdx, [rip+0x4f699]
0040b7e7mov r8l, 37
0040b7edlea r9, [rsp+60]
0040b7f2mov [rsp+32], 0
0040b7fbcall WriteFile
0040b800mov ecx, -11
0040b805call GetStdHandle
0040b80amov rbx, rax
0040b80dlea rcx, [rip+92]
0040b814call fn_40ce10
0040b819mov rcx, rbx
0040b81cmov rdx, rax
0040b81fmov r8l, 2
0040b825lea r9, [rsp+60]
0040b82amov [rsp+32], 0
0040b833call WriteFile
0040b838jmp 0x40b85b
0040b83a
0040b83aloc_40b83a:
0040b83acmp [rip+0x4d7f9], 0
0040b841jne 0x40b85b
0040b843xor ecx, ecx
0040b845lea rdx, [rip+0x4f634]
0040b84clea r8, [rip+0x4f53d]
0040b853xor r9, r9
0040b856call MessageBoxA
0040b85b
0040b85bloc_40b85b:
0040b85badd rsp, 64
0040b85fpop rbx
0040b860ret
0040b7a0
0040b861
0040b861 00 00 00 e4 04 01 00 ff ff ff ff 02 00 00 00 ...............
0040b870 0d 0a 00 cc cc cc cc cc cc cc cc cc cc cc cc cc ................
0040b861 00 00 00 e4 04 01 00 ff ff ff ff 02 00 00 00 ...............
0040b870 0d 0a 00 cc cc cc cc cc cc cc cc cc cc cc cc cc ................
0040b880
0040b880fn_40b880:
0040b880push rdi
0040b881push rsi
0040b882push rbx
0040b883sub rsp, 32
0040b887cmp [rip+0x4d779], 0
0040b88fje 0x40b8a6
0040b891call fn_40b650
0040b896call fn_40b7a0
0040b89bmov [rip+0x4d762], 0
0040b8a6
0040b8a6loc_40b8a6:
0040b8a6cmp [rip+0x5e4f2], 0
0040b8aeje 0x40b8d4
0040b8b0call GetCurrentThreadId
0040b8b5cmp eax, [rip+0x5e511]
0040b8bbjne 0x40b8d4
0040b8bdmov [rip+0x5e4d8], 0
0040b8c8lea rcx, [rip+0x5e4c9]
0040b8cfcall fn_40b740
0040b8d4
0040b8d4loc_40b8d4:
0040b8d4cmp [rip+0x5e3c5], 0
0040b8dbjne 0x40b906
0040b8ddcmp [rip+0x597ab], 0
0040b8e5je 0x40b905
0040b8e7
0040b8e7loc_40b8e7:
0040b8e7mov rbx, [rip+0x597a2]
0040b8eemov [rip+0x59797], 0
0040b8f9call rbx
0040b8fbcmp [rip+0x5978d], 0
0040b903jne 0x40b8e7
0040b905
0040b905loc_40b905:
0040b905nop
0040b906
0040b906loc_40b906:
0040b906cmp [rip+0x5e393], 2
0040b90djne 0x40b922
0040b90fcmp [rip+0x4d6ea], 0
0040b916jne 0x40b922
0040b918mov [rip+0x5e366], 0
0040b922
0040b922loc_40b922:
0040b922cmp [rip+0x5e377], 0
0040b929jne 0x40b948
0040b92bcall fn_405950
0040b930test rax, rax
0040b933je 0x40b947
0040b935
0040b935loc_40b935:
0040b935mov rcx, rax
0040b938call TObject.Free
0040b93dcall fn_405950
0040b942test rax, rax
0040b945jne 0x40b935
0040b947
0040b947loc_40b947:
0040b947nop
0040b948
0040b948loc_40b948:
0040b948call fn_40b180
0040b94dcmp [rip+0x5e34c], 1
0040b954jbe 0x40b95f
0040b956cmp [rip+0x4d6a3], 0
0040b95dje 0x40b98e
0040b95f
0040b95floc_40b95f:
0040b95fmov rax, [rip+0x5e32a]
0040b966test rax, rax
0040b969je 0x40b98e
0040b96bmov rcx, rax
0040b96ecall fn_412400
0040b973mov rax, [rip+0x5e316]
0040b97amov rcx, [rax+32]
0040b97ecmp rcx, [rax+8]
0040b982je 0x40b98e
0040b984test rcx, rcx
0040b987je 0x40b98e
0040b989call FreeLibrary
0040b98e
0040b98eloc_40b98e:
0040b98emov [rip+0x5e2df], 0
0040b999cmp [rip+0x5e300], 1
0040b9a0jne 0x40b9a8
0040b9a2call [rip+0x5e2f0]
0040b9a8
0040b9a8loc_40b9a8:
0040b9a8cmp [rip+0x5e2f1], 0
0040b9afje 0x40b9bd
0040b9b1lea rcx, [rip+0x5e2b8]
0040b9b8call fn_40b740
0040b9bd
0040b9bdloc_40b9bd:
0040b9bdcmp [rip+0x5e2ab], 0
0040b9c5jne 0x40b9e2
0040b9c7cmp [rip+0x59691], 0
0040b9cfje 0x40b9d7
0040b9d1call [rip+0x59689]
0040b9d7
0040b9d7loc_40b9d7:
0040b9d7mov ecx, [rip+0x4d623]
0040b9ddcall ExitProcess
0040b9e2
0040b9e2loc_40b9e2:
0040b9e2mov rsi, [rip+0x5e287]
0040b9e9lea rdi, [rip+0x5e280]
0040b9f0mov ecx, 37
0040b9f5rep movsq [rdi], [rsi]
0040b9f8jmp 0x40b906
0040b9fd
0040b9fd 48 83 c4 H..
0040ba00 20 5b 5e 5f c3 [^_.
0040b880
0040b880fn_40b880:
0040b880push rdi
0040b881push rsi
0040b882push rbx
0040b883sub rsp, 32
0040b887cmp [rip+0x4d779], 0
0040b88fje 0x40b8a6
0040b891call fn_40b650
0040b896call fn_40b7a0
0040b89bmov [rip+0x4d762], 0
0040b8a6
0040b8a6loc_40b8a6:
0040b8a6cmp [rip+0x5e4f2], 0
0040b8aeje 0x40b8d4
0040b8b0call GetCurrentThreadId
0040b8b5cmp eax, [rip+0x5e511]
0040b8bbjne 0x40b8d4
0040b8bdmov [rip+0x5e4d8], 0
0040b8c8lea rcx, [rip+0x5e4c9]
0040b8cfcall fn_40b740
0040b8d4
0040b8d4loc_40b8d4:
0040b8d4cmp [rip+0x5e3c5], 0
0040b8dbjne 0x40b906
0040b8ddcmp [rip+0x597ab], 0
0040b8e5je 0x40b905
0040b8e7
0040b8e7loc_40b8e7:
0040b8e7mov rbx, [rip+0x597a2]
0040b8eemov [rip+0x59797], 0
0040b8f9call rbx
0040b8fbcmp [rip+0x5978d], 0
0040b903jne 0x40b8e7
0040b905
0040b905loc_40b905:
0040b905nop
0040b906
0040b906loc_40b906:
0040b906cmp [rip+0x5e393], 2
0040b90djne 0x40b922
0040b90fcmp [rip+0x4d6ea], 0
0040b916jne 0x40b922
0040b918mov [rip+0x5e366], 0
0040b922
0040b922loc_40b922:
0040b922cmp [rip+0x5e377], 0
0040b929jne 0x40b948
0040b92bcall fn_405950
0040b930test rax, rax
0040b933je 0x40b947
0040b935
0040b935loc_40b935:
0040b935mov rcx, rax
0040b938call TObject.Free
0040b93dcall fn_405950
0040b942test rax, rax
0040b945jne 0x40b935
0040b947
0040b947loc_40b947:
0040b947nop
0040b948
0040b948loc_40b948:
0040b948call fn_40b180
0040b94dcmp [rip+0x5e34c], 1
0040b954jbe 0x40b95f
0040b956cmp [rip+0x4d6a3], 0
0040b95dje 0x40b98e
0040b95f
0040b95floc_40b95f:
0040b95fmov rax, [rip+0x5e32a]
0040b966test rax, rax
0040b969je 0x40b98e
0040b96bmov rcx, rax
0040b96ecall fn_412400
0040b973mov rax, [rip+0x5e316]
0040b97amov rcx, [rax+32]
0040b97ecmp rcx, [rax+8]
0040b982je 0x40b98e
0040b984test rcx, rcx
0040b987je 0x40b98e
0040b989call FreeLibrary
0040b98e
0040b98eloc_40b98e:
0040b98emov [rip+0x5e2df], 0
0040b999cmp [rip+0x5e300], 1
0040b9a0jne 0x40b9a8
0040b9a2call [rip+0x5e2f0]
0040b9a8
0040b9a8loc_40b9a8:
0040b9a8cmp [rip+0x5e2f1], 0
0040b9afje 0x40b9bd
0040b9b1lea rcx, [rip+0x5e2b8]
0040b9b8call fn_40b740
0040b9bd
0040b9bdloc_40b9bd:
0040b9bdcmp [rip+0x5e2ab], 0
0040b9c5jne 0x40b9e2
0040b9c7cmp [rip+0x59691], 0
0040b9cfje 0x40b9d7
0040b9d1call [rip+0x59689]
0040b9d7
0040b9d7loc_40b9d7:
0040b9d7mov ecx, [rip+0x4d623]
0040b9ddcall ExitProcess
0040b9e2
0040b9e2loc_40b9e2:
0040b9e2mov rsi, [rip+0x5e287]
0040b9e9lea rdi, [rip+0x5e280]
0040b9f0mov ecx, 37
0040b9f5rep movsq [rdi], [rsi]
0040b9f8jmp 0x40b906
0040b9fd
0040b9fd 48 83 c4 H..
0040ba00 20 5b 5e 5f c3 [^_.
0040b880
0040ba05
0040ba05 // align 0x10
0040ba05 // align 0x10
0040ba10
0040ba10fn_40ba10:
0040ba10sub rsp, 40
0040ba14mov [rip+0x4d5e6], ecx
0040ba1acall fn_40b880
0040ba1fadd rsp, 40
0040ba23ret
0040ba10
0040ba10fn_40ba10:
0040ba10sub rsp, 40
0040ba14mov [rip+0x4d5e6], ecx
0040ba1acall fn_40b880
0040ba1fadd rsp, 40
0040ba23ret
0040ba10
0040ba24
0040ba24 // align 0x10
0040ba24 // align 0x10
0040ba30
0040ba30fn_40ba30:
0040ba30push rbp
0040ba31sub rsp, 32
0040ba35mov rbp, rsp
0040ba38mov rax, [rbp+40]
0040ba3cmov [rip+0x4d5c5], rax
0040ba43movzx rcx, cl
0040ba47call fn_40ba10
0040ba4clea rsp, [rbp+32]
0040ba50pop rbp
0040ba51ret
0040ba30
0040ba30fn_40ba30:
0040ba30push rbp
0040ba31sub rsp, 32
0040ba35mov rbp, rsp
0040ba38mov rax, [rbp+40]
0040ba3cmov [rip+0x4d5c5], rax
0040ba43movzx rcx, cl
0040ba47call fn_40ba10
0040ba4clea rsp, [rbp+32]
0040ba50pop rbp
0040ba51ret
0040ba30
0040ba52
0040ba52 // align 0x10
0040ba52 // align 0x10
0040ba60
0040ba60fn_40ba60:
0040ba60push rsi
0040ba61push rbx
0040ba62sub rsp, 40
0040ba66call fn_4058f0
0040ba6bmov rbx, rax
0040ba6ecall fn_405920
0040ba73mov rsi, rax
0040ba76mov rcx, rbx
0040ba79mov rdx, rsi
0040ba7ccall fn_40a3b0
0040ba81cmp [rip+0x59587], 0
0040ba89je 0x40ba97
0040ba8bmov rcx, rbx
0040ba8emov rdx, rsi
0040ba91call [rip+0x59579]
0040ba97
0040ba97loc_40ba97:
0040ba97mov ecx, 217
0040ba9cmov rdx, rsi
0040ba9fcall fn_4059a0
0040baa4add rsp, 40
0040baa8pop rbx
0040baa9pop rsi
0040baaaret
0040ba60
0040ba60fn_40ba60:
0040ba60push rsi
0040ba61push rbx
0040ba62sub rsp, 40
0040ba66call fn_4058f0
0040ba6bmov rbx, rax
0040ba6ecall fn_405920
0040ba73mov rsi, rax
0040ba76mov rcx, rbx
0040ba79mov rdx, rsi
0040ba7ccall fn_40a3b0
0040ba81cmp [rip+0x59587], 0
0040ba89je 0x40ba97
0040ba8bmov rcx, rbx
0040ba8emov rdx, rsi
0040ba91call [rip+0x59579]
0040ba97
0040ba97loc_40ba97:
0040ba97mov ecx, 217
0040ba9cmov rdx, rsi
0040ba9fcall fn_4059a0
0040baa4add rsp, 40
0040baa8pop rbx
0040baa9pop rsi
0040baaaret
0040ba60
0040baab
0040baab // align 0x10
0040baab // align 0x10
0040bab0
0040bab0fn_40bab0:
0040bab0push rbp
0040bab1push rdi
0040bab2push rsi
0040bab3sub rsp, 80
0040bab7mov rbp, rsp
0040babamov [rbp+40], rbp
0040babemov [rbp+112], rcx
0040bac2mov [rbp+76], 0
0040bac9nop
0040bacacall fn_4085e0
0040bacfmov rax, [rbp+112]
0040bad3lea rdi, [rbp+56]
0040bad7mov rsi, rax
0040badamovsq [rdi], [rsi]
0040badcmovsq [rdi], [rsi]
0040bademov rcx, rax
0040bae1call fn_405730
0040bae6mov rcx, [rbp+64]
0040baeacall [rbp+56]
0040baedmov [rbp+76], eax
0040baf0jmp 0x40baff
0040baf2
0040baf2 90 90 e8 67 ff ff ff e8 22 f6 ff ff 90 ...g...."....
0040baff
0040baffloc_40baff:
0040baffmov eax, [rbp+76]
0040bb02lea rsp, [rbp+80]
0040bb06pop rsi
0040bb07pop rdi
0040bb08pop rbp
0040bb09ret
0040bab0
0040bab0fn_40bab0:
0040bab0push rbp
0040bab1push rdi
0040bab2push rsi
0040bab3sub rsp, 80
0040bab7mov rbp, rsp
0040babamov [rbp+40], rbp
0040babemov [rbp+112], rcx
0040bac2mov [rbp+76], 0
0040bac9nop
0040bacacall fn_4085e0
0040bacfmov rax, [rbp+112]
0040bad3lea rdi, [rbp+56]
0040bad7mov rsi, rax
0040badamovsq [rdi], [rsi]
0040badcmovsq [rdi], [rsi]
0040bademov rcx, rax
0040bae1call fn_405730
0040bae6mov rcx, [rbp+64]
0040baeacall [rbp+56]
0040baedmov [rbp+76], eax
0040baf0jmp 0x40baff
0040baf2
0040baf2 90 90 e8 67 ff ff ff e8 22 f6 ff ff 90 ...g...."....
0040baff
0040baffloc_40baff:
0040baffmov eax, [rbp+76]
0040bb02lea rsp, [rbp+80]
0040bb06pop rsi
0040bb07pop rdi
0040bb08pop rbp
0040bb09ret
0040bab0
0040bb0a
0040bb0a 64 48 8d 44 20 00 dH.D .
0040bb0a 64 48 8d 44 20 00 dH.D .
0040bb10
0040bb10fn_40bb10:
0040bb10sub rsp, 40
0040bb14call fn_40b050
0040bb19add rsp, 40
0040bb1dret
0040bb10
0040bb10fn_40bb10:
0040bb10sub rsp, 40
0040bb14call fn_40b050
0040bb19add rsp, 40
0040bb1dret
0040bb10
0040bb1e
0040bb1e // align 0x10
0040bb1e // align 0x10
0040bb20
0040bb20fn_40bb20:
0040bb20push r13
0040bb22push rdi
0040bb23push rsi
0040bb24push rbx
0040bb25sub rsp, 72
0040bb29mov [rsp+56], rcx
0040bb2emov ebx, edx
0040bb30mov rsi, r8
0040bb33mov rdi, r9
0040bb36cmp [rip+0x4d502], 0
0040bb3eje 0x40bb51
0040bb40mov rcx, rsi
0040bb43mov rdx, rdi
0040bb46call [rip+0x4d4f4]
0040bb4cmov r13, rax
0040bb4fjmp 0x40bb66
0040bb51
0040bb51loc_40bb51:
0040bb51mov ecx, 16
0040bb56call fn_405700
0040bb5bmov r13, rax
0040bb5emov [r13], rsi
0040bb62mov [r13+8], rdi
0040bb66
0040bb66loc_40bb66:
0040bb66mov [rip+0x5952c], 1
0040bb6dmov rcx, [rsp+56]
0040bb72mov edx, ebx
0040bb74lea r8, [rip-203]
0040bb7bmov r9, r13
0040bb7emov eax, [rsp+144]
0040bb85mov [rsp+32], eax
0040bb89mov rax, [rsp+152]
0040bb91mov [rsp+40], rax
0040bb96call CreateThread
0040bb9bmov rbx, rax
0040bb9etest rbx, rbx
0040bba1jne 0x40bbab
0040bba3mov rcx, r13
0040bba6call fn_405730
0040bbab
0040bbabloc_40bbab:
0040bbabmov rax, rbx
0040bbaeadd rsp, 72
0040bbb2pop rbx
0040bbb3pop rsi
0040bbb4pop rdi
0040bbb5pop r13
0040bbb7ret
0040bb20
0040bb20fn_40bb20:
0040bb20push r13
0040bb22push rdi
0040bb23push rsi
0040bb24push rbx
0040bb25sub rsp, 72
0040bb29mov [rsp+56], rcx
0040bb2emov ebx, edx
0040bb30mov rsi, r8
0040bb33mov rdi, r9
0040bb36cmp [rip+0x4d502], 0
0040bb3eje 0x40bb51
0040bb40mov rcx, rsi
0040bb43mov rdx, rdi
0040bb46call [rip+0x4d4f4]
0040bb4cmov r13, rax
0040bb4fjmp 0x40bb66
0040bb51
0040bb51loc_40bb51:
0040bb51mov ecx, 16
0040bb56call fn_405700
0040bb5bmov r13, rax
0040bb5emov [r13], rsi
0040bb62mov [r13+8], rdi
0040bb66
0040bb66loc_40bb66:
0040bb66mov [rip+0x5952c], 1
0040bb6dmov rcx, [rsp+56]
0040bb72mov edx, ebx
0040bb74lea r8, [rip-203]
0040bb7bmov r9, r13
0040bb7emov eax, [rsp+144]
0040bb85mov [rsp+32], eax
0040bb89mov rax, [rsp+152]
0040bb91mov [rsp+40], rax
0040bb96call CreateThread
0040bb9bmov rbx, rax
0040bb9etest rbx, rbx
0040bba1jne 0x40bbab
0040bba3mov rcx, r13
0040bba6call fn_405730
0040bbab
0040bbabloc_40bbab:
0040bbabmov rax, rbx
0040bbaeadd rsp, 72
0040bbb2pop rbx
0040bbb3pop rsi
0040bbb4pop rdi
0040bbb5pop r13
0040bbb7ret
0040bb20
0040bbb8
0040bbb8 // align 0x10
0040bbb8 // align 0x10
0040bbc0
0040bbc0fn_40bbc0:
0040bbc0push rbx
0040bbc1sub rsp, 32
0040bbc5mov ebx, ecx
0040bbc7xor eax, eax
0040bbc9test ebx, ebx
0040bbcbjle 0x40bc18
0040bbcdcmp ebx, 0x3ffffff7
0040bbd3jl 0x40bbda
0040bbd5call fn_4085f0
0040bbda
0040bbdaloc_40bbda:
0040bbdamov ecx, ebx
0040bbdcadd ecx, 1
0040bbdfadd ecx, ecx
0040bbe1add ecx, 16
0040bbe4movsxd rcx, ecx
0040bbe7call fn_405700
0040bbecmov rcx, rax
0040bbeflea rax, [rcx+16]
0040bbf3mov [rcx+12], ebx
0040bbf6mov [rcx+8], 1
0040bbfdmov [rcx+6], 2
0040bc03movzx rdx, [rip+0x59e11]
0040bc0bmov [rcx+4], dx
0040bc0fmovsxd rbx, ebx
0040bc12mov [rax+2*rbx], 0
0040bc18
0040bc18loc_40bc18:
0040bc18add rsp, 32
0040bc1cpop rbx
0040bc1dret
0040bbc0
0040bbc0fn_40bbc0:
0040bbc0push rbx
0040bbc1sub rsp, 32
0040bbc5mov ebx, ecx
0040bbc7xor eax, eax
0040bbc9test ebx, ebx
0040bbcbjle 0x40bc18
0040bbcdcmp ebx, 0x3ffffff7
0040bbd3jl 0x40bbda
0040bbd5call fn_4085f0
0040bbda
0040bbdaloc_40bbda:
0040bbdamov ecx, ebx
0040bbdcadd ecx, 1
0040bbdfadd ecx, ecx
0040bbe1add ecx, 16
0040bbe4movsxd rcx, ecx
0040bbe7call fn_405700
0040bbecmov rcx, rax
0040bbeflea rax, [rcx+16]
0040bbf3mov [rcx+12], ebx
0040bbf6mov [rcx+8], 1
0040bbfdmov [rcx+6], 2
0040bc03movzx rdx, [rip+0x59e11]
0040bc0bmov [rcx+4], dx
0040bc0fmovsxd rbx, ebx
0040bc12mov [rax+2*rbx], 0
0040bc18
0040bc18loc_40bc18:
0040bc18add rsp, 32
0040bc1cpop rbx
0040bc1dret
0040bbc0
0040bc1e
0040bc1e // align 0x10
0040bc1e // align 0x10
0040bc20
0040bc20fn_40bc20:
0040bc20push rsi
0040bc21push rbx
0040bc22sub rsp, 40
0040bc26mov ebx, ecx
0040bc28mov esi, edx
0040bc2axor eax, eax
0040bc2ctest ebx, ebx
0040bc2ejle 0x40bc8f
0040bc30cmp ebx, 0x7fffffef
0040bc36jl 0x40bc3d
0040bc38call fn_4085f0
0040bc3d
0040bc3dloc_40bc3d:
0040bc3dmov eax, ebx
0040bc3fadd eax, 1
0040bc42and eax, 1
0040bc45mov ecx, ebx
0040bc47add ecx, eax
0040bc49add ecx, 17
0040bc4cmovsxd rcx, ecx
0040bc4fcall fn_405700
0040bc54mov rcx, rax
0040bc57lea rax, [rcx+16]
0040bc5bmov [rcx+12], ebx
0040bc5emov [rcx+8], 1
0040bc65test si, si
0040bc68jne 0x40bc72
0040bc6amovzx rsi, [rip+0x59da6]
0040bc72
0040bc72loc_40bc72:
0040bc72mov [rcx+4], si
0040bc76mov [rcx+6], 1
0040bc7cmov ecx, ebx
0040bc7eshr ecx, 31
0040bc81add ecx, ebx
0040bc83sar ecx, 1
0040bc86movsxd rcx, ecx
0040bc89mov [rax+2*rcx], 0
0040bc8f
0040bc8floc_40bc8f:
0040bc8fadd rsp, 40
0040bc93pop rbx
0040bc94pop rsi
0040bc95ret
0040bc20
0040bc20fn_40bc20:
0040bc20push rsi
0040bc21push rbx
0040bc22sub rsp, 40
0040bc26mov ebx, ecx
0040bc28mov esi, edx
0040bc2axor eax, eax
0040bc2ctest ebx, ebx
0040bc2ejle 0x40bc8f
0040bc30cmp ebx, 0x7fffffef
0040bc36jl 0x40bc3d
0040bc38call fn_4085f0
0040bc3d
0040bc3dloc_40bc3d:
0040bc3dmov eax, ebx
0040bc3fadd eax, 1
0040bc42and eax, 1
0040bc45mov ecx, ebx
0040bc47add ecx, eax
0040bc49add ecx, 17
0040bc4cmovsxd rcx, ecx
0040bc4fcall fn_405700
0040bc54mov rcx, rax
0040bc57lea rax, [rcx+16]
0040bc5bmov [rcx+12], ebx
0040bc5emov [rcx+8], 1
0040bc65test si, si
0040bc68jne 0x40bc72
0040bc6amovzx rsi, [rip+0x59da6]
0040bc72
0040bc72loc_40bc72:
0040bc72mov [rcx+4], si
0040bc76mov [rcx+6], 1
0040bc7cmov ecx, ebx
0040bc7eshr ecx, 31
0040bc81add ecx, ebx
0040bc83sar ecx, 1
0040bc86movsxd rcx, ecx
0040bc89mov [rax+2*rcx], 0
0040bc8f
0040bc8floc_40bc8f:
0040bc8fadd rsp, 40
0040bc93pop rbx
0040bc94pop rsi
0040bc95ret
0040bc20
0040bc96
0040bc96 // align 0x10
0040bc96 // align 0x10
0040bca0
0040bca0fn_40bca0:
0040bca0push rbp
0040bca1sub rsp, 32
0040bca5mov rbp, rsp
0040bca8mov cl, 1
0040bcaamov rdx, [rbp+40]
0040bcaecall fn_4059c0
0040bcb3lea rsp, [rbp+32]
0040bcb7pop rbp
0040bcb8ret
0040bca0
0040bca0fn_40bca0:
0040bca0push rbp
0040bca1sub rsp, 32
0040bca5mov rbp, rsp
0040bca8mov cl, 1
0040bcaamov rdx, [rbp+40]
0040bcaecall fn_4059c0
0040bcb3lea rsp, [rbp+32]
0040bcb7pop rbp
0040bcb8ret
0040bca0
0040bcb9
0040bcb9 // align 0x10
0040bcb9 // align 0x10
0040bcc0
0040bcc0fn_40bcc0:
0040bcc0push rbx
0040bcc1sub rsp, 32
0040bcc5xor ebx, ebx
0040bcc7test ecx, ecx
0040bcc9je 0x40bce4
0040bccbxor eax, eax
0040bccdmov edx, ecx
0040bccfmov rcx, rax
0040bcd2call SysAllocStringLen
0040bcd7mov rbx, rax
0040bcdatest rbx, rbx
0040bcddjne 0x40bce4
0040bcdfcall fn_40bca0
0040bce4
0040bce4loc_40bce4:
0040bce4mov rax, rbx
0040bce7add rsp, 32
0040bcebpop rbx
0040bcecret
0040bcc0
0040bcc0fn_40bcc0:
0040bcc0push rbx
0040bcc1sub rsp, 32
0040bcc5xor ebx, ebx
0040bcc7test ecx, ecx
0040bcc9je 0x40bce4
0040bccbxor eax, eax
0040bccdmov edx, ecx
0040bccfmov rcx, rax
0040bcd2call SysAllocStringLen
0040bcd7mov rbx, rax
0040bcdatest rbx, rbx
0040bcddjne 0x40bce4
0040bcdfcall fn_40bca0
0040bce4
0040bce4loc_40bce4:
0040bce4mov rax, rbx
0040bce7add rsp, 32
0040bcebpop rbx
0040bcecret
0040bcc0
0040bced
0040bced // align 0x10
0040bced // align 0x10
0040bcf0
0040bcf0fn_40bcf0:
0040bcf0push rbx
0040bcf1sub rsp, 32
0040bcf5mov rbx, rcx
0040bcf8mov rax, [rbx]
0040bcfbtest rax, rax
0040bcfeje 0x40bd29
0040bd00lea rax, [rax-16]
0040bd04mov [rbx], 0
0040bd0bcmp [rax+8], 0
0040bd0fjle 0x40bd29
0040bd11or edx, -1
0040bd14mov ecx, edx
0040bd16lock xadd [rax+8], edx
0040bd1badd ecx, edx
0040bd1dtest ecx, ecx
0040bd1fjne 0x40bd29
0040bd21mov rcx, rax
0040bd24call fn_405730
0040bd29
0040bd29loc_40bd29:
0040bd29mov rax, rbx
0040bd2cadd rsp, 32
0040bd30pop rbx
0040bd31ret
0040bcf0
0040bcf0fn_40bcf0:
0040bcf0push rbx
0040bcf1sub rsp, 32
0040bcf5mov rbx, rcx
0040bcf8mov rax, [rbx]
0040bcfbtest rax, rax
0040bcfeje 0x40bd29
0040bd00lea rax, [rax-16]
0040bd04mov [rbx], 0
0040bd0bcmp [rax+8], 0
0040bd0fjle 0x40bd29
0040bd11or edx, -1
0040bd14mov ecx, edx
0040bd16lock xadd [rax+8], edx
0040bd1badd ecx, edx
0040bd1dtest ecx, ecx
0040bd1fjne 0x40bd29
0040bd21mov rcx, rax
0040bd24call fn_405730
0040bd29
0040bd29loc_40bd29:
0040bd29mov rax, rbx
0040bd2cadd rsp, 32
0040bd30pop rbx
0040bd31ret
0040bcf0
0040bd32
0040bd32 // align 0x10
0040bd32 // align 0x10
0040bd40
0040bd40fn_40bd40:
0040bd40push rbx
0040bd41sub rsp, 32
0040bd45mov rbx, rcx
0040bd48mov rax, [rbx]
0040bd4btest rax, rax
0040bd4eje 0x40bd79
0040bd50lea rax, [rax-16]
0040bd54mov [rbx], 0
0040bd5bcmp [rax+8], 0
0040bd5fjle 0x40bd79
0040bd61or edx, -1
0040bd64mov ecx, edx
0040bd66lock xadd [rax+8], edx
0040bd6badd ecx, edx
0040bd6dtest ecx, ecx
0040bd6fjne 0x40bd79
0040bd71mov rcx, rax
0040bd74call fn_405730
0040bd79
0040bd79loc_40bd79:
0040bd79mov rax, rbx
0040bd7cadd rsp, 32
0040bd80pop rbx
0040bd81ret
0040bd40
0040bd40fn_40bd40:
0040bd40push rbx
0040bd41sub rsp, 32
0040bd45mov rbx, rcx
0040bd48mov rax, [rbx]
0040bd4btest rax, rax
0040bd4eje 0x40bd79
0040bd50lea rax, [rax-16]
0040bd54mov [rbx], 0
0040bd5bcmp [rax+8], 0
0040bd5fjle 0x40bd79
0040bd61or edx, -1
0040bd64mov ecx, edx
0040bd66lock xadd [rax+8], edx
0040bd6badd ecx, edx
0040bd6dtest ecx, ecx
0040bd6fjne 0x40bd79
0040bd71mov rcx, rax
0040bd74call fn_405730
0040bd79
0040bd79loc_40bd79:
0040bd79mov rax, rbx
0040bd7cadd rsp, 32
0040bd80pop rbx
0040bd81ret
0040bd40
0040bd82
0040bd82 // align 0x10
0040bd82 // align 0x10
0040bd90
0040bd90fn_40bd90:
0040bd90push rbp
0040bd91push rbx
0040bd92sub rsp, 56
0040bd96mov rbp, rsp
0040bd99mov rbx, rcx
0040bd9cmov rax, [rbx]
0040bd9ftest rax, rax
0040bda2je 0x40bdb8
0040bda4mov [rbp+40], rax
0040bda8mov [rbx], 0
0040bdafmov rcx, [rbp+40]
0040bdb3call SysFreeString
0040bdb8
0040bdb8loc_40bdb8:
0040bdb8mov rax, rbx
0040bdbblea rsp, [rbp+56]
0040bdbfpop rbx
0040bdc0pop rbp
0040bdc1ret
0040bd90
0040bd90fn_40bd90:
0040bd90push rbp
0040bd91push rbx
0040bd92sub rsp, 56
0040bd96mov rbp, rsp
0040bd99mov rbx, rcx
0040bd9cmov rax, [rbx]
0040bd9ftest rax, rax
0040bda2je 0x40bdb8
0040bda4mov [rbp+40], rax
0040bda8mov [rbx], 0
0040bdafmov rcx, [rbp+40]
0040bdb3call SysFreeString
0040bdb8
0040bdb8loc_40bdb8:
0040bdb8mov rax, rbx
0040bdbblea rsp, [rbp+56]
0040bdbfpop rbx
0040bdc0pop rbp
0040bdc1ret
0040bd90
0040bdc2
0040bdc2 // align 0x10
0040bdc2 // align 0x10
0040bdd0
0040bdd0fn_40bdd0:
0040bdd0push rsi
0040bdd1push rbx
0040bdd2sub rsp, 40
0040bdd6mov ebx, edx
0040bdd8mov rsi, rcx
0040bddb
0040bddbloc_40bddb:
0040bddbmov rax, [rsi]
0040bddetest rax, rax
0040bde1je 0x40be0c
0040bde3mov [rsi], 0
0040bdeasub rax, 16
0040bdeecmp [rax+8], 0
0040bdf2jle 0x40be0c
0040bdf4or edx, -1
0040bdf7mov ecx, edx
0040bdf9lock xadd [rax+8], edx
0040bdfeadd ecx, edx
0040be00test ecx, ecx
0040be02jne 0x40be0c
0040be04mov rcx, rax
0040be07call fn_405730
0040be0c
0040be0cloc_40be0c:
0040be0cadd rsi, 8
0040be10sub ebx, 1
0040be13test ebx, ebx
0040be15jne 0x40bddb
0040be17add rsp, 40
0040be1bpop rbx
0040be1cpop rsi
0040be1dret
0040bdd0
0040bdd0fn_40bdd0:
0040bdd0push rsi
0040bdd1push rbx
0040bdd2sub rsp, 40
0040bdd6mov ebx, edx
0040bdd8mov rsi, rcx
0040bddb
0040bddbloc_40bddb:
0040bddbmov rax, [rsi]
0040bddetest rax, rax
0040bde1je 0x40be0c
0040bde3mov [rsi], 0
0040bdeasub rax, 16
0040bdeecmp [rax+8], 0
0040bdf2jle 0x40be0c
0040bdf4or edx, -1
0040bdf7mov ecx, edx
0040bdf9lock xadd [rax+8], edx
0040bdfeadd ecx, edx
0040be00test ecx, ecx
0040be02jne 0x40be0c
0040be04mov rcx, rax
0040be07call fn_405730
0040be0c
0040be0cloc_40be0c:
0040be0cadd rsi, 8
0040be10sub ebx, 1
0040be13test ebx, ebx
0040be15jne 0x40bddb
0040be17add rsp, 40
0040be1bpop rbx
0040be1cpop rsi
0040be1dret
0040bdd0
0040be1e
0040be1e // align 0x10
0040be1e // align 0x10
0040be20
0040be20fn_40be20:
0040be20push rsi
0040be21push rbx
0040be22sub rsp, 40
0040be26mov ebx, edx
0040be28mov rsi, rcx
0040be2b
0040be2bloc_40be2b:
0040be2bmov rax, [rsi]
0040be2etest rax, rax
0040be31je 0x40be5c
0040be33mov [rsi], 0
0040be3asub rax, 16
0040be3ecmp [rax+8], 0
0040be42jle 0x40be5c
0040be44or edx, -1
0040be47mov ecx, edx
0040be49lock xadd [rax+8], edx
0040be4eadd ecx, edx
0040be50test ecx, ecx
0040be52jne 0x40be5c
0040be54mov rcx, rax
0040be57call fn_405730
0040be5c
0040be5cloc_40be5c:
0040be5cadd rsi, 8
0040be60sub ebx, 1
0040be63test ebx, ebx
0040be65jne 0x40be2b
0040be67add rsp, 40
0040be6bpop rbx
0040be6cpop rsi
0040be6dret
0040be20
0040be20fn_40be20:
0040be20push rsi
0040be21push rbx
0040be22sub rsp, 40
0040be26mov ebx, edx
0040be28mov rsi, rcx
0040be2b
0040be2bloc_40be2b:
0040be2bmov rax, [rsi]
0040be2etest rax, rax
0040be31je 0x40be5c
0040be33mov [rsi], 0
0040be3asub rax, 16
0040be3ecmp [rax+8], 0
0040be42jle 0x40be5c
0040be44or edx, -1
0040be47mov ecx, edx
0040be49lock xadd [rax+8], edx
0040be4eadd ecx, edx
0040be50test ecx, ecx
0040be52jne 0x40be5c
0040be54mov rcx, rax
0040be57call fn_405730
0040be5c
0040be5cloc_40be5c:
0040be5cadd rsi, 8
0040be60sub ebx, 1
0040be63test ebx, ebx
0040be65jne 0x40be2b
0040be67add rsp, 40
0040be6bpop rbx
0040be6cpop rsi
0040be6dret
0040be20
0040be6e
0040be6e // align 0x10
0040be6e // align 0x10
0040be70
0040be70fn_40be70:
0040be70push rbp
0040be71push rsi
0040be72push rbx
0040be73sub rsp, 48
0040be77mov rbp, rsp
0040be7amov ebx, edx
0040be7cmov rsi, rcx
0040be7ftest ebx, ebx
0040be81jle 0x40beac
0040be83
0040be83loc_40be83:
0040be83mov rax, [rsi]
0040be86mov [rbp+40], rax
0040be8acmp [rbp+40], 0
0040be8fje 0x40bea1
0040be91mov [rsi], 0
0040be98mov rcx, [rbp+40]
0040be9ccall SysFreeString
0040bea1
0040bea1loc_40bea1:
0040bea1add rsi, 8
0040bea5sub ebx, 1
0040bea8test ebx, ebx
0040beaajg 0x40be83
0040beac
0040beacloc_40beac:
0040beacnop
0040beadlea rsp, [rbp+48]
0040beb1pop rbx
0040beb2pop rsi
0040beb3pop rbp
0040beb4ret
0040be70
0040be70fn_40be70:
0040be70push rbp
0040be71push rsi
0040be72push rbx
0040be73sub rsp, 48
0040be77mov rbp, rsp
0040be7amov ebx, edx
0040be7cmov rsi, rcx
0040be7ftest ebx, ebx
0040be81jle 0x40beac
0040be83
0040be83loc_40be83:
0040be83mov rax, [rsi]
0040be86mov [rbp+40], rax
0040be8acmp [rbp+40], 0
0040be8fje 0x40bea1
0040be91mov [rsi], 0
0040be98mov rcx, [rbp+40]
0040be9ccall SysFreeString
0040bea1
0040bea1loc_40bea1:
0040bea1add rsi, 8
0040bea5sub ebx, 1
0040bea8test ebx, ebx
0040beaajg 0x40be83
0040beac
0040beacloc_40beac:
0040beacnop
0040beadlea rsp, [rbp+48]
0040beb1pop rbx
0040beb2pop rsi
0040beb3pop rbp
0040beb4ret
0040be70
0040beb5
0040beb5 // align 0x10
0040beb5 // align 0x10
0040bec0
0040bec0fn_40bec0:
0040bec0mov rax, rcx
0040bec3test rcx, rcx
0040bec6je 0x40bedc
0040bec8lea rcx, [rcx-16]
0040becccmp [rcx+8], 0
0040bed0jl 0x40bedc
0040bed2mov edx, 1
0040bed7lock xadd [rcx+8], edx
0040bedc
0040bedcloc_40bedc:
0040bedcret
0040bec0
0040bec0fn_40bec0:
0040bec0mov rax, rcx
0040bec3test rcx, rcx
0040bec6je 0x40bedc
0040bec8lea rcx, [rcx-16]
0040becccmp [rcx+8], 0
0040bed0jl 0x40bedc
0040bed2mov edx, 1
0040bed7lock xadd [rcx+8], edx
0040bedc
0040bedcloc_40bedc:
0040bedcret
0040bec0
0040bedd
0040bedd // align 0x10
0040bedd // align 0x10
0040bee0
0040bee0fn_40bee0:
0040bee0mov rax, rcx
0040bee3test rcx, rcx
0040bee6je 0x40befc
0040bee8lea rcx, [rcx-16]
0040beeccmp [rcx+8], 0
0040bef0jl 0x40befc
0040bef2mov edx, 1
0040bef7lock xadd [rcx+8], edx
0040befc
0040befcloc_40befc:
0040befcret
0040bee0
0040bee0fn_40bee0:
0040bee0mov rax, rcx
0040bee3test rcx, rcx
0040bee6je 0x40befc
0040bee8lea rcx, [rcx-16]
0040beeccmp [rcx+8], 0
0040bef0jl 0x40befc
0040bef2mov edx, 1
0040bef7lock xadd [rcx+8], edx
0040befc
0040befcloc_40befc:
0040befcret
0040bee0
0040befd
0040befd // align 0x10
0040befd // align 0x10
0040bf00
0040bf00fn_40bf00:
0040bf00push rsi
0040bf01push rbx
0040bf02sub rsp, 40
0040bf06mov rbx, rcx
0040bf09mov rcx, [rbx]
0040bf0cmov rsi, rcx
0040bf0ftest rcx, rcx
0040bf12je 0x40bf37
0040bf14mov eax, [rcx-4]
0040bf17shr eax, 31
0040bf1aadd eax, [rcx-4]
0040bf1dsar eax, 1
0040bf20mov edx, eax
0040bf22call SysAllocStringLen
0040bf27mov rsi, rax
0040bf2atest rsi, rsi
0040bf2djne 0x40bf34
0040bf2fcall fn_40bca0
0040bf34
0040bf34loc_40bf34:
0040bf34mov [rbx], rsi
0040bf37
0040bf37loc_40bf37:
0040bf37mov rax, rsi
0040bf3aadd rsp, 40
0040bf3epop rbx
0040bf3fpop rsi
0040bf40ret
0040bf00
0040bf00fn_40bf00:
0040bf00push rsi
0040bf01push rbx
0040bf02sub rsp, 40
0040bf06mov rbx, rcx
0040bf09mov rcx, [rbx]
0040bf0cmov rsi, rcx
0040bf0ftest rcx, rcx
0040bf12je 0x40bf37
0040bf14mov eax, [rcx-4]
0040bf17shr eax, 31
0040bf1aadd eax, [rcx-4]
0040bf1dsar eax, 1
0040bf20mov edx, eax
0040bf22call SysAllocStringLen
0040bf27mov rsi, rax
0040bf2atest rsi, rsi
0040bf2djne 0x40bf34
0040bf2fcall fn_40bca0
0040bf34
0040bf34loc_40bf34:
0040bf34mov [rbx], rsi
0040bf37
0040bf37loc_40bf37:
0040bf37mov rax, rsi
0040bf3aadd rsp, 40
0040bf3epop rbx
0040bf3fpop rsi
0040bf40ret
0040bf00
0040bf41
0040bf41 // align 0x10
0040bf41 // align 0x10
0040bf50
0040bf50fn_40bf50:
0040bf50sub rsp, 72
0040bf54cmp [rsp+112], 0
0040bf59jne 0x40bf65
0040bf5bmov eax, [rip+0x59ab7]
0040bf61mov [rsp+112], eax
0040bf65
0040bf65loc_40bf65:
0040bf65mov eax, [rsp+112]
0040bf69xor r10, r10
0040bf6cmov [rsp+32], rcx
0040bf71mov [rsp+40], edx
0040bf75mov [rsp+48], 0
0040bf7emov [rsp+56], 0
0040bf87mov ecx, eax
0040bf89mov edx, r10l
0040bf8ccall fn_4146a0
0040bf91add rsp, 72
0040bf95ret
0040bf50
0040bf50fn_40bf50:
0040bf50sub rsp, 72
0040bf54cmp [rsp+112], 0
0040bf59jne 0x40bf65
0040bf5bmov eax, [rip+0x59ab7]
0040bf61mov [rsp+112], eax
0040bf65
0040bf65loc_40bf65:
0040bf65mov eax, [rsp+112]
0040bf69xor r10, r10
0040bf6cmov [rsp+32], rcx
0040bf71mov [rsp+40], edx
0040bf75mov [rsp+48], 0
0040bf7emov [rsp+56], 0
0040bf87mov ecx, eax
0040bf89mov edx, r10l
0040bf8ccall fn_4146a0
0040bf91add rsp, 72
0040bf95ret
0040bf50
0040bf96
0040bf96 // align 0x10
0040bf96 // align 0x10
0040bfa0
0040bfa0fn_40bfa0:
0040bfa0sub rsp, 56
0040bfa4mov eax, [rsp+96]
0040bfa8xor r10, r10
0040bfabmov [rsp+32], rcx
0040bfb0mov [rsp+40], edx
0040bfb4mov ecx, eax
0040bfb6mov edx, r10l
0040bfb9call fn_4146e0
0040bfbeadd rsp, 56
0040bfc2ret
0040bfa0
0040bfa0fn_40bfa0:
0040bfa0sub rsp, 56
0040bfa4mov eax, [rsp+96]
0040bfa8xor r10, r10
0040bfabmov [rsp+32], rcx
0040bfb0mov [rsp+40], edx
0040bfb4mov ecx, eax
0040bfb6mov edx, r10l
0040bfb9call fn_4146e0
0040bfbeadd rsp, 56
0040bfc2ret
0040bfa0
0040bfc3
0040bfc3 // align 0x10
0040bfc3 // align 0x10
0040bfd0
0040bfd0fn_40bfd0:
0040bfd0push rbp
0040bfd1push rdi
0040bfd2push rsi
0040bfd3push rbx
0040bfd4sub rsp, 56
0040bfd8mov rbp, rsp
0040bfdbmov rbx, rcx
0040bfdemov rsi, rdx
0040bfe1mov edi, r8l
0040bfe4mov rax, [rbx]
0040bfe7mov [rbp+40], rax
0040bfebtest edi, edi
0040bfedjle 0x40c014
0040bfefmov ecx, edi
0040bff1call fn_40bbc0
0040bff6mov [rbx], rax
0040bff9test rsi, rsi
0040bffcje 0x40c01b
0040bffemov rcx, rsi
0040c001mov rdx, rax
0040c004mov r8l, edi
0040c007add r8l, r8l
0040c00amovsxd r8, r8l
0040c00dcall fn_405ac0
0040c012jmp 0x40c01b
0040c014
0040c014loc_40c014:
0040c014mov [rbx], 0
0040c01b
0040c01bloc_40c01b:
0040c01blea rcx, [rbp+40]
0040c01fcall fn_40bcf0
0040c024lea rsp, [rbp+56]
0040c028pop rbx
0040c029pop rsi
0040c02apop rdi
0040c02bpop rbp
0040c02cret
0040bfd0
0040bfd0fn_40bfd0:
0040bfd0push rbp
0040bfd1push rdi
0040bfd2push rsi
0040bfd3push rbx
0040bfd4sub rsp, 56
0040bfd8mov rbp, rsp
0040bfdbmov rbx, rcx
0040bfdemov rsi, rdx
0040bfe1mov edi, r8l
0040bfe4mov rax, [rbx]
0040bfe7mov [rbp+40], rax
0040bfebtest edi, edi
0040bfedjle 0x40c014
0040bfefmov ecx, edi
0040bff1call fn_40bbc0
0040bff6mov [rbx], rax
0040bff9test rsi, rsi
0040bffcje 0x40c01b
0040bffemov rcx, rsi
0040c001mov rdx, rax
0040c004mov r8l, edi
0040c007add r8l, r8l
0040c00amovsxd r8, r8l
0040c00dcall fn_405ac0
0040c012jmp 0x40c01b
0040c014
0040c014loc_40c014:
0040c014mov [rbx], 0
0040c01b
0040c01bloc_40c01b:
0040c01blea rcx, [rbp+40]
0040c01fcall fn_40bcf0
0040c024lea rsp, [rbp+56]
0040c028pop rbx
0040c029pop rsi
0040c02apop rdi
0040c02bpop rbp
0040c02cret
0040bfd0
0040c02d
0040c02d // align 0x10
0040c02d // align 0x10
0040c030
0040c030fn_40c030:
0040c030push rsi
0040c031push rbx
0040c032sub rsp, 40
0040c036mov rbx, rcx
0040c039test r8l, r8l
0040c03cjg 0x40c048
0040c03emov rcx, rbx
0040c041call fn_40bd90
0040c046jmp 0x40c071
0040c048
0040c048loc_40c048:
0040c048mov rcx, rdx
0040c04bmov edx, r8l
0040c04ecall SysAllocStringLen
0040c053mov rsi, rax
0040c056test rsi, rsi
0040c059jne 0x40c060
0040c05bcall fn_40bca0
0040c060
0040c060loc_40c060:
0040c060cmp [rbx], 0
0040c064je 0x40c06e
0040c066mov rcx, [rbx]
0040c069call SysFreeString
0040c06e
0040c06eloc_40c06e:
0040c06emov [rbx], rsi
0040c071
0040c071loc_40c071:
0040c071add rsp, 40
0040c075pop rbx
0040c076pop rsi
0040c077ret
0040c030
0040c030fn_40c030:
0040c030push rsi
0040c031push rbx
0040c032sub rsp, 40
0040c036mov rbx, rcx
0040c039test r8l, r8l
0040c03cjg 0x40c048
0040c03emov rcx, rbx
0040c041call fn_40bd90
0040c046jmp 0x40c071
0040c048
0040c048loc_40c048:
0040c048mov rcx, rdx
0040c04bmov edx, r8l
0040c04ecall SysAllocStringLen
0040c053mov rsi, rax
0040c056test rsi, rsi
0040c059jne 0x40c060
0040c05bcall fn_40bca0
0040c060
0040c060loc_40c060:
0040c060cmp [rbx], 0
0040c064je 0x40c06e
0040c066mov rcx, [rbx]
0040c069call SysFreeString
0040c06e
0040c06eloc_40c06e:
0040c06emov [rbx], rsi
0040c071
0040c071loc_40c071:
0040c071add rsp, 40
0040c075pop rbx
0040c076pop rsi
0040c077ret
0040c030
0040c078
0040c078 // align 0x10
0040c078 // align 0x10
0040c080
0040c080fn_40c080:
0040c080push r13
0040c082push rdi
0040c083push rsi
0040c084push rbx
0040c085sub rsp, 40
0040c089mov rbx, rcx
0040c08cmov rsi, rdx
0040c08fmov edi, r8l
0040c092mov ecx, edi
0040c094mov edx, r9l
0040c097call fn_40bc20
0040c09cmov r13, rax
0040c09ftest rsi, rsi
0040c0a2je 0x40c0b2
0040c0a4mov rcx, rsi
0040c0a7mov rdx, r13
0040c0aamovsxd r8, edi
0040c0adcall fn_405ac0
0040c0b2
0040c0b2loc_40c0b2:
0040c0b2mov rcx, rbx
0040c0b5call fn_40bd40
0040c0bamov [rbx], r13
0040c0bdadd rsp, 40
0040c0c1pop rbx
0040c0c2pop rsi
0040c0c3pop rdi
0040c0c4pop r13
0040c0c6ret
0040c080
0040c080fn_40c080:
0040c080push r13
0040c082push rdi
0040c083push rsi
0040c084push rbx
0040c085sub rsp, 40
0040c089mov rbx, rcx
0040c08cmov rsi, rdx
0040c08fmov edi, r8l
0040c092mov ecx, edi
0040c094mov edx, r9l
0040c097call fn_40bc20
0040c09cmov r13, rax
0040c09ftest rsi, rsi
0040c0a2je 0x40c0b2
0040c0a4mov rcx, rsi
0040c0a7mov rdx, r13
0040c0aamovsxd r8, edi
0040c0adcall fn_405ac0
0040c0b2
0040c0b2loc_40c0b2:
0040c0b2mov rcx, rbx
0040c0b5call fn_40bd40
0040c0bamov [rbx], r13
0040c0bdadd rsp, 40
0040c0c1pop rbx
0040c0c2pop rsi
0040c0c3pop rdi
0040c0c4pop r13
0040c0c6ret
0040c080
0040c0c7
0040c0c7 // align 0x10
0040c0c7 // align 0x10
0040c0d0
0040c0d0fn_40c0d0:
0040c0d0push rbp
0040c0d1push r13
0040c0d3push rdi
0040c0d4push rsi
0040c0d5push rbx
0040c0d6mov [rsp-64], 0
0040c0dbmov [rsp-4160], 0
0040c0e3sub rsp, 4160
0040c0eamov rbp, rsp
0040c0edmov [rbp+48], rcx
0040c0f1mov [rbp+56], rdx
0040c0f5mov ebx, r8l
0040c0f8mov esi, r9l
0040c0fbtest ebx, ebx
0040c0fdjg 0x40c10a
0040c0ffmov rcx, [rbp+48]
0040c103call fn_40bcf0
0040c108jmp 0x40c185
0040c10a
0040c10aloc_40c10a:
0040c10amov r13l, ebx
0040c10dadd r13l, 1
0040c111cmp r13l, 2047
0040c118jge 0x40c14b
0040c11alea rcx, [rbp+64]
0040c11emov edx, 2047
0040c123mov r8, [rbp+56]
0040c127mov r9l, ebx
0040c12amov [rsp+32], esi
0040c12ecall fn_40bfa0
0040c133mov edi, eax
0040c135test edi, edi
0040c137jle 0x40c14b
0040c139mov rcx, [rbp+48]
0040c13dlea rdx, [rbp+64]
0040c141mov r8l, edi
0040c144call fn_40bfd0
0040c149jmp 0x40c185
0040c14b
0040c14bloc_40c14b:
0040c14bmov edi, r13l
0040c14emov rcx, [rbp+48]
0040c152mov edx, edi
0040c154call fn_40d8d0
0040c159mov rax, [rbp+48]
0040c15dmov rcx, [rax]
0040c160mov edx, edi
0040c162mov r8, [rbp+56]
0040c166mov r9l, ebx
0040c169mov [rsp+32], esi
0040c16dcall fn_40bfa0
0040c172mov edi, eax
0040c174test edi, edi
0040c176jge 0x40c17a
0040c178xor edi, edi
0040c17a
0040c17aloc_40c17a:
0040c17amov rcx, [rbp+48]
0040c17emov edx, edi
0040c180call fn_40d8d0
0040c185
0040c185loc_40c185:
0040c185lea rsp, [rbp+4160]
0040c18cpop rbx
0040c18dpop rsi
0040c18epop rdi
0040c18fpop r13
0040c191pop rbp
0040c192ret
0040c0d0
0040c0d0fn_40c0d0:
0040c0d0push rbp
0040c0d1push r13
0040c0d3push rdi
0040c0d4push rsi
0040c0d5push rbx
0040c0d6mov [rsp-64], 0
0040c0dbmov [rsp-4160], 0
0040c0e3sub rsp, 4160
0040c0eamov rbp, rsp
0040c0edmov [rbp+48], rcx
0040c0f1mov [rbp+56], rdx
0040c0f5mov ebx, r8l
0040c0f8mov esi, r9l
0040c0fbtest ebx, ebx
0040c0fdjg 0x40c10a
0040c0ffmov rcx, [rbp+48]
0040c103call fn_40bcf0
0040c108jmp 0x40c185
0040c10a
0040c10aloc_40c10a:
0040c10amov r13l, ebx
0040c10dadd r13l, 1
0040c111cmp r13l, 2047
0040c118jge 0x40c14b
0040c11alea rcx, [rbp+64]
0040c11emov edx, 2047
0040c123mov r8, [rbp+56]
0040c127mov r9l, ebx
0040c12amov [rsp+32], esi
0040c12ecall fn_40bfa0
0040c133mov edi, eax
0040c135test edi, edi
0040c137jle 0x40c14b
0040c139mov rcx, [rbp+48]
0040c13dlea rdx, [rbp+64]
0040c141mov r8l, edi
0040c144call fn_40bfd0
0040c149jmp 0x40c185
0040c14b
0040c14bloc_40c14b:
0040c14bmov edi, r13l
0040c14emov rcx, [rbp+48]
0040c152mov edx, edi
0040c154call fn_40d8d0
0040c159mov rax, [rbp+48]
0040c15dmov rcx, [rax]
0040c160mov edx, edi
0040c162mov r8, [rbp+56]
0040c166mov r9l, ebx
0040c169mov [rsp+32], esi
0040c16dcall fn_40bfa0
0040c172mov edi, eax
0040c174test edi, edi
0040c176jge 0x40c17a
0040c178xor edi, edi
0040c17a
0040c17aloc_40c17a:
0040c17amov rcx, [rbp+48]
0040c17emov edx, edi
0040c180call fn_40d8d0
0040c185
0040c185loc_40c185:
0040c185lea rsp, [rbp+4160]
0040c18cpop rbx
0040c18dpop rsi
0040c18epop rdi
0040c18fpop r13
0040c191pop rbp
0040c192ret
0040c0d0
0040c193
0040c193 // align 0x10
0040c193 // align 0x10
0040c1a0
0040c1a0fn_40c1a0:
0040c1a0sub rsp, 40
0040c1a4mov r9l, [rip+0x5986d]
0040c1abcall fn_40c0d0
0040c1b0add rsp, 40
0040c1b4ret
0040c1a0
0040c1a0fn_40c1a0:
0040c1a0sub rsp, 40
0040c1a4mov r9l, [rip+0x5986d]
0040c1abcall fn_40c0d0
0040c1b0add rsp, 40
0040c1b4ret
0040c1a0
0040c1b5
0040c1b5 // align 0x10
0040c1b5 // align 0x10
0040c1c0
0040c1c0fn_40c1c0:
0040c1c0push rbp
0040c1c1push r13
0040c1c3push rdi
0040c1c4push rsi
0040c1c5push rbx
0040c1c6mov [rsp-64], 0
0040c1cbmov [rsp-4160], 0
0040c1d3sub rsp, 4160
0040c1damov rbp, rsp
0040c1ddmov [rbp+48], rcx
0040c1e1mov [rbp+56], rdx
0040c1e5mov ebx, r8l
0040c1e8mov esi, r9l
0040c1ebtest ebx, ebx
0040c1edjg 0x40c1fa
0040c1efmov rcx, [rbp+48]
0040c1f3call fn_40bd90
0040c1f8jmp 0x40c275
0040c1fa
0040c1faloc_40c1fa:
0040c1famov r13l, ebx
0040c1fdadd r13l, 1
0040c201cmp r13l, 2047
0040c208jge 0x40c23b
0040c20alea rcx, [rbp+64]
0040c20emov edx, 2047
0040c213mov r8, [rbp+56]
0040c217mov r9l, ebx
0040c21amov [rsp+32], esi
0040c21ecall fn_40bfa0
0040c223mov edi, eax
0040c225test edi, edi
0040c227jle 0x40c23b
0040c229mov rcx, [rbp+48]
0040c22dlea rdx, [rbp+64]
0040c231mov r8l, edi
0040c234call fn_40c030
0040c239jmp 0x40c275
0040c23b
0040c23bloc_40c23b:
0040c23bmov edi, r13l
0040c23emov rcx, [rbp+48]
0040c242mov edx, edi
0040c244call fn_40d6b0
0040c249mov rax, [rbp+48]
0040c24dmov rcx, [rax]
0040c250mov edx, edi
0040c252mov r8, [rbp+56]
0040c256mov r9l, ebx
0040c259mov [rsp+32], esi
0040c25dcall fn_40bfa0
0040c262mov edi, eax
0040c264test edi, edi
0040c266jge 0x40c26a
0040c268xor edi, edi
0040c26a
0040c26aloc_40c26a:
0040c26amov rcx, [rbp+48]
0040c26emov edx, edi
0040c270call fn_40d6b0
0040c275
0040c275loc_40c275:
0040c275lea rsp, [rbp+4160]
0040c27cpop rbx
0040c27dpop rsi
0040c27epop rdi
0040c27fpop r13
0040c281pop rbp
0040c282ret
0040c1c0
0040c1c0fn_40c1c0:
0040c1c0push rbp
0040c1c1push r13
0040c1c3push rdi
0040c1c4push rsi
0040c1c5push rbx
0040c1c6mov [rsp-64], 0
0040c1cbmov [rsp-4160], 0
0040c1d3sub rsp, 4160
0040c1damov rbp, rsp
0040c1ddmov [rbp+48], rcx
0040c1e1mov [rbp+56], rdx
0040c1e5mov ebx, r8l
0040c1e8mov esi, r9l
0040c1ebtest ebx, ebx
0040c1edjg 0x40c1fa
0040c1efmov rcx, [rbp+48]
0040c1f3call fn_40bd90
0040c1f8jmp 0x40c275
0040c1fa
0040c1faloc_40c1fa:
0040c1famov r13l, ebx
0040c1fdadd r13l, 1
0040c201cmp r13l, 2047
0040c208jge 0x40c23b
0040c20alea rcx, [rbp+64]
0040c20emov edx, 2047
0040c213mov r8, [rbp+56]
0040c217mov r9l, ebx
0040c21amov [rsp+32], esi
0040c21ecall fn_40bfa0
0040c223mov edi, eax
0040c225test edi, edi
0040c227jle 0x40c23b
0040c229mov rcx, [rbp+48]
0040c22dlea rdx, [rbp+64]
0040c231mov r8l, edi
0040c234call fn_40c030
0040c239jmp 0x40c275
0040c23b
0040c23bloc_40c23b:
0040c23bmov edi, r13l
0040c23emov rcx, [rbp+48]
0040c242mov edx, edi
0040c244call fn_40d6b0
0040c249mov rax, [rbp+48]
0040c24dmov rcx, [rax]
0040c250mov edx, edi
0040c252mov r8, [rbp+56]
0040c256mov r9l, ebx
0040c259mov [rsp+32], esi
0040c25dcall fn_40bfa0
0040c262mov edi, eax
0040c264test edi, edi
0040c266jge 0x40c26a
0040c268xor edi, edi
0040c26a
0040c26aloc_40c26a:
0040c26amov rcx, [rbp+48]
0040c26emov edx, edi
0040c270call fn_40d6b0
0040c275
0040c275loc_40c275:
0040c275lea rsp, [rbp+4160]
0040c27cpop rbx
0040c27dpop rsi
0040c27epop rdi
0040c27fpop r13
0040c281pop rbp
0040c282ret
0040c1c0
0040c283
0040c283 // align 0x10
0040c283 // align 0x10
0040c290
0040c290fn_40c290:
0040c290sub rsp, 40
0040c294mov r9l, [rip+0x5977d]
0040c29bcall fn_40c1c0
0040c2a0add rsp, 40
0040c2a4ret
0040c290
0040c290fn_40c290:
0040c290sub rsp, 40
0040c294mov r9l, [rip+0x5977d]
0040c29bcall fn_40c1c0
0040c2a0add rsp, 40
0040c2a4ret
0040c290
0040c2a5
0040c2a5 // align 0x10
0040c2a5 // align 0x10
0040c2b0
0040c2b0fn_40c2b0:
0040c2b0push r13
0040c2b2push rdi
0040c2b3push rsi
0040c2b4push rbx
0040c2b5sub rsp, 72
0040c2b9mov [rsp+48], rcx
0040c2bemov [rsp+56], rdx
0040c2c3mov ebx, r8l
0040c2c6mov esi, r9l
0040c2c9test ebx, ebx
0040c2cbjg 0x40c2d9
0040c2cdmov rcx, [rsp+48]
0040c2d2call fn_40bd40
0040c2d7jmp 0x40c349
0040c2d9
0040c2d9loc_40c2d9:
0040c2d9test si, si
0040c2dcjne 0x40c2e6
0040c2demovzx rsi, [rip+0x59732]
0040c2e6
0040c2e6loc_40c2e6:
0040c2e6movzx r13l, si
0040c2eaxor ecx, ecx
0040c2ecxor edx, edx
0040c2eemov r8, [rsp+56]
0040c2f3mov r9l, ebx
0040c2f6mov [rsp+32], r13l
0040c2fbcall fn_40bf50
0040c300mov edi, eax
0040c302mov rcx, [rsp+48]
0040c307mov edx, edi
0040c309xor r8, r8
0040c30ccall fn_40cf30
0040c311test edi, edi
0040c313jle 0x40c33f
0040c315mov rax, [rsp+48]
0040c31amov rcx, [rax]
0040c31dmov edx, edi
0040c31fmov r8, [rsp+56]
0040c324mov r9l, ebx
0040c327mov [rsp+32], r13l
0040c32ccall fn_40bf50
0040c331mov rax, [rsp+48]
0040c336mov rax, [rax]
0040c339mov [rax-12], si
0040c33djmp 0x40c349
0040c33f
0040c33floc_40c33f:
0040c33fmov rcx, [rsp+48]
0040c344call fn_40bd40
0040c349
0040c349loc_40c349:
0040c349add rsp, 72
0040c34dpop rbx
0040c34epop rsi
0040c34fpop rdi
0040c350pop r13
0040c352ret
0040c2b0
0040c2b0fn_40c2b0:
0040c2b0push r13
0040c2b2push rdi
0040c2b3push rsi
0040c2b4push rbx
0040c2b5sub rsp, 72
0040c2b9mov [rsp+48], rcx
0040c2bemov [rsp+56], rdx
0040c2c3mov ebx, r8l
0040c2c6mov esi, r9l
0040c2c9test ebx, ebx
0040c2cbjg 0x40c2d9
0040c2cdmov rcx, [rsp+48]
0040c2d2call fn_40bd40
0040c2d7jmp 0x40c349
0040c2d9
0040c2d9loc_40c2d9:
0040c2d9test si, si
0040c2dcjne 0x40c2e6
0040c2demovzx rsi, [rip+0x59732]
0040c2e6
0040c2e6loc_40c2e6:
0040c2e6movzx r13l, si
0040c2eaxor ecx, ecx
0040c2ecxor edx, edx
0040c2eemov r8, [rsp+56]
0040c2f3mov r9l, ebx
0040c2f6mov [rsp+32], r13l
0040c2fbcall fn_40bf50
0040c300mov edi, eax
0040c302mov rcx, [rsp+48]
0040c307mov edx, edi
0040c309xor r8, r8
0040c30ccall fn_40cf30
0040c311test edi, edi
0040c313jle 0x40c33f
0040c315mov rax, [rsp+48]
0040c31amov rcx, [rax]
0040c31dmov edx, edi
0040c31fmov r8, [rsp+56]
0040c324mov r9l, ebx
0040c327mov [rsp+32], r13l
0040c32ccall fn_40bf50
0040c331mov rax, [rsp+48]
0040c336mov rax, [rax]
0040c339mov [rax-12], si
0040c33djmp 0x40c349
0040c33f
0040c33floc_40c33f:
0040c33fmov rcx, [rsp+48]
0040c344call fn_40bd40
0040c349
0040c349loc_40c349:
0040c349add rsp, 72
0040c34dpop rbx
0040c34epop rsi
0040c34fpop rdi
0040c350pop r13
0040c352ret
0040c2b0
0040c353
0040c353 // align 0x10
0040c353 // align 0x10
0040c360
0040c360fn_40c360:
0040c360push rbp
0040c361push r13
0040c363push rdi
0040c364push rsi
0040c365push rbx
0040c366sub rsp, 48
0040c36amov rbp, rsp
0040c36dmov rbx, rcx
0040c370mov r13, rdx
0040c373mov rsi, r13
0040c376test rsi, rsi
0040c379je 0x40c3b4
0040c37bcmp [r13-8], 0
0040c380jge 0x40c3a6
0040c382mov edi, [r13-4]
0040c386mov ecx, edi
0040c388call fn_40bbc0
0040c38dmov rsi, rax
0040c390mov rcx, r13
0040c393mov rdx, rsi
0040c396mov r8l, edi
0040c399add r8l, r8l
0040c39cmovsxd r8, r8l
0040c39fcall fn_405ac0
0040c3a4jmp 0x40c3b4
0040c3a6
0040c3a6loc_40c3a6:
0040c3a6lea rax, [rsi-16]
0040c3aamov ecx, 1
0040c3aflock xadd [rax+8], ecx
0040c3b4
0040c3b4loc_40c3b4:
0040c3b4mov rax, [rbx]
0040c3b7mov [rbp+40], rax
0040c3bbmov [rbx], rsi
0040c3belea rcx, [rbp+40]
0040c3c2call fn_40bcf0
0040c3c7lea rsp, [rbp+48]
0040c3cbpop rbx
0040c3ccpop rsi
0040c3cdpop rdi
0040c3cepop r13
0040c3d0pop rbp
0040c3d1ret
0040c360
0040c360fn_40c360:
0040c360push rbp
0040c361push r13
0040c363push rdi
0040c364push rsi
0040c365push rbx
0040c366sub rsp, 48
0040c36amov rbp, rsp
0040c36dmov rbx, rcx
0040c370mov r13, rdx
0040c373mov rsi, r13
0040c376test rsi, rsi
0040c379je 0x40c3b4
0040c37bcmp [r13-8], 0
0040c380jge 0x40c3a6
0040c382mov edi, [r13-4]
0040c386mov ecx, edi
0040c388call fn_40bbc0
0040c38dmov rsi, rax
0040c390mov rcx, r13
0040c393mov rdx, rsi
0040c396mov r8l, edi
0040c399add r8l, r8l
0040c39cmovsxd r8, r8l
0040c39fcall fn_405ac0
0040c3a4jmp 0x40c3b4
0040c3a6
0040c3a6loc_40c3a6:
0040c3a6lea rax, [rsi-16]
0040c3aamov ecx, 1
0040c3aflock xadd [rax+8], ecx
0040c3b4
0040c3b4loc_40c3b4:
0040c3b4mov rax, [rbx]
0040c3b7mov [rbp+40], rax
0040c3bbmov [rbx], rsi
0040c3belea rcx, [rbp+40]
0040c3c2call fn_40bcf0
0040c3c7lea rsp, [rbp+48]
0040c3cbpop rbx
0040c3ccpop rsi
0040c3cdpop rdi
0040c3cepop r13
0040c3d0pop rbp
0040c3d1ret
0040c360
0040c3d2
0040c3d2 // align 0x10
0040c3d2 // align 0x10
0040c3e0
0040c3e0fn_40c3e0:
0040c3e0sub rsp, 40
0040c3e4test rdx, rdx
0040c3e7je 0x40c3ff
0040c3e9lea rax, [rdx-16]
0040c3edcmp [rax+8], 0
0040c3f1jl 0x40c3ff
0040c3f3mov r8l, 1
0040c3f9lock xadd [rax+8], r8l
0040c3ff
0040c3ffloc_40c3ff:
0040c3ffmov rax, [rcx]
0040c402mov [rcx], rdx
0040c405test rax, rax
0040c408je 0x40c42c
0040c40alea rax, [rax-16]
0040c40ecmp [rax+8], 0
0040c412jle 0x40c42c
0040c414or edx, -1
0040c417mov ecx, edx
0040c419lock xadd [rax+8], edx
0040c41eadd ecx, edx
0040c420test ecx, ecx
0040c422jne 0x40c42c
0040c424mov rcx, rax
0040c427call fn_405730
0040c42c
0040c42cloc_40c42c:
0040c42cadd rsp, 40
0040c430ret
0040c3e0
0040c3e0fn_40c3e0:
0040c3e0sub rsp, 40
0040c3e4test rdx, rdx
0040c3e7je 0x40c3ff
0040c3e9lea rax, [rdx-16]
0040c3edcmp [rax+8], 0
0040c3f1jl 0x40c3ff
0040c3f3mov r8l, 1
0040c3f9lock xadd [rax+8], r8l
0040c3ff
0040c3ffloc_40c3ff:
0040c3ffmov rax, [rcx]
0040c402mov [rcx], rdx
0040c405test rax, rax
0040c408je 0x40c42c
0040c40alea rax, [rax-16]
0040c40ecmp [rax+8], 0
0040c412jle 0x40c42c
0040c414or edx, -1
0040c417mov ecx, edx
0040c419lock xadd [rax+8], edx
0040c41eadd ecx, edx
0040c420test ecx, ecx
0040c422jne 0x40c42c
0040c424mov rcx, rax
0040c427call fn_405730
0040c42c
0040c42cloc_40c42c:
0040c42cadd rsp, 40
0040c430ret
0040c3e0
0040c431
0040c431 // align 0x10
0040c431 // align 0x10
0040c440
0040c440fn_40c440:
0040c440sub rsp, 40
0040c444cmp [rcx], rdx
0040c447je 0x40c47d
0040c449test rdx, rdx
0040c44cjne 0x40c455
0040c44ecall fn_40bd90
0040c453jmp 0x40c47d
0040c455
0040c455loc_40c455:
0040c455mov eax, [rdx-4]
0040c458shr eax, 31
0040c45badd eax, [rdx-4]
0040c45esar eax, 1
0040c461test eax, eax
0040c463jne 0x40c46c
0040c465call fn_40bd90
0040c46ajmp 0x40c47d
0040c46c
0040c46cloc_40c46c:
0040c46cmov r8l, eax
0040c46fcall SysReAllocStringLen
0040c474test eax, eax
0040c476jne 0x40c47d
0040c478call fn_40bca0
0040c47d
0040c47dloc_40c47d:
0040c47dadd rsp, 40
0040c481ret
0040c440
0040c440fn_40c440:
0040c440sub rsp, 40
0040c444cmp [rcx], rdx
0040c447je 0x40c47d
0040c449test rdx, rdx
0040c44cjne 0x40c455
0040c44ecall fn_40bd90
0040c453jmp 0x40c47d
0040c455
0040c455loc_40c455:
0040c455mov eax, [rdx-4]
0040c458shr eax, 31
0040c45badd eax, [rdx-4]
0040c45esar eax, 1
0040c461test eax, eax
0040c463jne 0x40c46c
0040c465call fn_40bd90
0040c46ajmp 0x40c47d
0040c46c
0040c46cloc_40c46c:
0040c46cmov r8l, eax
0040c46fcall SysReAllocStringLen
0040c474test eax, eax
0040c476jne 0x40c47d
0040c478call fn_40bca0
0040c47d
0040c47dloc_40c47d:
0040c47dadd rsp, 40
0040c481ret
0040c440
0040c482
0040c482 // align 0x10
0040c482 // align 0x10
0040c490
0040c490fn_40c490:
0040c490sub rsp, 40
0040c494call fn_40c440
0040c499add rsp, 40
0040c49dret
0040c490
0040c490fn_40c490:
0040c490sub rsp, 40
0040c494call fn_40c440
0040c499add rsp, 40
0040c49dret
0040c490
0040c49e
0040c49e // align 0x10
0040c49e // align 0x10
0040c4a0
0040c4a0fn_40c4a0:
0040c4a0push rbp
0040c4a1push r13
0040c4a3push rdi
0040c4a4push rsi
0040c4a5push rbx
0040c4a6sub rsp, 48
0040c4aamov rbp, rsp
0040c4admov rbx, rcx
0040c4b0mov rsi, rdx
0040c4b3mov rdi, rsi
0040c4b6test rdi, rdi
0040c4b9je 0x40c4fe
0040c4bbmov rax, rdi
0040c4becmp [rax-8], 0
0040c4c2jge 0x40c4f0
0040c4c4mov r13l, [rax-4]
0040c4c8mov ecx, r13l
0040c4cbmovzx rdx, [rax-12]
0040c4d0call fn_40bc20
0040c4d5mov rdi, rax
0040c4d8mov rcx, rsi
0040c4dbcall fn_40ce10
0040c4e0mov rcx, rax
0040c4e3mov rdx, rdi
0040c4e6movsxd r8, r13l
0040c4e9call fn_405ac0
0040c4eejmp 0x40c4fe
0040c4f0
0040c4f0loc_40c4f0:
0040c4f0lea rax, [rax-16]
0040c4f4mov ecx, 1
0040c4f9lock xadd [rax+8], ecx
0040c4fe
0040c4feloc_40c4fe:
0040c4femov rax, [rbx]
0040c501mov [rbp+40], rax
0040c505mov [rbx], rdi
0040c508lea rcx, [rbp+40]
0040c50ccall fn_40bd40
0040c511lea rsp, [rbp+48]
0040c515pop rbx
0040c516pop rsi
0040c517pop rdi
0040c518pop r13
0040c51apop rbp
0040c51bret
0040c4a0
0040c4a0fn_40c4a0:
0040c4a0push rbp
0040c4a1push r13
0040c4a3push rdi
0040c4a4push rsi
0040c4a5push rbx
0040c4a6sub rsp, 48
0040c4aamov rbp, rsp
0040c4admov rbx, rcx
0040c4b0mov rsi, rdx
0040c4b3mov rdi, rsi
0040c4b6test rdi, rdi
0040c4b9je 0x40c4fe
0040c4bbmov rax, rdi
0040c4becmp [rax-8], 0
0040c4c2jge 0x40c4f0
0040c4c4mov r13l, [rax-4]
0040c4c8mov ecx, r13l
0040c4cbmovzx rdx, [rax-12]
0040c4d0call fn_40bc20
0040c4d5mov rdi, rax
0040c4d8mov rcx, rsi
0040c4dbcall fn_40ce10
0040c4e0mov rcx, rax
0040c4e3mov rdx, rdi
0040c4e6movsxd r8, r13l
0040c4e9call fn_405ac0
0040c4eejmp 0x40c4fe
0040c4f0
0040c4f0loc_40c4f0:
0040c4f0lea rax, [rax-16]
0040c4f4mov ecx, 1
0040c4f9lock xadd [rax+8], ecx
0040c4fe
0040c4feloc_40c4fe:
0040c4femov rax, [rbx]
0040c501mov [rbp+40], rax
0040c505mov [rbx], rdi
0040c508lea rcx, [rbp+40]
0040c50ccall fn_40bd40
0040c511lea rsp, [rbp+48]
0040c515pop rbx
0040c516pop rsi
0040c517pop rdi
0040c518pop r13
0040c51apop rbp
0040c51bret
0040c4a0
0040c51c
0040c51c // align 0x10
0040c51c // align 0x10
0040c520
0040c520fn_40c520:
0040c520push rbp
0040c521push rsi
0040c522push rbx
0040c523sub rsp, 48
0040c527mov rbp, rsp
0040c52amov rbx, rcx
0040c52dmov rsi, rdx
0040c530mov [rbp+40], rsi
0040c534cmp [rbp+40], 0
0040c539je 0x40c544
0040c53bmov rcx, [rbp+40]
0040c53fcall fn_40bee0
0040c544
0040c544loc_40c544:
0040c544mov rax, [rbx]
0040c547mov [rbp+40], rax
0040c54bmov [rbx], rsi
0040c54elea rcx, [rbp+40]
0040c552call fn_40bd40
0040c557lea rsp, [rbp+48]
0040c55bpop rbx
0040c55cpop rsi
0040c55dpop rbp
0040c55eret
0040c520
0040c520fn_40c520:
0040c520push rbp
0040c521push rsi
0040c522push rbx
0040c523sub rsp, 48
0040c527mov rbp, rsp
0040c52amov rbx, rcx
0040c52dmov rsi, rdx
0040c530mov [rbp+40], rsi
0040c534cmp [rbp+40], 0
0040c539je 0x40c544
0040c53bmov rcx, [rbp+40]
0040c53fcall fn_40bee0
0040c544
0040c544loc_40c544:
0040c544mov rax, [rbx]
0040c547mov [rbp+40], rax
0040c54bmov [rbx], rsi
0040c54elea rcx, [rbp+40]
0040c552call fn_40bd40
0040c557lea rsp, [rbp+48]
0040c55bpop rbx
0040c55cpop rsi
0040c55dpop rbp
0040c55eret
0040c520
0040c55f
0040c55f // align 0x10
0040c55f // align 0x10
0040c560
0040c560fn_40c560:
0040c560xor eax, eax
0040c562test rcx, rcx
0040c565je 0x40c56a
0040c567mov eax, [rcx-4]
0040c56a
0040c56aloc_40c56a:
0040c56aret
0040c560
0040c560fn_40c560:
0040c560xor eax, eax
0040c562test rcx, rcx
0040c565je 0x40c56a
0040c567mov eax, [rcx-4]
0040c56a
0040c56aloc_40c56a:
0040c56aret
0040c560
0040c56b
0040c56b // align 0x10
0040c56b // align 0x10
0040c570
0040c570fn_40c570:
0040c570xor eax, eax
0040c572test rcx, rcx
0040c575je 0x40c57a
0040c577mov eax, [rcx-4]
0040c57a
0040c57aloc_40c57a:
0040c57aret
0040c570
0040c570fn_40c570:
0040c570xor eax, eax
0040c572test rcx, rcx
0040c575je 0x40c57a
0040c577mov eax, [rcx-4]
0040c57a
0040c57aloc_40c57a:
0040c57aret
0040c570
0040c57b
0040c57b // align 0x10
0040c57b // align 0x10
0040c580
0040c580fn_40c580:
0040c580xor eax, eax
0040c582test rcx, rcx
0040c585je 0x40c595
0040c587jmp 0x40c58c
0040c589
0040c589loc_40c589:
0040c589add eax, 1
0040c58c
0040c58cloc_40c58c:
0040c58cmovsxd rdx, eax
0040c58fcmp [rcx+rdx], 0
0040c593jne 0x40c589
0040c595
0040c595loc_40c595:
0040c595ret
0040c580
0040c580fn_40c580:
0040c580xor eax, eax
0040c582test rcx, rcx
0040c585je 0x40c595
0040c587jmp 0x40c58c
0040c589
0040c589loc_40c589:
0040c589add eax, 1
0040c58c
0040c58cloc_40c58c:
0040c58cmovsxd rdx, eax
0040c58fcmp [rcx+rdx], 0
0040c593jne 0x40c589
0040c595
0040c595loc_40c595:
0040c595ret
0040c580
0040c596
0040c596 // align 0x10
0040c596 // align 0x10
0040c5a0
0040c5a0fn_40c5a0:
0040c5a0xor eax, eax
0040c5a2test rcx, rcx
0040c5a5je 0x40c5b6
0040c5a7jmp 0x40c5ac
0040c5a9
0040c5a9loc_40c5a9:
0040c5a9add eax, 1
0040c5ac
0040c5acloc_40c5ac:
0040c5acmovsxd rdx, eax
0040c5afcmp [rcx+2*rdx], 0
0040c5b4jne 0x40c5a9
0040c5b6
0040c5b6loc_40c5b6:
0040c5b6ret
0040c5a0
0040c5a0fn_40c5a0:
0040c5a0xor eax, eax
0040c5a2test rcx, rcx
0040c5a5je 0x40c5b6
0040c5a7jmp 0x40c5ac
0040c5a9
0040c5a9loc_40c5a9:
0040c5a9add eax, 1
0040c5ac
0040c5acloc_40c5ac:
0040c5acmovsxd rdx, eax
0040c5afcmp [rcx+2*rdx], 0
0040c5b4jne 0x40c5a9
0040c5b6
0040c5b6loc_40c5b6:
0040c5b6ret
0040c5a0
0040c5b7
0040c5b7 // align 0x10
0040c5b7 // align 0x10
0040c5c0
0040c5c0fn_40c5c0:
0040c5c0push rdi
0040c5c1push rsi
0040c5c2push rbx
0040c5c3sub rsp, 32
0040c5c7mov rbx, rcx
0040c5camov rax, [rbx]
0040c5cdmov rsi, rax
0040c5d0test rsi, rsi
0040c5d3je 0x40c615
0040c5d5mov rsi, rax
0040c5d8lea rdi, [rax-16]
0040c5dccmp [rdi+8], 1
0040c5e0je 0x40c615
0040c5e2mov ecx, [rdi+12]
0040c5e5call fn_40bbc0
0040c5eamov rsi, rax
0040c5edmov rcx, [rbx]
0040c5f0call fn_40d710
0040c5f5mov rcx, rax
0040c5f8mov rdx, rsi
0040c5fbmov r8l, [rdi+12]
0040c5ffadd r8l, r8l
0040c602movsxd r8, r8l
0040c605call fn_405ac0
0040c60amov rcx, rbx
0040c60dcall fn_40bcf0
0040c612mov [rbx], rsi
0040c615
0040c615loc_40c615:
0040c615mov rax, rsi
0040c618add rsp, 32
0040c61cpop rbx
0040c61dpop rsi
0040c61epop rdi
0040c61fret
0040c5c0
0040c5c0fn_40c5c0:
0040c5c0push rdi
0040c5c1push rsi
0040c5c2push rbx
0040c5c3sub rsp, 32
0040c5c7mov rbx, rcx
0040c5camov rax, [rbx]
0040c5cdmov rsi, rax
0040c5d0test rsi, rsi
0040c5d3je 0x40c615
0040c5d5mov rsi, rax
0040c5d8lea rdi, [rax-16]
0040c5dccmp [rdi+8], 1
0040c5e0je 0x40c615
0040c5e2mov ecx, [rdi+12]
0040c5e5call fn_40bbc0
0040c5eamov rsi, rax
0040c5edmov rcx, [rbx]
0040c5f0call fn_40d710
0040c5f5mov rcx, rax
0040c5f8mov rdx, rsi
0040c5fbmov r8l, [rdi+12]
0040c5ffadd r8l, r8l
0040c602movsxd r8, r8l
0040c605call fn_405ac0
0040c60amov rcx, rbx
0040c60dcall fn_40bcf0
0040c612mov [rbx], rsi
0040c615
0040c615loc_40c615:
0040c615mov rax, rsi
0040c618add rsp, 32
0040c61cpop rbx
0040c61dpop rsi
0040c61epop rdi
0040c61fret
0040c5c0
0040c620
0040c620fn_40c620:
0040c620push rdi
0040c621push rsi
0040c622push rbx
0040c623sub rsp, 32
0040c627mov rbx, rcx
0040c62amov rax, [rbx]
0040c62dmov rsi, rax
0040c630test rsi, rsi
0040c633je 0x40c674
0040c635mov rsi, rax
0040c638lea rdi, [rax-16]
0040c63ccmp [rdi+8], 1
0040c640je 0x40c674
0040c642mov ecx, [rdi+12]
0040c645movzx rdx, [rdi+4]
0040c64acall fn_40bc20
0040c64fmov rsi, rax
0040c652mov rcx, [rbx]
0040c655call fn_40ce10
0040c65amov rcx, rax
0040c65dmov rdx, rsi
0040c660movsxd r8, [rdi+12]
0040c664call fn_405ac0
0040c669mov rcx, rbx
0040c66ccall fn_40bd40
0040c671mov [rbx], rsi
0040c674
0040c674loc_40c674:
0040c674mov rax, rsi
0040c677add rsp, 32
0040c67bpop rbx
0040c67cpop rsi
0040c67dpop rdi
0040c67eret
0040c620
0040c620fn_40c620:
0040c620push rdi
0040c621push rsi
0040c622push rbx
0040c623sub rsp, 32
0040c627mov rbx, rcx
0040c62amov rax, [rbx]
0040c62dmov rsi, rax
0040c630test rsi, rsi
0040c633je 0x40c674
0040c635mov rsi, rax
0040c638lea rdi, [rax-16]
0040c63ccmp [rdi+8], 1
0040c640je 0x40c674
0040c642mov ecx, [rdi+12]
0040c645movzx rdx, [rdi+4]
0040c64acall fn_40bc20
0040c64fmov rsi, rax
0040c652mov rcx, [rbx]
0040c655call fn_40ce10
0040c65amov rcx, rax
0040c65dmov rdx, rsi
0040c660movsxd r8, [rdi+12]
0040c664call fn_405ac0
0040c669mov rcx, rbx
0040c66ccall fn_40bd40
0040c671mov [rbx], rsi
0040c674
0040c674loc_40c674:
0040c674mov rax, rsi
0040c677add rsp, 32
0040c67bpop rbx
0040c67cpop rsi
0040c67dpop rdi
0040c67eret
0040c620
0040c67f
0040c67f // align 0x10
0040c67f // align 0x10
0040c680
0040c680fn_40c680:
0040c680sub rsp, 40
0040c684call fn_40c5c0
0040c689add rsp, 40
0040c68dret
0040c680
0040c680fn_40c680:
0040c680sub rsp, 40
0040c684call fn_40c5c0
0040c689add rsp, 40
0040c68dret
0040c680
0040c68e
0040c68e // align 0x10
0040c68e // align 0x10
0040c690
0040c690fn_40c690:
0040c690sub rsp, 40
0040c694call fn_40c620
0040c699add rsp, 40
0040c69dret
0040c690
0040c690fn_40c690:
0040c690sub rsp, 40
0040c694call fn_40c620
0040c699add rsp, 40
0040c69dret
0040c690
0040c69e
0040c69e // align 0x10
0040c69e // align 0x10
0040c6a0
0040c6a0fn_40c6a0:
0040c6a0sub rsp, 40
0040c6a4call fn_40c5c0
0040c6a9add rsp, 40
0040c6adret
0040c6a0
0040c6a0fn_40c6a0:
0040c6a0sub rsp, 40
0040c6a4call fn_40c5c0
0040c6a9add rsp, 40
0040c6adret
0040c6a0
0040c6ae
0040c6ae // align 0x10
0040c6ae // align 0x10
0040c6b0
0040c6b0fn_40c6b0:
0040c6b0xor eax, eax
0040c6b2jmp 0x40c6e6
0040c6b4
0040c6b4loc_40c6b4:
0040c6b4mov r9l, [rcx]
0040c6b7cmp r9l, [rdx]
0040c6bajne 0x40c6ec
0040c6bccmp r8, 8
0040c6c0jl 0x40c6cc
0040c6c2mov r9l, [rcx+4]
0040c6c6cmp r9l, [rdx+4]
0040c6caje 0x40c6da
0040c6cc
0040c6ccloc_40c6cc:
0040c6ccadd rcx, 4
0040c6d0add rdx, 4
0040c6d4sub r8, 4
0040c6d8jmp 0x40c6ec
0040c6da
0040c6daloc_40c6da:
0040c6daadd rcx, 8
0040c6deadd rdx, 8
0040c6e2sub r8, 8
0040c6e6
0040c6e6loc_40c6e6:
0040c6e6cmp r8, 4
0040c6eajge 0x40c6b4
0040c6ec
0040c6ecloc_40c6ec:
0040c6ecnop
0040c6edtest r8, r8
0040c6f0je 0x40c741
0040c6f2movzx rax, [rcx]
0040c6f6movzx r9, [rdx]
0040c6fasub eax, r9l
0040c6fdtest eax, eax
0040c6ffjne 0x40c741
0040c701cmp r8, 1
0040c705je 0x40c741
0040c707movzx rax, [rcx+1]
0040c70cmovzx r9, [rdx+1]
0040c711sub eax, r9l
0040c714test eax, eax
0040c716jne 0x40c741
0040c718cmp r8, 2
0040c71cje 0x40c741
0040c71emovzx rax, [rcx+2]
0040c723movzx r9, [rdx+2]
0040c728sub eax, r9l
0040c72btest eax, eax
0040c72djne 0x40c741
0040c72fcmp r8, 3
0040c733je 0x40c741
0040c735movzx rax, [rcx+3]
0040c73amovzx rcx, [rdx+3]
0040c73fsub eax, ecx
0040c741
0040c741loc_40c741:
0040c741ret
0040c6b0
0040c6b0fn_40c6b0:
0040c6b0xor eax, eax
0040c6b2jmp 0x40c6e6
0040c6b4
0040c6b4loc_40c6b4:
0040c6b4mov r9l, [rcx]
0040c6b7cmp r9l, [rdx]
0040c6bajne 0x40c6ec
0040c6bccmp r8, 8
0040c6c0jl 0x40c6cc
0040c6c2mov r9l, [rcx+4]
0040c6c6cmp r9l, [rdx+4]
0040c6caje 0x40c6da
0040c6cc
0040c6ccloc_40c6cc:
0040c6ccadd rcx, 4
0040c6d0add rdx, 4
0040c6d4sub r8, 4
0040c6d8jmp 0x40c6ec
0040c6da
0040c6daloc_40c6da:
0040c6daadd rcx, 8
0040c6deadd rdx, 8
0040c6e2sub r8, 8
0040c6e6
0040c6e6loc_40c6e6:
0040c6e6cmp r8, 4
0040c6eajge 0x40c6b4
0040c6ec
0040c6ecloc_40c6ec:
0040c6ecnop
0040c6edtest r8, r8
0040c6f0je 0x40c741
0040c6f2movzx rax, [rcx]
0040c6f6movzx r9, [rdx]
0040c6fasub eax, r9l
0040c6fdtest eax, eax
0040c6ffjne 0x40c741
0040c701cmp r8, 1
0040c705je 0x40c741
0040c707movzx rax, [rcx+1]
0040c70cmovzx r9, [rdx+1]
0040c711sub eax, r9l
0040c714test eax, eax
0040c716jne 0x40c741
0040c718cmp r8, 2
0040c71cje 0x40c741
0040c71emovzx rax, [rcx+2]
0040c723movzx r9, [rdx+2]
0040c728sub eax, r9l
0040c72btest eax, eax
0040c72djne 0x40c741
0040c72fcmp r8, 3
0040c733je 0x40c741
0040c735movzx rax, [rcx+3]
0040c73amovzx rcx, [rdx+3]
0040c73fsub eax, ecx
0040c741
0040c741loc_40c741:
0040c741ret
0040c6b0
0040c742
0040c742 // align 0x10
0040c742 // align 0x10
0040c750
0040c750fn_40c750:
0040c750sub rsp, 40
0040c754mov rax, rdx
0040c757mov r8, rcx
0040c75amovzx r9, [rdx]
0040c75eadd r9l, 1
0040c762mov r9l, r9l
0040c765mov rcx, rax
0040c768mov rdx, r8
0040c76bmov r8, r9
0040c76ecall fn_405ac0
0040c773add rsp, 40
0040c777ret
0040c750
0040c750fn_40c750:
0040c750sub rsp, 40
0040c754mov rax, rdx
0040c757mov r8, rcx
0040c75amovzx r9, [rdx]
0040c75eadd r9l, 1
0040c762mov r9l, r9l
0040c765mov rcx, rax
0040c768mov rdx, r8
0040c76bmov r8, r9
0040c76ecall fn_405ac0
0040c773add rsp, 40
0040c777ret
0040c750
0040c778
0040c778 // align 0x10
0040c778 // align 0x10
0040c780
0040c780fn_40c780:
0040c780push rbp
0040c781push rdi
0040c782push rsi
0040c783sub rsp, 272
0040c78amov rbp, rsp
0040c78dmov rax, rcx
0040c790mov rsi, rdx
0040c793movzx rcx, [rsi]
0040c797lea rcx, [rcx+1]
0040c79blea rdi, [rbp+16]
0040c79frep movsb [rdi], [rsi]
0040c7a1mov [rbp+8], rax
0040c7a5mov rcx, [rbp+8]
0040c7a9movzx rcx, [rcx]
0040c7adlea rdx, [rbp+16]
0040c7b1mov [rbp], rdx
0040c7b5mov rdx, [rbp]
0040c7b9movzx rdx, [rdx]
0040c7bdmov r9l, ecx
0040c7c0add r9l, edx
0040c7c3cmp r9l, r8l
0040c7c6jle 0x40c7cd
0040c7c8mov edx, r8l
0040c7cbsub edx, ecx
0040c7cd
0040c7cdloc_40c7cd:
0040c7cdmov r8l, ecx
0040c7d0add r8b, dl
0040c7d3mov [rax], r8b
0040c7d6mov r8l, 1
0040c7dcmov r9l, edx
0040c7dfmov edx, r8l
0040c7e2cmp edx, r9l
0040c7e5jg 0x40c813
0040c7e7sub r9l, r8l
0040c7eaadd r9l, 1
0040c7eelea r8, [rbp+17]
0040c7f2
0040c7f2loc_40c7f2:
0040c7f2mov r10l, ecx
0040c7f5add r10l, edx
0040c7f8movsxd r10, r10l
0040c7fbmovzx r11, [r8]
0040c7ffmov [rax+r10], r11b
0040c803add edx, 1
0040c806add r8, 1
0040c80asub r9l, 1
0040c80etest r9l, r9l
0040c811jne 0x40c7f2
0040c813
0040c813loc_40c813:
0040c813nop
0040c814lea rsp, [rbp+272]
0040c81bpop rsi
0040c81cpop rdi
0040c81dpop rbp
0040c81eret
0040c780
0040c780fn_40c780:
0040c780push rbp
0040c781push rdi
0040c782push rsi
0040c783sub rsp, 272
0040c78amov rbp, rsp
0040c78dmov rax, rcx
0040c790mov rsi, rdx
0040c793movzx rcx, [rsi]
0040c797lea rcx, [rcx+1]
0040c79blea rdi, [rbp+16]
0040c79frep movsb [rdi], [rsi]
0040c7a1mov [rbp+8], rax
0040c7a5mov rcx, [rbp+8]
0040c7a9movzx rcx, [rcx]
0040c7adlea rdx, [rbp+16]
0040c7b1mov [rbp], rdx
0040c7b5mov rdx, [rbp]
0040c7b9movzx rdx, [rdx]
0040c7bdmov r9l, ecx
0040c7c0add r9l, edx
0040c7c3cmp r9l, r8l
0040c7c6jle 0x40c7cd
0040c7c8mov edx, r8l
0040c7cbsub edx, ecx
0040c7cd
0040c7cdloc_40c7cd:
0040c7cdmov r8l, ecx
0040c7d0add r8b, dl
0040c7d3mov [rax], r8b
0040c7d6mov r8l, 1
0040c7dcmov r9l, edx
0040c7dfmov edx, r8l
0040c7e2cmp edx, r9l
0040c7e5jg 0x40c813
0040c7e7sub r9l, r8l
0040c7eaadd r9l, 1
0040c7eelea r8, [rbp+17]
0040c7f2
0040c7f2loc_40c7f2:
0040c7f2mov r10l, ecx
0040c7f5add r10l, edx
0040c7f8movsxd r10, r10l
0040c7fbmovzx r11, [r8]
0040c7ffmov [rax+r10], r11b
0040c803add edx, 1
0040c806add r8, 1
0040c80asub r9l, 1
0040c80etest r9l, r9l
0040c811jne 0x40c7f2
0040c813
0040c813loc_40c813:
0040c813nop
0040c814lea rsp, [rbp+272]
0040c81bpop rsi
0040c81cpop rdi
0040c81dpop rbp
0040c81eret
0040c780
0040c81f
0040c81f // align 0x10
0040c81f // align 0x10
0040c820
0040c820fn_40c820:
0040c820sub rsp, 40
0040c824mov [rsp+56], dl
0040c828lea rdx, [rsp+56]
0040c82dmov eax, 1
0040c832mov r9l, r8l
0040c835mov r8l, eax
0040c838call fn_40c080
0040c83dadd rsp, 40
0040c841ret
0040c820
0040c820fn_40c820:
0040c820sub rsp, 40
0040c824mov [rsp+56], dl
0040c828lea rdx, [rsp+56]
0040c82dmov eax, 1
0040c832mov r9l, r8l
0040c835mov r8l, eax
0040c838call fn_40c080
0040c83dadd rsp, 40
0040c841ret
0040c820
0040c842
0040c842 // align 0x10
0040c842 // align 0x10
0040c850
0040c850fn_40c850:
0040c850sub rsp, 40
0040c854xor eax, eax
0040c856test rdx, rdx
0040c859je 0x40c877
0040c85bmov rax, rdx
0040c85ejmp 0x40c864
0040c860
0040c860loc_40c860:
0040c860add rax, 2
0040c864
0040c864loc_40c864:
0040c864cmp [rax], 0
0040c868jne 0x40c860
0040c86asub rax, rdx
0040c86dsar rax, 1
0040c871jns 0x40c877
0040c873adc rax, 0
0040c877
0040c877loc_40c877:
0040c877mov r9l, r8l
0040c87amov r8l, eax
0040c87dcall fn_40c2b0
0040c882add rsp, 40
0040c886ret
0040c850
0040c850fn_40c850:
0040c850sub rsp, 40
0040c854xor eax, eax
0040c856test rdx, rdx
0040c859je 0x40c877
0040c85bmov rax, rdx
0040c85ejmp 0x40c864
0040c860
0040c860loc_40c860:
0040c860add rax, 2
0040c864
0040c864loc_40c864:
0040c864cmp [rax], 0
0040c868jne 0x40c860
0040c86asub rax, rdx
0040c86dsar rax, 1
0040c871jns 0x40c877
0040c873adc rax, 0
0040c877
0040c877loc_40c877:
0040c877mov r9l, r8l
0040c87amov r8l, eax
0040c87dcall fn_40c2b0
0040c882add rsp, 40
0040c886ret
0040c850
0040c887
0040c887 // align 0x10
0040c887 // align 0x10
0040c890
0040c890fn_40c890:
0040c890push rbp
0040c891push rdi
0040c892push rsi
0040c893sub rsp, 288
0040c89amov rbp, rsp
0040c89dmov rax, rcx
0040c8a0mov rsi, rdx
0040c8a3movzx rcx, [rsi]
0040c8a7lea rcx, [rcx+1]
0040c8ablea rdi, [rbp+32]
0040c8afrep movsb [rdi], [rsi]
0040c8b1mov rcx, rax
0040c8b4lea rdx, [rbp+33]
0040c8b8movzx rax, [rbp+32]
0040c8bdmov r9l, r8l
0040c8c0mov r8l, eax
0040c8c3call fn_40c080
0040c8c8lea rsp, [rbp+288]
0040c8cfpop rsi
0040c8d0pop rdi
0040c8d1pop rbp
0040c8d2ret
0040c890
0040c890fn_40c890:
0040c890push rbp
0040c891push rdi
0040c892push rsi
0040c893sub rsp, 288
0040c89amov rbp, rsp
0040c89dmov rax, rcx
0040c8a0mov rsi, rdx
0040c8a3movzx rcx, [rsi]
0040c8a7lea rcx, [rcx+1]
0040c8ablea rdi, [rbp+32]
0040c8afrep movsb [rdi], [rsi]
0040c8b1mov rcx, rax
0040c8b4lea rdx, [rbp+33]
0040c8b8movzx rax, [rbp+32]
0040c8bdmov r9l, r8l
0040c8c0mov r8l, eax
0040c8c3call fn_40c080
0040c8c8lea rsp, [rbp+288]
0040c8cfpop rsi
0040c8d0pop rdi
0040c8d1pop rbp
0040c8d2ret
0040c890
0040c8d3
0040c8d3 // align 0x10
0040c8d3 // align 0x10
0040c8e0
0040c8e0fn_40c8e0:
0040c8e0sub rsp, 40
0040c8e4xor eax, eax
0040c8e6test rdx, rdx
0040c8e9je 0x40c8f7
0040c8ebmov eax, [rdx-4]
0040c8eeshr eax, 31
0040c8f1add eax, [rdx-4]
0040c8f4sar eax, 1
0040c8f7
0040c8f7loc_40c8f7:
0040c8f7mov r9l, r8l
0040c8famov r8l, eax
0040c8fdcall fn_40c2b0
0040c902add rsp, 40
0040c906ret
0040c8e0
0040c8e0fn_40c8e0:
0040c8e0sub rsp, 40
0040c8e4xor eax, eax
0040c8e6test rdx, rdx
0040c8e9je 0x40c8f7
0040c8ebmov eax, [rdx-4]
0040c8eeshr eax, 31
0040c8f1add eax, [rdx-4]
0040c8f4sar eax, 1
0040c8f7
0040c8f7loc_40c8f7:
0040c8f7mov r9l, r8l
0040c8famov r8l, eax
0040c8fdcall fn_40c2b0
0040c902add rsp, 40
0040c906ret
0040c8e0
0040c907
0040c907 // align 0x10
0040c907 // align 0x10
0040c910
0040c910fn_40c910:
0040c910push r14
0040c912push r13
0040c914push rdi
0040c915push rsi
0040c916push rbx
0040c917sub rsp, 48
0040c91bmov [rsp+40], rcx
0040c920mov rbx, rdx
0040c923mov rcx, rbx
0040c926test rcx, rcx
0040c929je 0x40c9f5
0040c92fmov rax, [rsp+40]
0040c934mov rax, [rax]
0040c937test rax, rax
0040c93ajne 0x40c94e
0040c93cmov rcx, [rsp+40]
0040c941mov rdx, rbx
0040c944call fn_40c4a0
0040c949jmp 0x40c9f5
0040c94e
0040c94eloc_40c94e:
0040c94emov esi, [rax-4]
0040c951mov edi, [rcx-4]
0040c954mov r13l, esi
0040c957add r13l, edi
0040c95amov eax, esi
0040c95cand eax, edi
0040c95emov ecx, r13l
0040c961not ecx
0040c963mov edx, esi
0040c965or edx, edi
0040c967and ecx, edx
0040c969or eax, ecx
0040c96btest eax, 0xffffffff80000000
0040c971je 0x40c978
0040c973call fn_4085f0
0040c978
0040c978loc_40c978:
0040c978mov rcx, [rsp+40]
0040c97dcall fn_40c690
0040c982mov ecx, [rip+0x4e5c0]
0040c988lea r14, [rax+rcx-1]
0040c98dmov rcx, [rsp+40]
0040c992mov edx, r13l
0040c995mov rax, [rsp+40]
0040c99amov rax, [rax]
0040c99dmovzx r8, [rax-12]
0040c9a2call fn_40cf30
0040c9a7mov eax, [rip+0x4e59b]
0040c9adlea rcx, [rbx+rax-1]
0040c9b2cmp r14, rcx
0040c9b5jne 0x40c9ce
0040c9b7mov rcx, [rsp+40]
0040c9bccall fn_40c690
0040c9c1mov ecx, [rip+0x4e581]
0040c9c7lea r14, [rax+rcx-1]
0040c9ccjmp 0x40c9d3
0040c9ce
0040c9celoc_40c9ce:
0040c9celea r14, [rbx+rax-1]
0040c9d3
0040c9d3loc_40c9d3:
0040c9d3mov rcx, [rsp+40]
0040c9d8call fn_40c690
0040c9ddmov rcx, r14
0040c9e0add esi, [rip+0x4e562]
0040c9e6mov esi, esi
0040c9e8lea rdx, [rax+rsi-1]
0040c9edmov r8l, edi
0040c9f0call fn_405ac0
0040c9f5
0040c9f5loc_40c9f5:
0040c9f5add rsp, 48
0040c9f9pop rbx
0040c9fapop rsi
0040c9fbpop rdi
0040c9fcpop r13
0040c9fepop r14
0040ca00ret
0040c910
0040c910fn_40c910:
0040c910push r14
0040c912push r13
0040c914push rdi
0040c915push rsi
0040c916push rbx
0040c917sub rsp, 48
0040c91bmov [rsp+40], rcx
0040c920mov rbx, rdx
0040c923mov rcx, rbx
0040c926test rcx, rcx
0040c929je 0x40c9f5
0040c92fmov rax, [rsp+40]
0040c934mov rax, [rax]
0040c937test rax, rax
0040c93ajne 0x40c94e
0040c93cmov rcx, [rsp+40]
0040c941mov rdx, rbx
0040c944call fn_40c4a0
0040c949jmp 0x40c9f5
0040c94e
0040c94eloc_40c94e:
0040c94emov esi, [rax-4]
0040c951mov edi, [rcx-4]
0040c954mov r13l, esi
0040c957add r13l, edi
0040c95amov eax, esi
0040c95cand eax, edi
0040c95emov ecx, r13l
0040c961not ecx
0040c963mov edx, esi
0040c965or edx, edi
0040c967and ecx, edx
0040c969or eax, ecx
0040c96btest eax, 0xffffffff80000000
0040c971je 0x40c978
0040c973call fn_4085f0
0040c978
0040c978loc_40c978:
0040c978mov rcx, [rsp+40]
0040c97dcall fn_40c690
0040c982mov ecx, [rip+0x4e5c0]
0040c988lea r14, [rax+rcx-1]
0040c98dmov rcx, [rsp+40]
0040c992mov edx, r13l
0040c995mov rax, [rsp+40]
0040c99amov rax, [rax]
0040c99dmovzx r8, [rax-12]
0040c9a2call fn_40cf30
0040c9a7mov eax, [rip+0x4e59b]
0040c9adlea rcx, [rbx+rax-1]
0040c9b2cmp r14, rcx
0040c9b5jne 0x40c9ce
0040c9b7mov rcx, [rsp+40]
0040c9bccall fn_40c690
0040c9c1mov ecx, [rip+0x4e581]
0040c9c7lea r14, [rax+rcx-1]
0040c9ccjmp 0x40c9d3
0040c9ce
0040c9celoc_40c9ce:
0040c9celea r14, [rbx+rax-1]
0040c9d3
0040c9d3loc_40c9d3:
0040c9d3mov rcx, [rsp+40]
0040c9d8call fn_40c690
0040c9ddmov rcx, r14
0040c9e0add esi, [rip+0x4e562]
0040c9e6mov esi, esi
0040c9e8lea rdx, [rax+rsi-1]
0040c9edmov r8l, edi
0040c9f0call fn_405ac0
0040c9f5
0040c9f5loc_40c9f5:
0040c9f5add rsp, 48
0040c9f9pop rbx
0040c9fapop rsi
0040c9fbpop rdi
0040c9fcpop r13
0040c9fepop r14
0040ca00ret
0040c910
0040ca01
0040ca01 // align 0x10
0040ca01 // align 0x10
0040ca10
0040ca10fn_40ca10:
0040ca10push r14
0040ca12push r13
0040ca14push rdi
0040ca15push rsi
0040ca16push rbx
0040ca17sub rsp, 48
0040ca1bmov [rsp+32], rcx
0040ca20mov [rsp+40], rdx
0040ca25mov rbx, r8
0040ca28mov rax, [rsp+40]
0040ca2dtest rax, rax
0040ca30jne 0x40ca44
0040ca32mov rcx, [rsp+32]
0040ca37mov rdx, rbx
0040ca3acall fn_40c4a0
0040ca3fjmp 0x40cb28
0040ca44
0040ca44loc_40ca44:
0040ca44mov r14, rbx
0040ca47test r14, r14
0040ca4ajne 0x40ca60
0040ca4cmov rcx, [rsp+32]
0040ca51mov rdx, [rsp+40]
0040ca56call fn_40c4a0
0040ca5bjmp 0x40cb28
0040ca60
0040ca60loc_40ca60:
0040ca60mov rcx, [rsp+32]
0040ca65mov rcx, [rcx]
0040ca68cmp rcx, rax
0040ca6bjne 0x40ca7f
0040ca6dmov rcx, [rsp+32]
0040ca72mov rdx, rbx
0040ca75call fn_40c910
0040ca7ajmp 0x40cb28
0040ca7f
0040ca7floc_40ca7f:
0040ca7fcmp rcx, r14
0040ca82jne 0x40cb0c
0040ca88mov edi, [rax-4]
0040ca8bmov r13l, [r14-4]
0040ca8fmov esi, edi
0040ca91add esi, r13l
0040ca94mov eax, edi
0040ca96and eax, r13l
0040ca99mov ecx, esi
0040ca9bnot ecx
0040ca9dmov edx, edi
0040ca9for edx, r13l
0040caa2and ecx, edx
0040caa4or eax, ecx
0040caa6test eax, 0xffffffff80000000
0040caacje 0x40cab3
0040caaecall fn_4085f0
0040cab3
0040cab3loc_40cab3:
0040cab3movzx rax, [r14-12]
0040cab8mov ecx, esi
0040cabamov edx, eax
0040cabccall fn_40bc20
0040cac1mov rsi, rax
0040cac4mov rcx, [rsp+40]
0040cac9call fn_40ce10
0040cacemov r14, rsi
0040cad1mov edi, edi
0040cad3mov rcx, rax
0040cad6mov rdx, r14
0040cad9mov r8, rdi
0040cadccall fn_405ac0
0040cae1mov rcx, rbx
0040cae4call fn_40ce10
0040cae9mov rcx, rax
0040caeclea rdx, [r14+rdi]
0040caf0mov r8l, r13l
0040caf3call fn_405ac0
0040caf8mov rcx, [rsp+32]
0040cafdcall fn_40bd40
0040cb02mov rax, [rsp+32]
0040cb07mov [rax], rsi
0040cb0ajmp 0x40cb28
0040cb0c
0040cb0cloc_40cb0c:
0040cb0cmov rcx, [rsp+32]
0040cb11mov rdx, [rsp+40]
0040cb16call fn_40c4a0
0040cb1bmov rcx, [rsp+32]
0040cb20mov rdx, rbx
0040cb23call fn_40c910
0040cb28
0040cb28loc_40cb28:
0040cb28add rsp, 48
0040cb2cpop rbx
0040cb2dpop rsi
0040cb2epop rdi
0040cb2fpop r13
0040cb31pop r14
0040cb33ret
0040ca10
0040ca10fn_40ca10:
0040ca10push r14
0040ca12push r13
0040ca14push rdi
0040ca15push rsi
0040ca16push rbx
0040ca17sub rsp, 48
0040ca1bmov [rsp+32], rcx
0040ca20mov [rsp+40], rdx
0040ca25mov rbx, r8
0040ca28mov rax, [rsp+40]
0040ca2dtest rax, rax
0040ca30jne 0x40ca44
0040ca32mov rcx, [rsp+32]
0040ca37mov rdx, rbx
0040ca3acall fn_40c4a0
0040ca3fjmp 0x40cb28
0040ca44
0040ca44loc_40ca44:
0040ca44mov r14, rbx
0040ca47test r14, r14
0040ca4ajne 0x40ca60
0040ca4cmov rcx, [rsp+32]
0040ca51mov rdx, [rsp+40]
0040ca56call fn_40c4a0
0040ca5bjmp 0x40cb28
0040ca60
0040ca60loc_40ca60:
0040ca60mov rcx, [rsp+32]
0040ca65mov rcx, [rcx]
0040ca68cmp rcx, rax
0040ca6bjne 0x40ca7f
0040ca6dmov rcx, [rsp+32]
0040ca72mov rdx, rbx
0040ca75call fn_40c910
0040ca7ajmp 0x40cb28
0040ca7f
0040ca7floc_40ca7f:
0040ca7fcmp rcx, r14
0040ca82jne 0x40cb0c
0040ca88mov edi, [rax-4]
0040ca8bmov r13l, [r14-4]
0040ca8fmov esi, edi
0040ca91add esi, r13l
0040ca94mov eax, edi
0040ca96and eax, r13l
0040ca99mov ecx, esi
0040ca9bnot ecx
0040ca9dmov edx, edi
0040ca9for edx, r13l
0040caa2and ecx, edx
0040caa4or eax, ecx
0040caa6test eax, 0xffffffff80000000
0040caacje 0x40cab3
0040caaecall fn_4085f0
0040cab3
0040cab3loc_40cab3:
0040cab3movzx rax, [r14-12]
0040cab8mov ecx, esi
0040cabamov edx, eax
0040cabccall fn_40bc20
0040cac1mov rsi, rax
0040cac4mov rcx, [rsp+40]
0040cac9call fn_40ce10
0040cacemov r14, rsi
0040cad1mov edi, edi
0040cad3mov rcx, rax
0040cad6mov rdx, r14
0040cad9mov r8, rdi
0040cadccall fn_405ac0
0040cae1mov rcx, rbx
0040cae4call fn_40ce10
0040cae9mov rcx, rax
0040caeclea rdx, [r14+rdi]
0040caf0mov r8l, r13l
0040caf3call fn_405ac0
0040caf8mov rcx, [rsp+32]
0040cafdcall fn_40bd40
0040cb02mov rax, [rsp+32]
0040cb07mov [rax], rsi
0040cb0ajmp 0x40cb28
0040cb0c
0040cb0cloc_40cb0c:
0040cb0cmov rcx, [rsp+32]
0040cb11mov rdx, [rsp+40]
0040cb16call fn_40c4a0
0040cb1bmov rcx, [rsp+32]
0040cb20mov rdx, rbx
0040cb23call fn_40c910
0040cb28
0040cb28loc_40cb28:
0040cb28add rsp, 48
0040cb2cpop rbx
0040cb2dpop rsi
0040cb2epop rdi
0040cb2fpop r13
0040cb31pop r14
0040cb33ret
0040ca10
0040cb34
0040cb34 // align 0x10
0040cb34 // align 0x10
0040cb40
0040cb40fn_40cb40:
0040cb40push r14
0040cb42push r13
0040cb44push rdi
0040cb45push rsi
0040cb46push rbx
0040cb47sub rsp, 64
0040cb4bmov [rsp+40], rcx
0040cb50mov ebx, edx
0040cb52mov [rsp+48], r8
0040cb57xor esi, esi
0040cb59xor eax, eax
0040cb5bmov ecx, ebx
0040cb5dsub ecx, 1
0040cb60mov edx, eax
0040cb62cmp edx, ecx
0040cb64mov [rsp+60], edx
0040cb68jg 0x40cba0
0040cb6asub ecx, eax
0040cb6cadd ecx, 1
0040cb6f
0040cb6floc_40cb6f:
0040cb6fmov eax, [rsp+60]
0040cb73movsxd rax, eax
0040cb76mov rdx, [rsp+48]
0040cb7bmov rax, [rdx+8*rax]
0040cb7ftest rax, rax
0040cb82je 0x40cb8e
0040cb84movzx rsi, [rax-12]
0040cb89test si, si
0040cb8cjne 0x40cba0
0040cb8e
0040cb8eloc_40cb8e:
0040cb8emov eax, [rsp+60]
0040cb92add eax, 1
0040cb95mov [rsp+60], eax
0040cb99sub ecx, 1
0040cb9ctest ecx, ecx
0040cb9ejne 0x40cb6f
0040cba0
0040cba0loc_40cba0:
0040cba0nop
0040cba1xor r13, r13
0040cba4xor r14, r14
0040cba7xor eax, eax
0040cba9mov edi, ebx
0040cbabsub edi, 1
0040cbaemov ecx, eax
0040cbb0cmp ecx, edi
0040cbb2mov [rsp+60], ecx
0040cbb6jg 0x40cc06
0040cbb8sub edi, eax
0040cbbaadd edi, 1
0040cbbd
0040cbbdloc_40cbbd:
0040cbbdmov eax, [rsp+60]
0040cbc1movsxd rax, eax
0040cbc4mov rcx, [rsp+48]
0040cbc9mov rax, [rcx+8*rax]
0040cbcdtest rax, rax
0040cbd0je 0x40cbf4
0040cbd2mov rcx, [rsp+40]
0040cbd7cmp rax, [rcx]
0040cbdajne 0x40cbe6
0040cbdcmov ecx, [rsp+60]
0040cbe0test ecx, ecx
0040cbe2sete r13b
0040cbe6
0040cbe6loc_40cbe6:
0040cbe6add r14l, [rax-4]
0040cbeatest r14l, r14l
0040cbedjge 0x40cbf4
0040cbefcall fn_4085f0
0040cbf4
0040cbf4loc_40cbf4:
0040cbf4mov eax, [rsp+60]
0040cbf8add eax, 1
0040cbfbmov [rsp+60], eax
0040cbffsub edi, 1
0040cc02test edi, edi
0040cc04jne 0x40cbbd
0040cc06
0040cc06loc_40cc06:
0040cc06nop
0040cc07test r13b, r13b
0040cc0aje 0x40cc36
0040cc0cmov rax, [rsp+40]
0040cc11mov rax, [rax]
0040cc14mov edi, [rax-4]
0040cc17mov rcx, [rsp+40]
0040cc1cmov edx, r14l
0040cc1fmov r8l, esi
0040cc22call fn_40cf30
0040cc27mov rax, [rsp+40]
0040cc2cmov rsi, [rax]
0040cc2fmov eax, 1
0040cc34jmp 0x40cc47
0040cc36
0040cc36loc_40cc36:
0040cc36mov ecx, r14l
0040cc39mov edx, esi
0040cc3bcall fn_40bc20
0040cc40mov rsi, rax
0040cc43xor eax, eax
0040cc45xor edi, edi
0040cc47
0040cc47loc_40cc47:
0040cc47mov r14l, ebx
0040cc4asub r14l, 1
0040cc4emov ecx, eax
0040cc50cmp ecx, r14l
0040cc53mov [rsp+60], ecx
0040cc57jg 0x40cca2
0040cc59sub r14l, eax
0040cc5cadd r14l, 1
0040cc60
0040cc60loc_40cc60:
0040cc60mov eax, [rsp+60]
0040cc64movsxd rax, eax
0040cc67mov rcx, [rsp+48]
0040cc6cmov rax, [rcx+8*rax]
0040cc70test rax, rax
0040cc73je 0x40cc8e
0040cc75mov rbx, rax
0040cc78mov rcx, rax
0040cc7bmovsxd rax, edi
0040cc7elea rdx, [rsi+rax]
0040cc82movsxd r8, [rbx-4]
0040cc86call fn_405ac0
0040cc8badd edi, [rbx-4]
0040cc8e
0040cc8eloc_40cc8e:
0040cc8emov eax, [rsp+60]
0040cc92add eax, 1
0040cc95mov [rsp+60], eax
0040cc99sub r14l, 1
0040cc9dtest r14l, r14l
0040cca0jne 0x40cc60
0040cca2
0040cca2loc_40cca2:
0040cca2nop
0040cca3test r13b, r13b
0040cca6jne 0x40ccc5
0040cca8mov rax, [rsp+40]
0040ccadcmp [rax], 0
0040ccb1je 0x40ccbd
0040ccb3mov rcx, [rsp+40]
0040ccb8call fn_40bd40
0040ccbd
0040ccbdloc_40ccbd:
0040ccbdmov rax, [rsp+40]
0040ccc2mov [rax], rsi
0040ccc5
0040ccc5loc_40ccc5:
0040ccc5add rsp, 64
0040ccc9pop rbx
0040cccapop rsi
0040cccbpop rdi
0040ccccpop r13
0040cccepop r14
0040ccd0ret
0040cb40
0040cb40fn_40cb40:
0040cb40push r14
0040cb42push r13
0040cb44push rdi
0040cb45push rsi
0040cb46push rbx
0040cb47sub rsp, 64
0040cb4bmov [rsp+40], rcx
0040cb50mov ebx, edx
0040cb52mov [rsp+48], r8
0040cb57xor esi, esi
0040cb59xor eax, eax
0040cb5bmov ecx, ebx
0040cb5dsub ecx, 1
0040cb60mov edx, eax
0040cb62cmp edx, ecx
0040cb64mov [rsp+60], edx
0040cb68jg 0x40cba0
0040cb6asub ecx, eax
0040cb6cadd ecx, 1
0040cb6f
0040cb6floc_40cb6f:
0040cb6fmov eax, [rsp+60]
0040cb73movsxd rax, eax
0040cb76mov rdx, [rsp+48]
0040cb7bmov rax, [rdx+8*rax]
0040cb7ftest rax, rax
0040cb82je 0x40cb8e
0040cb84movzx rsi, [rax-12]
0040cb89test si, si
0040cb8cjne 0x40cba0
0040cb8e
0040cb8eloc_40cb8e:
0040cb8emov eax, [rsp+60]
0040cb92add eax, 1
0040cb95mov [rsp+60], eax
0040cb99sub ecx, 1
0040cb9ctest ecx, ecx
0040cb9ejne 0x40cb6f
0040cba0
0040cba0loc_40cba0:
0040cba0nop
0040cba1xor r13, r13
0040cba4xor r14, r14
0040cba7xor eax, eax
0040cba9mov edi, ebx
0040cbabsub edi, 1
0040cbaemov ecx, eax
0040cbb0cmp ecx, edi
0040cbb2mov [rsp+60], ecx
0040cbb6jg 0x40cc06
0040cbb8sub edi, eax
0040cbbaadd edi, 1
0040cbbd
0040cbbdloc_40cbbd:
0040cbbdmov eax, [rsp+60]
0040cbc1movsxd rax, eax
0040cbc4mov rcx, [rsp+48]
0040cbc9mov rax, [rcx+8*rax]
0040cbcdtest rax, rax
0040cbd0je 0x40cbf4
0040cbd2mov rcx, [rsp+40]
0040cbd7cmp rax, [rcx]
0040cbdajne 0x40cbe6
0040cbdcmov ecx, [rsp+60]
0040cbe0test ecx, ecx
0040cbe2sete r13b
0040cbe6
0040cbe6loc_40cbe6:
0040cbe6add r14l, [rax-4]
0040cbeatest r14l, r14l
0040cbedjge 0x40cbf4
0040cbefcall fn_4085f0
0040cbf4
0040cbf4loc_40cbf4:
0040cbf4mov eax, [rsp+60]
0040cbf8add eax, 1
0040cbfbmov [rsp+60], eax
0040cbffsub edi, 1
0040cc02test edi, edi
0040cc04jne 0x40cbbd
0040cc06
0040cc06loc_40cc06:
0040cc06nop
0040cc07test r13b, r13b
0040cc0aje 0x40cc36
0040cc0cmov rax, [rsp+40]
0040cc11mov rax, [rax]
0040cc14mov edi, [rax-4]
0040cc17mov rcx, [rsp+40]
0040cc1cmov edx, r14l
0040cc1fmov r8l, esi
0040cc22call fn_40cf30
0040cc27mov rax, [rsp+40]
0040cc2cmov rsi, [rax]
0040cc2fmov eax, 1
0040cc34jmp 0x40cc47
0040cc36
0040cc36loc_40cc36:
0040cc36mov ecx, r14l
0040cc39mov edx, esi
0040cc3bcall fn_40bc20
0040cc40mov rsi, rax
0040cc43xor eax, eax
0040cc45xor edi, edi
0040cc47
0040cc47loc_40cc47:
0040cc47mov r14l, ebx
0040cc4asub r14l, 1
0040cc4emov ecx, eax
0040cc50cmp ecx, r14l
0040cc53mov [rsp+60], ecx
0040cc57jg 0x40cca2
0040cc59sub r14l, eax
0040cc5cadd r14l, 1
0040cc60
0040cc60loc_40cc60:
0040cc60mov eax, [rsp+60]
0040cc64movsxd rax, eax
0040cc67mov rcx, [rsp+48]
0040cc6cmov rax, [rcx+8*rax]
0040cc70test rax, rax
0040cc73je 0x40cc8e
0040cc75mov rbx, rax
0040cc78mov rcx, rax
0040cc7bmovsxd rax, edi
0040cc7elea rdx, [rsi+rax]
0040cc82movsxd r8, [rbx-4]
0040cc86call fn_405ac0
0040cc8badd edi, [rbx-4]
0040cc8e
0040cc8eloc_40cc8e:
0040cc8emov eax, [rsp+60]
0040cc92add eax, 1
0040cc95mov [rsp+60], eax
0040cc99sub r14l, 1
0040cc9dtest r14l, r14l
0040cca0jne 0x40cc60
0040cca2
0040cca2loc_40cca2:
0040cca2nop
0040cca3test r13b, r13b
0040cca6jne 0x40ccc5
0040cca8mov rax, [rsp+40]
0040ccadcmp [rax], 0
0040ccb1je 0x40ccbd
0040ccb3mov rcx, [rsp+40]
0040ccb8call fn_40bd40
0040ccbd
0040ccbdloc_40ccbd:
0040ccbdmov rax, [rsp+40]
0040ccc2mov [rax], rsi
0040ccc5
0040ccc5loc_40ccc5:
0040ccc5add rsp, 64
0040ccc9pop rbx
0040cccapop rsi
0040cccbpop rdi
0040ccccpop r13
0040cccepop r14
0040ccd0ret
0040cb40
0040ccd1
0040ccd1 // align 0x10
0040ccd1 // align 0x10
0040cce0
0040cce0fn_40cce0:
0040cce0push rbp
0040cce1push rbx
0040cce2sub rsp, 40
0040cce6mov rbp, rsp
0040cce9mov [rbp+80], r8
0040ccedmov [rbp+88], r9
0040ccf1mov [rbp+64], rcx
0040ccf5mov [rbp+72], edx
0040ccf8lea rbx, [rbp+80]
0040ccfcmov rcx, [rbp+64]
0040cd00mov edx, [rbp+72]
0040cd03mov r8, rbx
0040cd06call fn_40cb40
0040cd0blea rsp, [rbp+40]
0040cd0fpop rbx
0040cd10pop rbp
0040cd11ret
0040cce0
0040cce0fn_40cce0:
0040cce0push rbp
0040cce1push rbx
0040cce2sub rsp, 40
0040cce6mov rbp, rsp
0040cce9mov [rbp+80], r8
0040ccedmov [rbp+88], r9
0040ccf1mov [rbp+64], rcx
0040ccf5mov [rbp+72], edx
0040ccf8lea rbx, [rbp+80]
0040ccfcmov rcx, [rbp+64]
0040cd00mov edx, [rbp+72]
0040cd03mov r8, rbx
0040cd06call fn_40cb40
0040cd0blea rsp, [rbp+40]
0040cd0fpop rbx
0040cd10pop rbp
0040cd11ret
0040cce0
0040cd12
0040cd12 // align 0x10
0040cd12 // align 0x10
0040cd20
0040cd20fn_40cd20:
0040cd20push r14
0040cd22push r13
0040cd24push rdi
0040cd25push rsi
0040cd26push rbx
0040cd27sub rsp, 32
0040cd2bmov rbx, rdx
0040cd2emov rax, rcx
0040cd31mov rdx, rbx
0040cd34cmp rax, rdx
0040cd37jne 0x40cd3d
0040cd39xor eax, eax
0040cd3bjmp 0x40cdb3
0040cd3d
0040cd3dloc_40cd3d:
0040cd3dtest rax, rax
0040cd40jne 0x40cd49
0040cd42mov eax, [rdx-4]
0040cd45neg eax
0040cd47jmp 0x40cdb3
0040cd49
0040cd49loc_40cd49:
0040cd49test rdx, rdx
0040cd4cjne 0x40cd53
0040cd4emov eax, [rax-4]
0040cd51jmp 0x40cdb3
0040cd53
0040cd53loc_40cd53:
0040cd53mov edi, [rax-4]
0040cd56mov r13l, [rdx-4]
0040cd5amov esi, edi
0040cd5ccmp esi, r13l
0040cd5fjle 0x40cd64
0040cd61mov esi, r13l
0040cd64
0040cd64loc_40cd64:
0040cd64call fn_40ce10
0040cd69mov r14, rax
0040cd6cmov rcx, rbx
0040cd6fcall fn_40ce10
0040cd74mov rcx, rax
0040cd77test esi, esi
0040cd79jle 0x40cdad
0040cd7b
0040cd7bloc_40cd7b:
0040cd7bmovzx rax, [r14]
0040cd7fmovzx rdx, [rcx]
0040cd83sub eax, edx
0040cd85test eax, eax
0040cd87jne 0x40cdb3
0040cd89cmp esi, 1
0040cd8cje 0x40cdad
0040cd8emovzx rax, [r14+1]
0040cd93movzx rdx, [rcx+1]
0040cd98sub eax, edx
0040cd9atest eax, eax
0040cd9cjne 0x40cdb3
0040cd9eadd r14, 2
0040cda2add rcx, 2
0040cda6sub esi, 2
0040cda9test esi, esi
0040cdabjg 0x40cd7b
0040cdad
0040cdadloc_40cdad:
0040cdadnop
0040cdaemov eax, edi
0040cdb0sub eax, r13l
0040cdb3
0040cdb3loc_40cdb3:
0040cdb3add rsp, 32
0040cdb7pop rbx
0040cdb8pop rsi
0040cdb9pop rdi
0040cdbapop r13
0040cdbcpop r14
0040cdberet
0040cd20
0040cd20fn_40cd20:
0040cd20push r14
0040cd22push r13
0040cd24push rdi
0040cd25push rsi
0040cd26push rbx
0040cd27sub rsp, 32
0040cd2bmov rbx, rdx
0040cd2emov rax, rcx
0040cd31mov rdx, rbx
0040cd34cmp rax, rdx
0040cd37jne 0x40cd3d
0040cd39xor eax, eax
0040cd3bjmp 0x40cdb3
0040cd3d
0040cd3dloc_40cd3d:
0040cd3dtest rax, rax
0040cd40jne 0x40cd49
0040cd42mov eax, [rdx-4]
0040cd45neg eax
0040cd47jmp 0x40cdb3
0040cd49
0040cd49loc_40cd49:
0040cd49test rdx, rdx
0040cd4cjne 0x40cd53
0040cd4emov eax, [rax-4]
0040cd51jmp 0x40cdb3
0040cd53
0040cd53loc_40cd53:
0040cd53mov edi, [rax-4]
0040cd56mov r13l, [rdx-4]
0040cd5amov esi, edi
0040cd5ccmp esi, r13l
0040cd5fjle 0x40cd64
0040cd61mov esi, r13l
0040cd64
0040cd64loc_40cd64:
0040cd64call fn_40ce10
0040cd69mov r14, rax
0040cd6cmov rcx, rbx
0040cd6fcall fn_40ce10
0040cd74mov rcx, rax
0040cd77test esi, esi
0040cd79jle 0x40cdad
0040cd7b
0040cd7bloc_40cd7b:
0040cd7bmovzx rax, [r14]
0040cd7fmovzx rdx, [rcx]
0040cd83sub eax, edx
0040cd85test eax, eax
0040cd87jne 0x40cdb3
0040cd89cmp esi, 1
0040cd8cje 0x40cdad
0040cd8emovzx rax, [r14+1]
0040cd93movzx rdx, [rcx+1]
0040cd98sub eax, edx
0040cd9atest eax, eax
0040cd9cjne 0x40cdb3
0040cd9eadd r14, 2
0040cda2add rcx, 2
0040cda6sub esi, 2
0040cda9test esi, esi
0040cdabjg 0x40cd7b
0040cdad
0040cdadloc_40cdad:
0040cdadnop
0040cdaemov eax, edi
0040cdb0sub eax, r13l
0040cdb3
0040cdb3loc_40cdb3:
0040cdb3add rsp, 32
0040cdb7pop rbx
0040cdb8pop rsi
0040cdb9pop rdi
0040cdbapop r13
0040cdbcpop r14
0040cdberet
0040cd20
0040cdbf
0040cdbf // align 0x10
0040cdbf // align 0x10
0040cdc0
0040cdc0fn_40cdc0:
0040cdc0sub rsp, 40
0040cdc4call fn_40cd20
0040cdc9add rsp, 40
0040cdcdret
0040cdc0
0040cdc0fn_40cdc0:
0040cdc0sub rsp, 40
0040cdc4call fn_40cd20
0040cdc9add rsp, 40
0040cdcdret
0040cdc0
0040cdce
0040cdce 00 00 ..
0040cdd0 e4 04 01 00 ff ff ff ff 12 00 00 00 00 00 00 00 ................
0040cde0 ff ff 01 00 ff ff ff ff 00 00 00 00 00 00 00 00 ................
0040cdf0 e4 04 01 00 ff ff ff ff 12 00 00 00 00 00 00 00 ................
0040ce00 ff ff 02 00 ff ff ff ff 00 00 00 00 00 00 00 cc ................
0040cdce 00 00 ..
0040cdd0 e4 04 01 00 ff ff ff ff 12 00 00 00 00 00 00 00 ................
0040cde0 ff ff 01 00 ff ff ff ff 00 00 00 00 00 00 00 00 ................
0040cdf0 e4 04 01 00 ff ff ff ff 12 00 00 00 00 00 00 00 ................
0040ce00 ff ff 02 00 ff ff ff ff 00 00 00 00 00 00 00 cc ................
0040ce10
0040ce10fn_40ce10:
0040ce10mov rax, rcx
0040ce13test rax, rax
0040ce16jne 0x40ce23
0040ce18mov rax, [rip+0x4e3a9]
0040ce1flea rax, [rax+16]
0040ce23
0040ce23loc_40ce23:
0040ce23ret
0040ce10
0040ce10fn_40ce10:
0040ce10mov rax, rcx
0040ce13test rax, rax
0040ce16jne 0x40ce23
0040ce18mov rax, [rip+0x4e3a9]
0040ce1flea rax, [rax+16]
0040ce23
0040ce23loc_40ce23:
0040ce23ret
0040ce10
0040ce24
0040ce24 // align 0x10
0040ce24 // align 0x10
0040ce30
0040ce30fn_40ce30:
0040ce30push rbx
0040ce31sub rsp, 32
0040ce35mov rbx, rcx
0040ce38mov eax, r8l
0040ce3bxor ecx, ecx
0040ce3dtest rdx, rdx
0040ce40je 0x40ce45
0040ce42mov ecx, [rdx-4]
0040ce45
0040ce45loc_40ce45:
0040ce45cmp eax, 1
0040ce48jge 0x40ce4e
0040ce4axor eax, eax
0040ce4cjmp 0x40ce57
0040ce4e
0040ce4eloc_40ce4e:
0040ce4esub eax, 1
0040ce51cmp eax, ecx
0040ce53jle 0x40ce57
0040ce55mov eax, ecx
0040ce57
0040ce57loc_40ce57:
0040ce57test r9l, r9l
0040ce5ajge 0x40ce60
0040ce5cxor ecx, ecx
0040ce5ejmp 0x40ce6a
0040ce60
0040ce60loc_40ce60:
0040ce60sub ecx, eax
0040ce62cmp ecx, r9l
0040ce65jle 0x40ce6a
0040ce67mov ecx, r9l
0040ce6a
0040ce6aloc_40ce6a:
0040ce6atest rdx, rdx
0040ce6djne 0x40ce79
0040ce6fmov rcx, rbx
0040ce72call fn_40bd40
0040ce77jmp 0x40ce9c
0040ce79
0040ce79loc_40ce79:
0040ce79mov r8, rbx
0040ce7cmovsxd rax, eax
0040ce7flea rax, [rdx+rax]
0040ce83mov r9l, ecx
0040ce86movzx r10, [rdx-12]
0040ce8bmov rcx, r8
0040ce8emov rdx, rax
0040ce91mov r8l, r9l
0040ce94mov r9l, r10l
0040ce97call fn_40c080
0040ce9c
0040ce9cloc_40ce9c:
0040ce9cmov rax, rbx
0040ce9fadd rsp, 32
0040cea3pop rbx
0040cea4ret
0040ce30
0040ce30fn_40ce30:
0040ce30push rbx
0040ce31sub rsp, 32
0040ce35mov rbx, rcx
0040ce38mov eax, r8l
0040ce3bxor ecx, ecx
0040ce3dtest rdx, rdx
0040ce40je 0x40ce45
0040ce42mov ecx, [rdx-4]
0040ce45
0040ce45loc_40ce45:
0040ce45cmp eax, 1
0040ce48jge 0x40ce4e
0040ce4axor eax, eax
0040ce4cjmp 0x40ce57
0040ce4e
0040ce4eloc_40ce4e:
0040ce4esub eax, 1
0040ce51cmp eax, ecx
0040ce53jle 0x40ce57
0040ce55mov eax, ecx
0040ce57
0040ce57loc_40ce57:
0040ce57test r9l, r9l
0040ce5ajge 0x40ce60
0040ce5cxor ecx, ecx
0040ce5ejmp 0x40ce6a
0040ce60
0040ce60loc_40ce60:
0040ce60sub ecx, eax
0040ce62cmp ecx, r9l
0040ce65jle 0x40ce6a
0040ce67mov ecx, r9l
0040ce6a
0040ce6aloc_40ce6a:
0040ce6atest rdx, rdx
0040ce6djne 0x40ce79
0040ce6fmov rcx, rbx
0040ce72call fn_40bd40
0040ce77jmp 0x40ce9c
0040ce79
0040ce79loc_40ce79:
0040ce79mov r8, rbx
0040ce7cmovsxd rax, eax
0040ce7flea rax, [rdx+rax]
0040ce83mov r9l, ecx
0040ce86movzx r10, [rdx-12]
0040ce8bmov rcx, r8
0040ce8emov rdx, rax
0040ce91mov r8l, r9l
0040ce94mov r9l, r10l
0040ce97call fn_40c080
0040ce9c
0040ce9cloc_40ce9c:
0040ce9cmov rax, rbx
0040ce9fadd rsp, 32
0040cea3pop rbx
0040cea4ret
0040ce30
0040cea5
0040cea5 // align 0x10
0040cea5 // align 0x10
0040ceb0
0040ceb0fn_40ceb0:
0040ceb0push rdi
0040ceb1push rsi
0040ceb2push rbx
0040ceb3sub rsp, 32
0040ceb7mov rbx, rcx
0040cebamov esi, edx
0040cebcmov edi, r8l
0040cebfmov rcx, rbx
0040cec2call fn_40c620
0040cec7xor eax, eax
0040cec9mov rcx, [rbx]
0040cecctest rcx, rcx
0040cecfje 0x40ced4
0040ced1mov eax, [rcx-4]
0040ced4
0040ced4loc_40ced4:
0040ced4cmp esi, 1
0040ced7jl 0x40cf24
0040ced9cmp esi, eax
0040cedbjg 0x40cf24
0040ceddtest edi, edi
0040cedfjle 0x40cf24
0040cee1sub esi, 1
0040cee4mov ecx, eax
0040cee6sub ecx, esi
0040cee8sub ecx, edi
0040ceeamov edi, ecx
0040ceectest edi, edi
0040ceeejge 0x40cef2
0040cef0xor edi, edi
0040cef2
0040cef2loc_40cef2:
0040cef2mov rcx, [rbx]
0040cef5sub eax, edi
0040cef7movsxd rax, eax
0040cefalea rcx, [rcx+rax]
0040cefemov rax, [rbx]
0040cf01movsxd rdx, esi
0040cf04lea rdx, [rax+rdx]
0040cf08movsxd r8, edi
0040cf0bcall fn_405ac0
0040cf10mov rcx, rbx
0040cf13mov edx, esi
0040cf15add edx, edi
0040cf17mov rax, [rbx]
0040cf1amovzx r8, [rax-12]
0040cf1fcall fn_40cf30
0040cf24
0040cf24loc_40cf24:
0040cf24add rsp, 32
0040cf28pop rbx
0040cf29pop rsi
0040cf2apop rdi
0040cf2bret
0040ceb0
0040ceb0fn_40ceb0:
0040ceb0push rdi
0040ceb1push rsi
0040ceb2push rbx
0040ceb3sub rsp, 32
0040ceb7mov rbx, rcx
0040cebamov esi, edx
0040cebcmov edi, r8l
0040cebfmov rcx, rbx
0040cec2call fn_40c620
0040cec7xor eax, eax
0040cec9mov rcx, [rbx]
0040cecctest rcx, rcx
0040cecfje 0x40ced4
0040ced1mov eax, [rcx-4]
0040ced4
0040ced4loc_40ced4:
0040ced4cmp esi, 1
0040ced7jl 0x40cf24
0040ced9cmp esi, eax
0040cedbjg 0x40cf24
0040ceddtest edi, edi
0040cedfjle 0x40cf24
0040cee1sub esi, 1
0040cee4mov ecx, eax
0040cee6sub ecx, esi
0040cee8sub ecx, edi
0040ceeamov edi, ecx
0040ceectest edi, edi
0040ceeejge 0x40cef2
0040cef0xor edi, edi
0040cef2
0040cef2loc_40cef2:
0040cef2mov rcx, [rbx]
0040cef5sub eax, edi
0040cef7movsxd rax, eax
0040cefalea rcx, [rcx+rax]
0040cefemov rax, [rbx]
0040cf01movsxd rdx, esi
0040cf04lea rdx, [rax+rdx]
0040cf08movsxd r8, edi
0040cf0bcall fn_405ac0
0040cf10mov rcx, rbx
0040cf13mov edx, esi
0040cf15add edx, edi
0040cf17mov rax, [rbx]
0040cf1amovzx r8, [rax-12]
0040cf1fcall fn_40cf30
0040cf24
0040cf24loc_40cf24:
0040cf24add rsp, 32
0040cf28pop rbx
0040cf29pop rsi
0040cf2apop rdi
0040cf2bret
0040ceb0
0040cf2c
0040cf2c // align 0x10
0040cf2c // align 0x10
0040cf30
0040cf30fn_40cf30:
0040cf30push rbp
0040cf31push r13
0040cf33push rdi
0040cf34push rsi
0040cf35push rbx
0040cf36sub rsp, 48
0040cf3amov rbp, rsp
0040cf3dmov rbx, rcx
0040cf40mov esi, edx
0040cf42test esi, esi
0040cf44jg 0x40cf53
0040cf46mov rcx, rbx
0040cf49call fn_40bd40
0040cf4ejmp 0x40cfe5
0040cf53
0040cf53loc_40cf53:
0040cf53mov rax, [rbx]
0040cf56test rax, rax
0040cf59je 0x40cf9d
0040cf5bcmp [rax-8], 1
0040cf5fjne 0x40cf9d
0040cf61lea rax, [rax-16]
0040cf65mov [rbp+40], rax
0040cf69lea rcx, [rbp+40]
0040cf6dmov edx, esi
0040cf6fadd edx, 17
0040cf72movsxd rdx, edx
0040cf75call fn_405760
0040cf7amov rax, [rbp+40]
0040cf7emov [rax+12], esi
0040cf81mov rax, [rbp+40]
0040cf85lea rax, [rax+16]
0040cf89mov [rbx], rax
0040cf8cmov rcx, [rbx]
0040cf8fcall fn_40ce10
0040cf94movsxd rsi, esi
0040cf97mov [rax+rsi], 0
0040cf9bjmp 0x40cfe5
0040cf9d
0040cf9dloc_40cf9d:
0040cf9dmov ecx, esi
0040cf9fmov edx, r8l
0040cfa2call fn_40bc20
0040cfa7mov rdi, rax
0040cfaacmp [rbx], 0
0040cfaejne 0x40cfb5
0040cfb0mov [rbx], rdi
0040cfb3jmp 0x40cfe5
0040cfb5
0040cfb5loc_40cfb5:
0040cfb5mov rax, [rbx]
0040cfb8mov r13l, [rax-4]
0040cfbccmp r13l, esi
0040cfbfjle 0x40cfc4
0040cfc1mov r13l, esi
0040cfc4
0040cfc4loc_40cfc4:
0040cfc4mov rcx, [rbx]
0040cfc7call fn_40ce10
0040cfccmov rcx, rax
0040cfcfmov rdx, rdi
0040cfd2movsxd r8, r13l
0040cfd5call fn_405ac0
0040cfdamov rcx, rbx
0040cfddcall fn_40bd40
0040cfe2mov [rbx], rdi
0040cfe5
0040cfe5loc_40cfe5:
0040cfe5lea rsp, [rbp+48]
0040cfe9pop rbx
0040cfeapop rsi
0040cfebpop rdi
0040cfecpop r13
0040cfeepop rbp
0040cfefret
0040cf30
0040cf30fn_40cf30:
0040cf30push rbp
0040cf31push r13
0040cf33push rdi
0040cf34push rsi
0040cf35push rbx
0040cf36sub rsp, 48
0040cf3amov rbp, rsp
0040cf3dmov rbx, rcx
0040cf40mov esi, edx
0040cf42test esi, esi
0040cf44jg 0x40cf53
0040cf46mov rcx, rbx
0040cf49call fn_40bd40
0040cf4ejmp 0x40cfe5
0040cf53
0040cf53loc_40cf53:
0040cf53mov rax, [rbx]
0040cf56test rax, rax
0040cf59je 0x40cf9d
0040cf5bcmp [rax-8], 1
0040cf5fjne 0x40cf9d
0040cf61lea rax, [rax-16]
0040cf65mov [rbp+40], rax
0040cf69lea rcx, [rbp+40]
0040cf6dmov edx, esi
0040cf6fadd edx, 17
0040cf72movsxd rdx, edx
0040cf75call fn_405760
0040cf7amov rax, [rbp+40]
0040cf7emov [rax+12], esi
0040cf81mov rax, [rbp+40]
0040cf85lea rax, [rax+16]
0040cf89mov [rbx], rax
0040cf8cmov rcx, [rbx]
0040cf8fcall fn_40ce10
0040cf94movsxd rsi, esi
0040cf97mov [rax+rsi], 0
0040cf9bjmp 0x40cfe5
0040cf9d
0040cf9dloc_40cf9d:
0040cf9dmov ecx, esi
0040cf9fmov edx, r8l
0040cfa2call fn_40bc20
0040cfa7mov rdi, rax
0040cfaacmp [rbx], 0
0040cfaejne 0x40cfb5
0040cfb0mov [rbx], rdi
0040cfb3jmp 0x40cfe5
0040cfb5
0040cfb5loc_40cfb5:
0040cfb5mov rax, [rbx]
0040cfb8mov r13l, [rax-4]
0040cfbccmp r13l, esi
0040cfbfjle 0x40cfc4
0040cfc1mov r13l, esi
0040cfc4
0040cfc4loc_40cfc4:
0040cfc4mov rcx, [rbx]
0040cfc7call fn_40ce10
0040cfccmov rcx, rax
0040cfcfmov rdx, rdi
0040cfd2movsxd r8, r13l
0040cfd5call fn_405ac0
0040cfdamov rcx, rbx
0040cfddcall fn_40bd40
0040cfe2mov [rbx], rdi
0040cfe5
0040cfe5loc_40cfe5:
0040cfe5lea rsp, [rbp+48]
0040cfe9pop rbx
0040cfeapop rsi
0040cfebpop rdi
0040cfecpop r13
0040cfeepop rbp
0040cfefret
0040cf30
0040cff0
0040cff0fn_40cff0:
0040cff0sub rsp, 40
0040cff4test rdx, rdx
0040cff7jne 0x40d000
0040cff9call fn_40bd40
0040cffejmp 0x40d018
0040d000
0040d000loc_40d000:
0040d000mov rax, rdx
0040d003mov r9l, [rdx-4]
0040d007mov r10l, r8l
0040d00amov rdx, rax
0040d00dmov r8l, r9l
0040d010mov r9l, r10l
0040d013call fn_40c2b0
0040d018
0040d018loc_40d018:
0040d018add rsp, 40
0040d01cret
0040cff0
0040cff0fn_40cff0:
0040cff0sub rsp, 40
0040cff4test rdx, rdx
0040cff7jne 0x40d000
0040cff9call fn_40bd40
0040cffejmp 0x40d018
0040d000
0040d000loc_40d000:
0040d000mov rax, rdx
0040d003mov r9l, [rdx-4]
0040d007mov r10l, r8l
0040d00amov rdx, rax
0040d00dmov r8l, r9l
0040d010mov r9l, r10l
0040d013call fn_40c2b0
0040d018
0040d018loc_40d018:
0040d018add rsp, 40
0040d01cret
0040cff0
0040d01d
0040d01d // align 0x10
0040d01d // align 0x10
0040d020
0040d020fn_40d020:
0040d020push rbp
0040d021sub rsp, 48
0040d025mov rbp, rsp
0040d028mov rax, rdx
0040d02block xchg [rcx], rax
0040d02fmov [rbp+40], rax
0040d033cmp [rbp+40], 0
0040d038je 0x40d043
0040d03alea rcx, [rbp+40]
0040d03ecall fn_40bd90
0040d043
0040d043loc_40d043:
0040d043lea rsp, [rbp+48]
0040d047pop rbp
0040d048ret
0040d020
0040d020fn_40d020:
0040d020push rbp
0040d021sub rsp, 48
0040d025mov rbp, rsp
0040d028mov rax, rdx
0040d02block xchg [rcx], rax
0040d02fmov [rbp+40], rax
0040d033cmp [rbp+40], 0
0040d038je 0x40d043
0040d03alea rcx, [rbp+40]
0040d03ecall fn_40bd90
0040d043
0040d043loc_40d043:
0040d043lea rsp, [rbp+48]
0040d047pop rbp
0040d048ret
0040d020
0040d049
0040d049 // align 0x10
0040d049 // align 0x10
0040d050
0040d050fn_40d050:
0040d050sub rsp, 40
0040d054mov [rsp+56], dl
0040d058lea rdx, [rsp+56]
0040d05dmov r8l, 1
0040d063mov r9l, [rip+0x589ae]
0040d06acall fn_40c1c0
0040d06fadd rsp, 40
0040d073ret
0040d050
0040d050fn_40d050:
0040d050sub rsp, 40
0040d054mov [rsp+56], dl
0040d058lea rdx, [rsp+56]
0040d05dmov r8l, 1
0040d063mov r9l, [rip+0x589ae]
0040d06acall fn_40c1c0
0040d06fadd rsp, 40
0040d073ret
0040d050
0040d074
0040d074 // align 0x10
0040d074 // align 0x10
0040d080
0040d080fn_40d080:
0040d080sub rsp, 40
0040d084mov [rsp+56], dx
0040d089lea rdx, [rsp+56]
0040d08emov r8l, 1
0040d094call fn_40c030
0040d099add rsp, 40
0040d09dret
0040d080
0040d080fn_40d080:
0040d080sub rsp, 40
0040d084mov [rsp+56], dx
0040d089lea rdx, [rsp+56]
0040d08emov r8l, 1
0040d094call fn_40c030
0040d099add rsp, 40
0040d09dret
0040d080
0040d09e
0040d09e // align 0x10
0040d09e // align 0x10
0040d0a0
0040d0a0fn_40d0a0:
0040d0a0push rsi
0040d0a1push rbx
0040d0a2sub rsp, 40
0040d0a6mov rbx, rcx
0040d0a9mov rsi, rdx
0040d0acmov rcx, rsi
0040d0afcall fn_40c580
0040d0b4mov rcx, rbx
0040d0b7mov rdx, rsi
0040d0bamov r8l, eax
0040d0bdmov r9l, [rip+0x58954]
0040d0c4call fn_40c1c0
0040d0c9add rsp, 40
0040d0cdpop rbx
0040d0cepop rsi
0040d0cfret
0040d0a0
0040d0a0fn_40d0a0:
0040d0a0push rsi
0040d0a1push rbx
0040d0a2sub rsp, 40
0040d0a6mov rbx, rcx
0040d0a9mov rsi, rdx
0040d0acmov rcx, rsi
0040d0afcall fn_40c580
0040d0b4mov rcx, rbx
0040d0b7mov rdx, rsi
0040d0bamov r8l, eax
0040d0bdmov r9l, [rip+0x58954]
0040d0c4call fn_40c1c0
0040d0c9add rsp, 40
0040d0cdpop rbx
0040d0cepop rsi
0040d0cfret
0040d0a0
0040d0d0
0040d0d0fn_40d0d0:
0040d0d0push rsi
0040d0d1push rbx
0040d0d2sub rsp, 40
0040d0d6mov rbx, rcx
0040d0d9mov rsi, rdx
0040d0dctest rsi, rsi
0040d0dfjne 0x40d0eb
0040d0e1mov rcx, rbx
0040d0e4call fn_40bd90
0040d0e9jmp 0x40d101
0040d0eb
0040d0ebloc_40d0eb:
0040d0ebmov rcx, rsi
0040d0eecall fn_40c5a0
0040d0f3mov rcx, rbx
0040d0f6mov rdx, rsi
0040d0f9mov r8l, eax
0040d0fccall fn_40c030
0040d101
0040d101loc_40d101:
0040d101add rsp, 40
0040d105pop rbx
0040d106pop rsi
0040d107ret
0040d0d0
0040d0d0fn_40d0d0:
0040d0d0push rsi
0040d0d1push rbx
0040d0d2sub rsp, 40
0040d0d6mov rbx, rcx
0040d0d9mov rsi, rdx
0040d0dctest rsi, rsi
0040d0dfjne 0x40d0eb
0040d0e1mov rcx, rbx
0040d0e4call fn_40bd90
0040d0e9jmp 0x40d101
0040d0eb
0040d0ebloc_40d0eb:
0040d0ebmov rcx, rsi
0040d0eecall fn_40c5a0
0040d0f3mov rcx, rbx
0040d0f6mov rdx, rsi
0040d0f9mov r8l, eax
0040d0fccall fn_40c030
0040d101
0040d101loc_40d101:
0040d101add rsp, 40
0040d105pop rbx
0040d106pop rsi
0040d107ret
0040d0d0
0040d108
0040d108 // align 0x10
0040d108 // align 0x10
0040d110
0040d110fn_40d110:
0040d110sub rsp, 40
0040d114mov eax, r8l
0040d117mov r8, rdx
0040d11ajmp 0x40d123
0040d11c
0040d11cloc_40d11c:
0040d11csub eax, 1
0040d11fadd r8, 2
0040d123
0040d123loc_40d123:
0040d123test eax, eax
0040d125jle 0x40d12e
0040d127cmp [r8], 0
0040d12cjne 0x40d11c
0040d12e
0040d12eloc_40d12e:
0040d12emov rax, r8
0040d131sub rax, rdx
0040d134sar rax, 1
0040d138jns 0x40d13e
0040d13aadc rax, 0
0040d13e
0040d13eloc_40d13e:
0040d13emov r8l, eax
0040d141call fn_40c030
0040d146add rsp, 40
0040d14aret
0040d110
0040d110fn_40d110:
0040d110sub rsp, 40
0040d114mov eax, r8l
0040d117mov r8, rdx
0040d11ajmp 0x40d123
0040d11c
0040d11cloc_40d11c:
0040d11csub eax, 1
0040d11fadd r8, 2
0040d123
0040d123loc_40d123:
0040d123test eax, eax
0040d125jle 0x40d12e
0040d127cmp [r8], 0
0040d12cjne 0x40d11c
0040d12e
0040d12eloc_40d12e:
0040d12emov rax, r8
0040d131sub rax, rdx
0040d134sar rax, 1
0040d138jns 0x40d13e
0040d13aadc rax, 0
0040d13e
0040d13eloc_40d13e:
0040d13emov r8l, eax
0040d141call fn_40c030
0040d146add rsp, 40
0040d14aret
0040d110
0040d14b
0040d14b // align 0x10
0040d14b // align 0x10
0040d150
0040d150fn_40d150:
0040d150sub rsp, 40
0040d154test rdx, rdx
0040d157jne 0x40d160
0040d159call fn_40bd90
0040d15ejmp 0x40d176
0040d160
0040d160loc_40d160:
0040d160mov eax, [rdx-4]
0040d163mov r8, rdx
0040d166movzx r9l, [rdx-12]
0040d16bmov rdx, r8
0040d16emov r8l, eax
0040d171call fn_40c1c0
0040d176
0040d176loc_40d176:
0040d176add rsp, 40
0040d17aret
0040d150
0040d150fn_40d150:
0040d150sub rsp, 40
0040d154test rdx, rdx
0040d157jne 0x40d160
0040d159call fn_40bd90
0040d15ejmp 0x40d176
0040d160
0040d160loc_40d160:
0040d160mov eax, [rdx-4]
0040d163mov r8, rdx
0040d166movzx r9l, [rdx-12]
0040d16bmov rdx, r8
0040d16emov r8l, eax
0040d171call fn_40c1c0
0040d176
0040d176loc_40d176:
0040d176add rsp, 40
0040d17aret
0040d150
0040d17b
0040d17b // align 0x10
0040d17b // align 0x10
0040d180
0040d180fn_40d180:
0040d180mov rax, rcx
0040d183test rax, rax
0040d186jne 0x40d18f
0040d188lea rax, [rip+1]
0040d18f
0040d18floc_40d18f:
0040d18fret
0040d180
0040d180fn_40d180:
0040d180mov rax, rcx
0040d183test rax, rax
0040d186jne 0x40d18f
0040d188lea rax, [rip+1]
0040d18f
0040d18floc_40d18f:
0040d18fret
0040d180
0040d190
0040d190 00 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
0040d190 00 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
0040d1a0
0040d1a0fn_40d1a0:
0040d1a0push r14
0040d1a2push r13
0040d1a4push rdi
0040d1a5push rsi
0040d1a6push rbx
0040d1a7sub rsp, 32
0040d1abmov rbx, rcx
0040d1aexor edi, edi
0040d1b0mov r14, rdx
0040d1b3test r14, r14
0040d1b6je 0x40d1bf
0040d1b8mov edi, [r14-4]
0040d1bcshr edi, 1
0040d1bf
0040d1bfloc_40d1bf:
0040d1bftest edi, edi
0040d1c1je 0x40d21b
0040d1c3xor esi, esi
0040d1c5mov rax, [rbx]
0040d1c8test rax, rax
0040d1cbje 0x40d1d3
0040d1cdmov esi, [rax-4]
0040d1d0shr esi, 1
0040d1d3
0040d1d3loc_40d1d3:
0040d1d3mov ecx, esi
0040d1d5add ecx, edi
0040d1d7call fn_40bcc0
0040d1dcmov r13, rax
0040d1dftest esi, esi
0040d1e1jle 0x40d1f7
0040d1e3mov rcx, [rbx]
0040d1e6mov rdx, r13
0040d1e9mov r8l, esi
0040d1ecadd r8l, r8l
0040d1efmovsxd r8, r8l
0040d1f2call fn_405ac0
0040d1f7
0040d1f7loc_40d1f7:
0040d1f7mov rcx, r14
0040d1famovsxd rsi, esi
0040d1fdlea rdx, [r13+2*rsi]
0040d202mov r8l, edi
0040d205add r8l, r8l
0040d208movsxd r8, r8l
0040d20bcall fn_405ac0
0040d210mov rcx, rbx
0040d213mov rdx, r13
0040d216call fn_40d020
0040d21b
0040d21bloc_40d21b:
0040d21badd rsp, 32
0040d21fpop rbx
0040d220pop rsi
0040d221pop rdi
0040d222pop r13
0040d224pop r14
0040d226ret
0040d1a0
0040d1a0fn_40d1a0:
0040d1a0push r14
0040d1a2push r13
0040d1a4push rdi
0040d1a5push rsi
0040d1a6push rbx
0040d1a7sub rsp, 32
0040d1abmov rbx, rcx
0040d1aexor edi, edi
0040d1b0mov r14, rdx
0040d1b3test r14, r14
0040d1b6je 0x40d1bf
0040d1b8mov edi, [r14-4]
0040d1bcshr edi, 1
0040d1bf
0040d1bfloc_40d1bf:
0040d1bftest edi, edi
0040d1c1je 0x40d21b
0040d1c3xor esi, esi
0040d1c5mov rax, [rbx]
0040d1c8test rax, rax
0040d1cbje 0x40d1d3
0040d1cdmov esi, [rax-4]
0040d1d0shr esi, 1
0040d1d3
0040d1d3loc_40d1d3:
0040d1d3mov ecx, esi
0040d1d5add ecx, edi
0040d1d7call fn_40bcc0
0040d1dcmov r13, rax
0040d1dftest esi, esi
0040d1e1jle 0x40d1f7
0040d1e3mov rcx, [rbx]
0040d1e6mov rdx, r13
0040d1e9mov r8l, esi
0040d1ecadd r8l, r8l
0040d1efmovsxd r8, r8l
0040d1f2call fn_405ac0
0040d1f7
0040d1f7loc_40d1f7:
0040d1f7mov rcx, r14
0040d1famovsxd rsi, esi
0040d1fdlea rdx, [r13+2*rsi]
0040d202mov r8l, edi
0040d205add r8l, r8l
0040d208movsxd r8, r8l
0040d20bcall fn_405ac0
0040d210mov rcx, rbx
0040d213mov rdx, r13
0040d216call fn_40d020
0040d21b
0040d21bloc_40d21b:
0040d21badd rsp, 32
0040d21fpop rbx
0040d220pop rsi
0040d221pop rdi
0040d222pop r13
0040d224pop r14
0040d226ret
0040d1a0
0040d227
0040d227 // align 0x10
0040d227 // align 0x10
0040d230
0040d230fn_40d230:
0040d230push r14
0040d232push r13
0040d234push rdi
0040d235push rsi
0040d236push rbx
0040d237sub rsp, 48
0040d23bmov [rsp+40], rcx
0040d240mov rbx, rdx
0040d243mov rsi, r8
0040d246xor edi, edi
0040d248mov rax, rbx
0040d24btest rax, rax
0040d24eje 0x40d256
0040d250mov edi, [rax-4]
0040d253shr edi, 1
0040d256
0040d256loc_40d256:
0040d256xor r13, r13
0040d259mov rax, rsi
0040d25ctest rax, rax
0040d25fje 0x40d269
0040d261mov r13l, [rax-4]
0040d265shr r13l, 1
0040d269
0040d269loc_40d269:
0040d269test edi, edi
0040d26bjne 0x40d272
0040d26dtest r13l, r13l
0040d270je 0x40d2ba
0040d272
0040d272loc_40d272:
0040d272mov ecx, edi
0040d274add ecx, r13l
0040d277call fn_40bcc0
0040d27cmov r14, rax
0040d27fmov rcx, rbx
0040d282mov rdx, r14
0040d285mov r8l, edi
0040d288add r8l, r8l
0040d28bmovsxd r8, r8l
0040d28ecall fn_405ac0
0040d293mov rcx, rsi
0040d296movsxd rdi, edi
0040d299lea rdx, [r14+2*rdi]
0040d29dmov r8l, r13l
0040d2a0add r8l, r8l
0040d2a3movsxd r8, r8l
0040d2a6call fn_405ac0
0040d2abmov rcx, [rsp+40]
0040d2b0mov rdx, r14
0040d2b3call fn_40d020
0040d2b8jmp 0x40d2c4
0040d2ba
0040d2baloc_40d2ba:
0040d2bamov rcx, [rsp+40]
0040d2bfcall fn_40bd90
0040d2c4
0040d2c4loc_40d2c4:
0040d2c4add rsp, 48
0040d2c8pop rbx
0040d2c9pop rsi
0040d2capop rdi
0040d2cbpop r13
0040d2cdpop r14
0040d2cfret
0040d230
0040d230fn_40d230:
0040d230push r14
0040d232push r13
0040d234push rdi
0040d235push rsi
0040d236push rbx
0040d237sub rsp, 48
0040d23bmov [rsp+40], rcx
0040d240mov rbx, rdx
0040d243mov rsi, r8
0040d246xor edi, edi
0040d248mov rax, rbx
0040d24btest rax, rax
0040d24eje 0x40d256
0040d250mov edi, [rax-4]
0040d253shr edi, 1
0040d256
0040d256loc_40d256:
0040d256xor r13, r13
0040d259mov rax, rsi
0040d25ctest rax, rax
0040d25fje 0x40d269
0040d261mov r13l, [rax-4]
0040d265shr r13l, 1
0040d269
0040d269loc_40d269:
0040d269test edi, edi
0040d26bjne 0x40d272
0040d26dtest r13l, r13l
0040d270je 0x40d2ba
0040d272
0040d272loc_40d272:
0040d272mov ecx, edi
0040d274add ecx, r13l
0040d277call fn_40bcc0
0040d27cmov r14, rax
0040d27fmov rcx, rbx
0040d282mov rdx, r14
0040d285mov r8l, edi
0040d288add r8l, r8l
0040d28bmovsxd r8, r8l
0040d28ecall fn_405ac0
0040d293mov rcx, rsi
0040d296movsxd rdi, edi
0040d299lea rdx, [r14+2*rdi]
0040d29dmov r8l, r13l
0040d2a0add r8l, r8l
0040d2a3movsxd r8, r8l
0040d2a6call fn_405ac0
0040d2abmov rcx, [rsp+40]
0040d2b0mov rdx, r14
0040d2b3call fn_40d020
0040d2b8jmp 0x40d2c4
0040d2ba
0040d2baloc_40d2ba:
0040d2bamov rcx, [rsp+40]
0040d2bfcall fn_40bd90
0040d2c4
0040d2c4loc_40d2c4:
0040d2c4add rsp, 48
0040d2c8pop rbx
0040d2c9pop rsi
0040d2capop rdi
0040d2cbpop r13
0040d2cdpop r14
0040d2cfret
0040d230
0040d2d0
0040d2d0fn_40d2d0:
0040d2d0push rbp
0040d2d1push r14
0040d2d3push r13
0040d2d5push rdi
0040d2d6push rsi
0040d2d7push rbx
0040d2d8sub rsp, 72
0040d2dcmov rbp, rsp
0040d2dfmov [rbp+40], rcx
0040d2e3mov ebx, edx
0040d2e5mov rsi, r8
0040d2e8xor r13, r13
0040d2ebxor eax, eax
0040d2edmov r14l, ebx
0040d2f0sub r14l, 1
0040d2f4mov edi, eax
0040d2f6cmp edi, r14l
0040d2f9jg 0x40d341
0040d2fbsub r14l, eax
0040d2feadd r14l, 1
0040d302
0040d302loc_40d302:
0040d302movsxd rax, edi
0040d305mov rax, [rsi+8*rax]
0040d309mov [rbp+56], rax
0040d30dcmp [rbp+56], 0
0040d312je 0x40d335
0040d314mov rax, [rbp+56]
0040d318mov eax, [rax-4]
0040d31bshr eax, 31
0040d31emov rcx, [rbp+56]
0040d322add eax, [rcx-4]
0040d325sar eax, 1
0040d328add r13l, eax
0040d32btest r13l, r13l
0040d32ejge 0x40d335
0040d330call fn_4085f0
0040d335
0040d335loc_40d335:
0040d335add edi, 1
0040d338sub r14l, 1
0040d33ctest r14l, r14l
0040d33fjne 0x40d302
0040d341
0040d341loc_40d341:
0040d341nop
0040d342mov ecx, r13l
0040d345call fn_40bcc0
0040d34amov r14, rax
0040d34dxor r13, r13
0040d350xor eax, eax
0040d352sub ebx, 1
0040d355mov edi, eax
0040d357cmp edi, ebx
0040d359jg 0x40d3c1
0040d35bsub ebx, eax
0040d35dadd ebx, 1
0040d360
0040d360loc_40d360:
0040d360movsxd rax, edi
0040d363mov rax, [rsi+8*rax]
0040d367mov [rbp+56], rax
0040d36bcmp [rbp+56], 0
0040d370je 0x40d3b7
0040d372mov rcx, [rbp+56]
0040d376movsxd rax, r13l
0040d379lea rdx, [r14+2*rax]
0040d37dmov rax, [rbp+56]
0040d381mov r8l, [rax-4]
0040d385shr r8l, 31
0040d389mov rax, [rbp+56]
0040d38dadd r8l, [rax-4]
0040d391sar r8l, 1
0040d395add r8l, r8l
0040d398movsxd r8, r8l
0040d39bcall fn_405ac0
0040d3a0mov rax, [rbp+56]
0040d3a4mov eax, [rax-4]
0040d3a7shr eax, 31
0040d3aamov rcx, [rbp+56]
0040d3aeadd eax, [rcx-4]
0040d3b1sar eax, 1
0040d3b4add r13l, eax
0040d3b7
0040d3b7loc_40d3b7:
0040d3b7add edi, 1
0040d3basub ebx, 1
0040d3bdtest ebx, ebx
0040d3bfjne 0x40d360
0040d3c1
0040d3c1loc_40d3c1:
0040d3c1nop
0040d3c2mov rcx, [rbp+40]
0040d3c6mov rdx, r14
0040d3c9call fn_40d020
0040d3celea rsp, [rbp+72]
0040d3d2pop rbx
0040d3d3pop rsi
0040d3d4pop rdi
0040d3d5pop r13
0040d3d7pop r14
0040d3d9pop rbp
0040d3daret
0040d2d0
0040d2d0fn_40d2d0:
0040d2d0push rbp
0040d2d1push r14
0040d2d3push r13
0040d2d5push rdi
0040d2d6push rsi
0040d2d7push rbx
0040d2d8sub rsp, 72
0040d2dcmov rbp, rsp
0040d2dfmov [rbp+40], rcx
0040d2e3mov ebx, edx
0040d2e5mov rsi, r8
0040d2e8xor r13, r13
0040d2ebxor eax, eax
0040d2edmov r14l, ebx
0040d2f0sub r14l, 1
0040d2f4mov edi, eax
0040d2f6cmp edi, r14l
0040d2f9jg 0x40d341
0040d2fbsub r14l, eax
0040d2feadd r14l, 1
0040d302
0040d302loc_40d302:
0040d302movsxd rax, edi
0040d305mov rax, [rsi+8*rax]
0040d309mov [rbp+56], rax
0040d30dcmp [rbp+56], 0
0040d312je 0x40d335
0040d314mov rax, [rbp+56]
0040d318mov eax, [rax-4]
0040d31bshr eax, 31
0040d31emov rcx, [rbp+56]
0040d322add eax, [rcx-4]
0040d325sar eax, 1
0040d328add r13l, eax
0040d32btest r13l, r13l
0040d32ejge 0x40d335
0040d330call fn_4085f0
0040d335
0040d335loc_40d335:
0040d335add edi, 1
0040d338sub r14l, 1
0040d33ctest r14l, r14l
0040d33fjne 0x40d302
0040d341
0040d341loc_40d341:
0040d341nop
0040d342mov ecx, r13l
0040d345call fn_40bcc0
0040d34amov r14, rax
0040d34dxor r13, r13
0040d350xor eax, eax
0040d352sub ebx, 1
0040d355mov edi, eax
0040d357cmp edi, ebx
0040d359jg 0x40d3c1
0040d35bsub ebx, eax
0040d35dadd ebx, 1
0040d360
0040d360loc_40d360:
0040d360movsxd rax, edi
0040d363mov rax, [rsi+8*rax]
0040d367mov [rbp+56], rax
0040d36bcmp [rbp+56], 0
0040d370je 0x40d3b7
0040d372mov rcx, [rbp+56]
0040d376movsxd rax, r13l
0040d379lea rdx, [r14+2*rax]
0040d37dmov rax, [rbp+56]
0040d381mov r8l, [rax-4]
0040d385shr r8l, 31
0040d389mov rax, [rbp+56]
0040d38dadd r8l, [rax-4]
0040d391sar r8l, 1
0040d395add r8l, r8l
0040d398movsxd r8, r8l
0040d39bcall fn_405ac0
0040d3a0mov rax, [rbp+56]
0040d3a4mov eax, [rax-4]
0040d3a7shr eax, 31
0040d3aamov rcx, [rbp+56]
0040d3aeadd eax, [rcx-4]
0040d3b1sar eax, 1
0040d3b4add r13l, eax
0040d3b7
0040d3b7loc_40d3b7:
0040d3b7add edi, 1
0040d3basub ebx, 1
0040d3bdtest ebx, ebx
0040d3bfjne 0x40d360
0040d3c1
0040d3c1loc_40d3c1:
0040d3c1nop
0040d3c2mov rcx, [rbp+40]
0040d3c6mov rdx, r14
0040d3c9call fn_40d020
0040d3celea rsp, [rbp+72]
0040d3d2pop rbx
0040d3d3pop rsi
0040d3d4pop rdi
0040d3d5pop r13
0040d3d7pop r14
0040d3d9pop rbp
0040d3daret
0040d2d0
0040d3db
0040d3db // align 0x10
0040d3db // align 0x10
0040d3e0
0040d3e0fn_40d3e0:
0040d3e0push r14
0040d3e2push r13
0040d3e4push rdi
0040d3e5push rsi
0040d3e6push rbx
0040d3e7sub rsp, 64
0040d3ebmov [rsp+40], rcx
0040d3f0mov ebx, edx
0040d3f2mov [rsp+48], r8
0040d3f7xor r13, r13
0040d3faxor esi, esi
0040d3fcxor eax, eax
0040d3femov edi, ebx
0040d400sub edi, 1
0040d403mov ecx, eax
0040d405cmp ecx, edi
0040d407mov [rsp+60], ecx
0040d40bjg 0x40d459
0040d40dsub edi, eax
0040d40fadd edi, 1
0040d412
0040d412loc_40d412:
0040d412mov eax, [rsp+60]
0040d416movsxd rax, eax
0040d419mov rcx, [rsp+48]
0040d41emov rax, [rcx+8*rax]
0040d422test rax, rax
0040d425je 0x40d447
0040d427mov rcx, [rsp+40]
0040d42ccmp rax, [rcx]
0040d42fjne 0x40d43b
0040d431mov ecx, [rsp+60]
0040d435test ecx, ecx
0040d437sete r13b
0040d43b
0040d43bloc_40d43b:
0040d43badd esi, [rax-4]
0040d43etest esi, esi
0040d440jge 0x40d447
0040d442call fn_4085f0
0040d447
0040d447loc_40d447:
0040d447mov eax, [rsp+60]
0040d44badd eax, 1
0040d44emov [rsp+60], eax
0040d452sub edi, 1
0040d455test edi, edi
0040d457jne 0x40d412
0040d459
0040d459loc_40d459:
0040d459nop
0040d45atest r13b, r13b
0040d45dje 0x40d485
0040d45fmov rax, [rsp+40]
0040d464mov rax, [rax]
0040d467mov edi, [rax-4]
0040d46amov rcx, [rsp+40]
0040d46fmov edx, esi
0040d471call fn_40d8d0
0040d476mov rax, [rsp+40]
0040d47bmov rsi, [rax]
0040d47emov eax, 1
0040d483jmp 0x40d493
0040d485
0040d485loc_40d485:
0040d485mov ecx, esi
0040d487call fn_40bbc0
0040d48cmov rsi, rax
0040d48fxor eax, eax
0040d491xor edi, edi
0040d493
0040d493loc_40d493:
0040d493mov r14l, ebx
0040d496sub r14l, 1
0040d49amov ecx, eax
0040d49ccmp ecx, r14l
0040d49fmov [rsp+60], ecx
0040d4a3jg 0x40d4f4
0040d4a5sub r14l, eax
0040d4a8add r14l, 1
0040d4ac
0040d4acloc_40d4ac:
0040d4acmov eax, [rsp+60]
0040d4b0movsxd rax, eax
0040d4b3mov rcx, [rsp+48]
0040d4b8mov rax, [rcx+8*rax]
0040d4bctest rax, rax
0040d4bfje 0x40d4e0
0040d4c1mov rbx, rax
0040d4c4mov rcx, rax
0040d4c7movsxd rax, edi
0040d4calea rdx, [rsi+2*rax]
0040d4cemov r8l, [rbx-4]
0040d4d2add r8l, r8l
0040d4d5movsxd r8, r8l
0040d4d8call fn_405ac0
0040d4ddadd edi, [rbx-4]
0040d4e0
0040d4e0loc_40d4e0:
0040d4e0mov eax, [rsp+60]
0040d4e4add eax, 1
0040d4e7mov [rsp+60], eax
0040d4ebsub r14l, 1
0040d4eftest r14l, r14l
0040d4f2jne 0x40d4ac
0040d4f4
0040d4f4loc_40d4f4:
0040d4f4nop
0040d4f5test r13b, r13b
0040d4f8jne 0x40d517
0040d4famov rax, [rsp+40]
0040d4ffcmp [rax], 0
0040d503je 0x40d50f
0040d505mov rcx, [rsp+40]
0040d50acall fn_40bcf0
0040d50f
0040d50floc_40d50f:
0040d50fmov rax, [rsp+40]
0040d514mov [rax], rsi
0040d517
0040d517loc_40d517:
0040d517add rsp, 64
0040d51bpop rbx
0040d51cpop rsi
0040d51dpop rdi
0040d51epop r13
0040d520pop r14
0040d522ret
0040d3e0
0040d3e0fn_40d3e0:
0040d3e0push r14
0040d3e2push r13
0040d3e4push rdi
0040d3e5push rsi
0040d3e6push rbx
0040d3e7sub rsp, 64
0040d3ebmov [rsp+40], rcx
0040d3f0mov ebx, edx
0040d3f2mov [rsp+48], r8
0040d3f7xor r13, r13
0040d3faxor esi, esi
0040d3fcxor eax, eax
0040d3femov edi, ebx
0040d400sub edi, 1
0040d403mov ecx, eax
0040d405cmp ecx, edi
0040d407mov [rsp+60], ecx
0040d40bjg 0x40d459
0040d40dsub edi, eax
0040d40fadd edi, 1
0040d412
0040d412loc_40d412:
0040d412mov eax, [rsp+60]
0040d416movsxd rax, eax
0040d419mov rcx, [rsp+48]
0040d41emov rax, [rcx+8*rax]
0040d422test rax, rax
0040d425je 0x40d447
0040d427mov rcx, [rsp+40]
0040d42ccmp rax, [rcx]
0040d42fjne 0x40d43b
0040d431mov ecx, [rsp+60]
0040d435test ecx, ecx
0040d437sete r13b
0040d43b
0040d43bloc_40d43b:
0040d43badd esi, [rax-4]
0040d43etest esi, esi
0040d440jge 0x40d447
0040d442call fn_4085f0
0040d447
0040d447loc_40d447:
0040d447mov eax, [rsp+60]
0040d44badd eax, 1
0040d44emov [rsp+60], eax
0040d452sub edi, 1
0040d455test edi, edi
0040d457jne 0x40d412
0040d459
0040d459loc_40d459:
0040d459nop
0040d45atest r13b, r13b
0040d45dje 0x40d485
0040d45fmov rax, [rsp+40]
0040d464mov rax, [rax]
0040d467mov edi, [rax-4]
0040d46amov rcx, [rsp+40]
0040d46fmov edx, esi
0040d471call fn_40d8d0
0040d476mov rax, [rsp+40]
0040d47bmov rsi, [rax]
0040d47emov eax, 1
0040d483jmp 0x40d493
0040d485
0040d485loc_40d485:
0040d485mov ecx, esi
0040d487call fn_40bbc0
0040d48cmov rsi, rax
0040d48fxor eax, eax
0040d491xor edi, edi
0040d493
0040d493loc_40d493:
0040d493mov r14l, ebx
0040d496sub r14l, 1
0040d49amov ecx, eax
0040d49ccmp ecx, r14l
0040d49fmov [rsp+60], ecx
0040d4a3jg 0x40d4f4
0040d4a5sub r14l, eax
0040d4a8add r14l, 1
0040d4ac
0040d4acloc_40d4ac:
0040d4acmov eax, [rsp+60]
0040d4b0movsxd rax, eax
0040d4b3mov rcx, [rsp+48]
0040d4b8mov rax, [rcx+8*rax]
0040d4bctest rax, rax
0040d4bfje 0x40d4e0
0040d4c1mov rbx, rax
0040d4c4mov rcx, rax
0040d4c7movsxd rax, edi
0040d4calea rdx, [rsi+2*rax]
0040d4cemov r8l, [rbx-4]
0040d4d2add r8l, r8l
0040d4d5movsxd r8, r8l
0040d4d8call fn_405ac0
0040d4ddadd edi, [rbx-4]
0040d4e0
0040d4e0loc_40d4e0:
0040d4e0mov eax, [rsp+60]
0040d4e4add eax, 1
0040d4e7mov [rsp+60], eax
0040d4ebsub r14l, 1
0040d4eftest r14l, r14l
0040d4f2jne 0x40d4ac
0040d4f4
0040d4f4loc_40d4f4:
0040d4f4nop
0040d4f5test r13b, r13b
0040d4f8jne 0x40d517
0040d4famov rax, [rsp+40]
0040d4ffcmp [rax], 0
0040d503je 0x40d50f
0040d505mov rcx, [rsp+40]
0040d50acall fn_40bcf0
0040d50f
0040d50floc_40d50f:
0040d50fmov rax, [rsp+40]
0040d514mov [rax], rsi
0040d517
0040d517loc_40d517:
0040d517add rsp, 64
0040d51bpop rbx
0040d51cpop rsi
0040d51dpop rdi
0040d51epop r13
0040d520pop r14
0040d522ret
0040d3e0
0040d523
0040d523 // align 0x10
0040d523 // align 0x10
0040d530
0040d530fn_40d530:
0040d530push rbp
0040d531push rbx
0040d532sub rsp, 40
0040d536mov rbp, rsp
0040d539mov [rbp+80], r8
0040d53dmov [rbp+88], r9
0040d541mov [rbp+64], rcx
0040d545mov [rbp+72], edx
0040d548lea rbx, [rbp+80]
0040d54cmov rcx, [rbp+64]
0040d550mov edx, [rbp+72]
0040d553mov r8, rbx
0040d556call fn_40d2d0
0040d55blea rsp, [rbp+40]
0040d55fpop rbx
0040d560pop rbp
0040d561ret
0040d530
0040d530fn_40d530:
0040d530push rbp
0040d531push rbx
0040d532sub rsp, 40
0040d536mov rbp, rsp
0040d539mov [rbp+80], r8
0040d53dmov [rbp+88], r9
0040d541mov [rbp+64], rcx
0040d545mov [rbp+72], edx
0040d548lea rbx, [rbp+80]
0040d54cmov rcx, [rbp+64]
0040d550mov edx, [rbp+72]
0040d553mov r8, rbx
0040d556call fn_40d2d0
0040d55blea rsp, [rbp+40]
0040d55fpop rbx
0040d560pop rbp
0040d561ret
0040d530
0040d562
0040d562 // align 0x10
0040d562 // align 0x10
0040d570
0040d570fn_40d570:
0040d570push r14
0040d572push r13
0040d574push rdi
0040d575push rsi
0040d576push rbx
0040d577sub rsp, 32
0040d57bmov rbx, rdx
0040d57emov rax, rcx
0040d581mov rdx, rbx
0040d584cmp rax, rdx
0040d587jne 0x40d590
0040d589xor eax, eax
0040d58bjmp 0x40d630
0040d590
0040d590loc_40d590:
0040d590test rax, rax
0040d593jne 0x40d5a8
0040d595mov eax, [rdx-4]
0040d598shr eax, 31
0040d59badd eax, [rdx-4]
0040d59esar eax, 1
0040d5a1neg eax
0040d5a3jmp 0x40d630
0040d5a8
0040d5a8loc_40d5a8:
0040d5a8test rdx, rdx
0040d5abjne 0x40d5bd
0040d5admov ecx, [rax-4]
0040d5b0shr ecx, 31
0040d5b3add ecx, [rax-4]
0040d5b6sar ecx, 1
0040d5b9mov eax, ecx
0040d5bbjmp 0x40d630
0040d5bd
0040d5bdloc_40d5bd:
0040d5bdmov edi, [rax-4]
0040d5c0shr edi, 31
0040d5c3add edi, [rax-4]
0040d5c6sar edi, 1
0040d5c9mov r13l, [rdx-4]
0040d5cdshr r13l, 31
0040d5d1add r13l, [rdx-4]
0040d5d5sar r13l, 1
0040d5d9mov esi, edi
0040d5dbcmp esi, r13l
0040d5dejle 0x40d5e3
0040d5e0mov esi, r13l
0040d5e3
0040d5e3loc_40d5e3:
0040d5e3call fn_40d180
0040d5e8mov r14, rax
0040d5ebmov rcx, rbx
0040d5eecall fn_40d180
0040d5f3mov rcx, rax
0040d5f6test esi, esi
0040d5f8jle 0x40d62a
0040d5fa
0040d5faloc_40d5fa:
0040d5famovzx eax, [r14]
0040d5femovzx edx, [rcx]
0040d601sub eax, edx
0040d603test eax, eax
0040d605jne 0x40d630
0040d607cmp esi, 1
0040d60aje 0x40d62a
0040d60cmovzx eax, [r14+2]
0040d611movzx edx, [rcx+2]
0040d615sub eax, edx
0040d617test eax, eax
0040d619jne 0x40d630
0040d61badd r14, 4
0040d61fadd rcx, 4
0040d623sub esi, 2
0040d626test esi, esi
0040d628jg 0x40d5fa
0040d62a
0040d62aloc_40d62a:
0040d62anop
0040d62bmov eax, edi
0040d62dsub eax, r13l
0040d630
0040d630loc_40d630:
0040d630add rsp, 32
0040d634pop rbx
0040d635pop rsi
0040d636pop rdi
0040d637pop r13
0040d639pop r14
0040d63bret
0040d570
0040d570fn_40d570:
0040d570push r14
0040d572push r13
0040d574push rdi
0040d575push rsi
0040d576push rbx
0040d577sub rsp, 32
0040d57bmov rbx, rdx
0040d57emov rax, rcx
0040d581mov rdx, rbx
0040d584cmp rax, rdx
0040d587jne 0x40d590
0040d589xor eax, eax
0040d58bjmp 0x40d630
0040d590
0040d590loc_40d590:
0040d590test rax, rax
0040d593jne 0x40d5a8
0040d595mov eax, [rdx-4]
0040d598shr eax, 31
0040d59badd eax, [rdx-4]
0040d59esar eax, 1
0040d5a1neg eax
0040d5a3jmp 0x40d630
0040d5a8
0040d5a8loc_40d5a8:
0040d5a8test rdx, rdx
0040d5abjne 0x40d5bd
0040d5admov ecx, [rax-4]
0040d5b0shr ecx, 31
0040d5b3add ecx, [rax-4]
0040d5b6sar ecx, 1
0040d5b9mov eax, ecx
0040d5bbjmp 0x40d630
0040d5bd
0040d5bdloc_40d5bd:
0040d5bdmov edi, [rax-4]
0040d5c0shr edi, 31
0040d5c3add edi, [rax-4]
0040d5c6sar edi, 1
0040d5c9mov r13l, [rdx-4]
0040d5cdshr r13l, 31
0040d5d1add r13l, [rdx-4]
0040d5d5sar r13l, 1
0040d5d9mov esi, edi
0040d5dbcmp esi, r13l
0040d5dejle 0x40d5e3
0040d5e0mov esi, r13l
0040d5e3
0040d5e3loc_40d5e3:
0040d5e3call fn_40d180
0040d5e8mov r14, rax
0040d5ebmov rcx, rbx
0040d5eecall fn_40d180
0040d5f3mov rcx, rax
0040d5f6test esi, esi
0040d5f8jle 0x40d62a
0040d5fa
0040d5faloc_40d5fa:
0040d5famovzx eax, [r14]
0040d5femovzx edx, [rcx]
0040d601sub eax, edx
0040d603test eax, eax
0040d605jne 0x40d630
0040d607cmp esi, 1
0040d60aje 0x40d62a
0040d60cmovzx eax, [r14+2]
0040d611movzx edx, [rcx+2]
0040d615sub eax, edx
0040d617test eax, eax
0040d619jne 0x40d630
0040d61badd r14, 4
0040d61fadd rcx, 4
0040d623sub esi, 2
0040d626test esi, esi
0040d628jg 0x40d5fa
0040d62a
0040d62aloc_40d62a:
0040d62anop
0040d62bmov eax, edi
0040d62dsub eax, r13l
0040d630
0040d630loc_40d630:
0040d630add rsp, 32
0040d634pop rbx
0040d635pop rsi
0040d636pop rdi
0040d637pop r13
0040d639pop r14
0040d63bret
0040d570
Loading..