Function at 0x459e90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5cb26b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push esi
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x898]
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x459ed4
mov eax, 1
pop esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret
mov ecx, dword [esi + 0x854]
test ecx, ecx
mov dword [esp + 0x24], ecx
jne 0x459ee8
mov dword [esi + 0x860], eax
mov ecx, dword [esi + 0x7c4]
mov eax, dword [ecx + 0xc8]
test eax, eax
push ebx
push ebp
push edi
je 0x45a8c3
mov eax, dword [ecx + 0xe0]
and eax, dword [ecx + 0xe4]
cmp eax, 0xffffffff
jne 0x45a8c3
mov edx, dword [esi + 0x7e0]
mov eax, 1
cmp edx, eax
jg 0x45adfd
mov edi, dword [0x6613bc]
mov eax, 0x10624dd3
mul dword [edi + 0x5e8]
mov ebx, edx
mov eax, 0x10624dd3
mul dword [edi + 0x5ec]
mov ebp, edx
mov eax, 0x10624dd3
mul dword [edi + 0x5f8]
shr edx, 6
mov dword [esp + 0x48], edx
mov eax, 0x10624dd3
mul dword [edi + 0x5fc]
shr edx, 6
mov dword [esp + 0x24], edx
mov eax, 0x10624dd3
mul dword [edi + 0x5f0]
mov eax, dword [edi + 0x614]
shr edx, 6
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x30]
shr ebx, 6
shr ebp, 6
cmp edx, eax
mov dword [esp + 0x4c], ebx
jb 0x459fad
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret
mov eax, dword [esi + 0x868]
cmp eax, 0x400
ja 0x459fbf
mov eax, 0x400
mov edx, dword [esp + 0x30]
imul eax, ebx
cmp edx, eax
jae 0x459f95
call fcn.0045dcf0
mov ecx, eax
call fcn.00475ba0
mov ecx, dword [esi + 0x7c4]
mov edi, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edi
call fcn.0045dcf0
mov ecx, eax
call fcn.00475be0
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x7c4]
mov ecx, dword [eax + 0xd0]
mov eax, dword [esp + 0x1c]
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0x64], edx
mov edx, eax
sub edx, ebx
mov ebx, dword [0x6613bc]
cmp edx, dword [ebx + 0x5ec]
mov dword [esp + 0x20], ecx
jbe 0x45a02f
push eax
mov eax, dword [esp + 0x54]
push edi
push eax
call fcn.00479bc0
mov edx, dword [esi + 0x868]
cmp edx, 0x400
mov eax, edx
ja 0x45a044
mov eax, 0x400
mov ecx, dword [0x6613bc]
imul eax, ebp
mov ecx, dword [ecx + 0x618]
cmp ecx, eax
jae 0x45a05d
mov dword [esp + 0x10], ecx
jmp 0x45a073
cmp edx, 0x400
mov eax, edx
ja 0x45a06c
mov eax, 0x400
imul eax, ebp
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x874]
mov edi, 1
mov dword [edx + 0x854], edi
mov ecx, dword [esi + 0x7c4]
mov eax, dword [ecx + 0x264]
test eax, eax
mov dword [esp + 0x3c], edi
je 0x45a0c8
jmp 0x45a0a0
mov edx, dword [eax + 0x844]
test edx, edx
jbe 0x45a0b6
mov ebx, dword [esi + 0x844]
shl ebx, 1
cmp edx, ebx
ja 0x45a0c2
mov eax, dword [eax + 0x7cc]
test eax, eax
jne 0x45a0a0
jmp 0x45a0c8
xor edi, edi
mov dword [esp + 0x3c], edi
mov edx, dword [esi + 0x844]
mov eax, dword [0x6613bc]
cmp edx, dword [eax + 0x60c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
jae 0x45a11e
mov edi, dword [esp + 0x24]
lea eax, [edi + edi*4]
shl eax, 0xe
push 0
push eax
call fcn.0045dcf0
mov ecx, eax
call fcn.00475c30
mov ebx, dword [esi]
push edx
push eax
mov ecx, esi
call dword [ebx + 0xa8]
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
jmp 0x45a166
test edi, edi
jne 0x45a162
mov ecx, dword [esi + 0x868]
cmp ecx, dword [eax + 0x610]
jae 0x45a162
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov edx, dword [esi]
lea eax, [edi + edi*4]
xor ecx, ecx
shl eax, 0xe
add eax, ebx
adc ecx, ebp
push ecx
push eax
mov ecx, esi
call dword [edx + 0xa8]
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
jmp 0x45a166
mov edi, dword [esp + 0x24]
cmp ebp, dword [esp + 0x64]
jb 0x45a1c6
ja 0x45a174
cmp ebx, dword [esp + 0x60]
jb 0x45a1c6
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x54]
mov edx, dword [esi]
add eax, ebp
adc ecx, ebx
shrd eax, ecx, 1
shr ecx, 1
push ecx
push eax
mov ecx, esi
call dword [edx + 0xa8]
mov ebx, eax
mov eax, dword [esp + 0x64]
mov ebp, edx
cmp ebp, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
jb 0x45a1c6
ja 0x45a1b6
cmp ebx, dword [esp + 0x60]
jb 0x45a1c6
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
mov ecx, dword [esi + 0x7c4]
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.00475b70
mov ecx, dword [0x6613bc]
mov ecx, dword [ecx + 0x61c]
mov dword [esp + 0x78], ecx
mov ecx, eax
xor eax, eax
cmp edx, eax
ja 0x45a20d
jb 0x45a203
cmp ecx, dword [esp + 0x78]
jae 0x45a20d
mov dword [esp + 0x38], 1
jmp 0x45a215
mov dword [esp + 0x38], 0
mov edx, dword [esi]
lea eax, [edi + edi*4]
shl eax, 0xe
xor ecx, ecx
mov dword [esp + 0x68], eax
mov edi, ebx
add edi, eax
mov eax, ebp
adc eax, ecx
push eax
mov dword [esp + 0x70], ecx
push edi
mov ecx, esi
call dword [edx + 0xac]
push edx
push eax
push ebp
lea ecx, [esp + 0x20]
push ebx
push ecx
call fcn.00476a70
mov ecx, dword [esp + 0x28]
add esp, 0x14
call fcn.00475b70
mov ecx, dword [0x6613bc]
mov ecx, dword [ecx + 0x620]
xor edi, edi
cmp edx, edi
ja 0x45a275
jb 0x45a26b
cmp eax, ecx
jae 0x45a275
mov dword [esp + 0x28], 1
jmp 0x45a27d
mov dword [esp + 0x28], 0
mov eax, dword [esi + 0x844]
mov ecx, dword [esi + 0x868]
cmp eax, ecx
ja 0x45a28f
mov eax, ecx
mov edx, dword [0x6613bc]
mov edi, dword [edx + 0x600]
mov ecx, dword [esi + 0x7c4]
cmp eax, edi
mov edi, dword [ecx + 0x264]
sbb eax, eax
inc eax
test edi, edi
mov dword [esp + 0x34], eax
je 0x45a2fc
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x45a2fc
test eax, eax
je 0x45a2d4
mov edx, dword [edi + 0x868]
mov ecx, dword [0x6613bc]
cmp edx, dword [ecx + 0x610]
jbe 0x45a2f2
mov ecx, dword [esi + 0x890]
test ecx, ecx
je 0x45a2e2
cmp edi, esi
jne 0x45a2f2
mov edx, dword [edi]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call dword [edx + 0x70]
mov eax, dword [esp + 0x34]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45a2b4
mov ecx, dword [esp + 0x14]
call fcn.00475b70
or eax, edx
jne 0x45a310
mov eax, 1
jmp 0x45a312
xor eax, eax
mov ecx, dword [esi + 0x7e0]
mov edi, dword [esp + 0x28]
or edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], eax
mov edi, ebx
je 0x45a48d
mov edx, eax
lea edx, [edx + edx*4]
shl edx, 0xe
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], edx
jmp 0x45a360
mov ebx, dword [esp + 0x58]
jmp 0x45a360
mov edx, dword [esp + 0x10]
cmp dword [esi + 0x854], edx
jae 0x45a48d
cmp eax, dword [esp + 0x24]
ja 0x45a48d
call fcn.00476230
mov ecx, dword [esp + 0x30]
xor edx, edx
add ecx, ebx
adc edx, dword [esp + 0x5c]
push edx
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xac]
push edx
mov ebx, eax
push ebx
push ebp
lea eax, [esp + 0x24]
push edi
push eax
mov dword [esp + 0x78], edx
call fcn.00476a70
mov eax, dword [esp + 0x2c]
add esp, 0x14
test eax, eax
je 0x45a429
lea ebx, [ebx]
mov ecx, dword [esi + 0x854]
cmp ecx, dword [esp + 0x10]
jae 0x45a429
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
shr eax, 1
push eax
lea ecx, [esp + 0x74]
push ecx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call dword [edx + 0x80]
test eax, eax
je 0x45a425
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
call fcn.00479a50
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x45a3c0
jmp 0x45a429
mov eax, dword [esp + 0x18]
test eax, eax
mov ebp, eax
je 0x45a457
mov eax, dword [eax + 4]
test eax, eax
je 0x45a44b
mov ecx, dword [0x661408]
mov edi, dword [eax + 4]
push eax
call fcn.00476080
test edi, edi
mov eax, edi
jne 0x45a436
mov ecx, dword [0x661408]
push ebp
call fcn.00476080
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x40]
mov edi, ebx
mov ebx, dword [esp + 0x30]
add ebx, ecx
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
jne 0x45a34e
call fcn.00439450
mov edx, dword [esp + 0x44]
cmp edx, dword [esi + 0x7e0]
mov dword [esp + 0x14], 0
jne 0x45a731
mov eax, dword [esp + 0x38]
test eax, eax
je 0x45a5ea
mov ecx, dword [esi + 0x7c4]
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x54]
mov edx, dword [esi]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
add eax, edi
adc ecx, ebx
push ecx
push eax
mov ecx, esi
call dword [edx + 0xac]
push edx
push eax
push ebx
lea eax, [esp + 0x24]
push edi
push eax
call fcn.00476a70
mov ecx, dword [esi + 0x7c4]
mov edi, dword [ecx + 0x264]
mov ecx, dword [esp + 0x2c]
add esp, 0x14
test edi, edi
je 0x45a553
test ecx, ecx
je 0x45a5b7
mov eax, dword [esi + 0x868]
test eax, eax
jbe 0x45a549
cmp dword [edi + 0x868], eax
jbe 0x45a549
mov eax, dword [esi + 0x890]
test eax, eax
je 0x45a539
cmp edi, esi
jne 0x45a549
mov edx, dword [edi]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call dword [edx + 0x70]
mov ecx, dword [esp + 0x18]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45a511
test ecx, ecx
je 0x45a5b7
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
cmp dword [esi + 0x854], edi
jae 0x45a5b7
mov edx, dword [esi]
mov eax, edi
shr eax, 1
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call dword [edx + 0x80]
test eax, eax
je 0x45a5b3
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push ebp
push edx
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.00479a50
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x45a563
jmp 0x45a5b7
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov ebx, ecx
je 0x45a731
mov eax, dword [ecx + 4]
test eax, eax
je 0x45a725
lea esp, [esp]
mov ecx, dword [0x661408]
mov edi, dword [eax + 4]
push eax
call fcn.00476080
test edi, edi
mov eax, edi
jne 0x45a5d0
jmp 0x45a725
mov eax, dword [esi + 0x7c4]
mov dword [esp + 0x18], 0
mov edi, dword [eax + 0x264]
test edi, edi
je 0x45a62d
mov eax, dword [esi + 0x868]
test eax, eax
je 0x45a614
cmp dword [edi + 0x868], eax
jae 0x45a623
mov edx, dword [edi]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call dword [edx + 0x8c]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45a602
mov ebx, dword [esi + 0x864]
test ebx, ebx
ja 0x45a641
mov ebx, dword [esp + 0x48]
imul ebx, ebx, 0x3e8
mov ecx, dword [esi + 0x7c4]
mov edi, dword [ecx + 0x264]
test edi, edi
je 0x45a696
mov ebp, dword [esp + 0x50]
jmp 0x45a660
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a6fe
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
push 0x14000
push eax
push ebp
push ebx
push ecx
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call dword [edx + 0x88]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45a660
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a6fe
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
lea ebx, [ebx]
cmp dword [esi + 0x854], edi
jae 0x45a6fe
mov edx, dword [esi]
mov eax, edi
shr eax, 1
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call dword [edx + 0x80]
test eax, eax
je 0x45a6fe
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push ebp
push edx
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.00479a50
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x45a6b0
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x45a731
mov eax, dword [ebx + 4]
test eax, eax
je 0x45a725
lea ecx, [ecx]
mov ecx, dword [0x661408]
mov edi, dword [eax + 4]
push eax
call fcn.00476080
test edi, edi
mov eax, edi
jne 0x45a710
mov ecx, dword [0x661408]
push ebx
call fcn.00476080
mov eax, dword [esp + 0x28]
test eax, eax
je 0x45ad4e
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x45a753
mov eax, dword [esi + 0x868]
test eax, eax
jne 0x45ad4e
mov eax, dword [esp + 0x10]
cmp dword [esi + 0x854], eax
jae 0x45ad4e
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
lea ecx, [eax + eax*4]
shl ecx, 0xe
xor eax, eax
add ecx, ebp
adc eax, edi
cmp edi, eax
mov dword [esp + 0x48], edx
mov edx, dword [esi + 0x864]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x4c], edx
ja 0x45ad4e
jb 0x45a7b0
mov eax, ebp
cmp eax, ecx
jae 0x45ad4e
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp dword [esi + 0x854], eax
jae 0x45ad4e
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebx + 0x18]
mov eax, ebp
mov edx, edi
call fcn.0057c2c0
cmp eax, dword [ebx + 8]
jae 0x45a7e6
mov ecx, dword [ebx + 4]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebx + 0x1c]
shl eax, cl
add eax, dword [ebx + 0xc]
jmp 0x45a7e9
mov eax, dword [ebx + 0xc]
cmp eax, dword [esp + 0x48]
jbe 0x45a891
mov edx, dword [esp + 0x1c]
sub edx, eax
cmp edx, dword [esp + 0x4c]
jbe 0x45a891
mov eax, dword [0x6613bc]
mov eax, dword [eax + 0x320]
xor ecx, ecx
push ecx
push eax
push edi
push ebp
push ecx
push ecx
mov ecx, dword [0x661408]
call fcn.00475fd0
mov edx, dword [esi]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call dword [edx + 0x70]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
shr eax, 1
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call dword [edx + 0x80]
test eax, eax
je 0x45a875
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.00479a50
mov eax, dword [esp + 0x28]
test eax, eax
je 0x45a889
mov ecx, dword [0x661408]
push eax
call fcn.00476080
mov dword [esp + 0x28], 0
mov ecx, dword [0x6613bc]
mov edx, dword [ecx + 0x320]
mov eax, dword [esp + 0x6c]
add ebp, edx
adc edi, 0
cmp edi, eax
jb 0x45a7b0
ja 0x45ad4e
cmp ebp, dword [esp + 0x68]
jb 0x45a7b0
jmp 0x45ad4e
mov eax, dword [ecx + 0xa8]
test eax, eax
mov eax, dword [esi + 0x7e0]
jne 0x45aaff
mov ecx, dword [0x6613bc]
cmp eax, dword [ecx + 0x318]
jge 0x459f95
push 0x28
call fcn.005abebb
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x88], 0
test eax, eax
je 0x45a911
mov ecx, eax
call fcn.004a5400
mov ebx, eax
jmp 0x45a913
xor ebx, ebx
mov dword [esp + 0x88], 0xffffffff
mov edx, dword [esi + 0x7c4]
mov eax, dword [edx + 0x20]
mov dword [ebx + 0x20], eax
mov ecx, dword [edx + 0x24]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esi + 0x7c4]
call fcn.0045dcf0
mov edi, eax
test edi, edi
je 0x45a95f
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
push edx
mov edx, dword [edi + 8]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004a47f0
mov edi, dword [edi + 4]
test edi, edi
jne 0x45a941
mov edi, dword [esi + 0x7dc]
test edi, edi
je 0x45a98e
lea esp, [esp]
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
push eax
mov eax, dword [edi + 8]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004a4c50
mov edi, dword [edi + 4]
test edi, edi
jne 0x45a970
mov ecx, dword [esi + 0x874]
mov dword [ecx + 0x854], 1
mov edx, dword [esi + 0x7c4]
mov edi, dword [edx + 0x264]
test edi, edi
mov ebp, 4
je 0x45a9fa
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x45a9fa
cmp dword [edi + 0x7c0], ebp
jne 0x45a9fa
mov eax, dword [esi + 0x7c4]
mov ecx, dword [eax + 0xc4]
test ecx, ecx
je 0x45a9e0
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x64]
cmp eax, 0x2800
jbe 0x45a9f0
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x6c]
mov edx, dword [edi]
push ebx
mov ecx, edi
call dword [edx + 0x6c]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45a9b3
mov eax, dword [esi + 0x7c4]
mov ecx, dword [eax + 0xc4]
test ecx, ecx
jne 0x45aa1b
mov ecx, dword [eax + 0x7c0]
test ecx, ecx
je 0x45aa1b
push eax
push ebx
call fcn.0045da40
mov eax, 0xcccccccd
mul dword [esi + 0x844]
mov edi, edx
shr edi, 0xd
cmp edi, 2
ja 0x45aa37
mov edi, 2
jmp 0x45aa41
cmp edi, 8
jb 0x45aa41
mov edi, 8
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x45aa81
mov ebp, dword [eax + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x14]
add ecx, ebp
mov ebp, dword [eax + 0xc]
adc ebp, edx
mov dword [esp + 0x7c], ebp
jne 0x45aa66
cmp ecx, 0xc800000
jbe 0x45aa81
test edx, edx
ja 0x45aa73
cmp dword [eax + 0x10], 0x1400000
jbe 0x45aa81
mov dword [eax + 0x10], 0x1400000
mov dword [eax + 0x14], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x45aace
jmp 0x45aa90
mov ecx, dword [esi + 0x7dc]
call fcn.00475b60
cmp eax, edi
mov dword [esi + 0x7e0], eax
jge 0x45aace
mov eax, dword [0x6613bc]
mov ecx, dword [eax + 0x31c]
push ecx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x78]
push eax
push ebx
mov ecx, esi
call fcn.00458360
test eax, eax
je 0x45aace
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x45aa90
mov eax, dword [esi + 0x7e0]
test eax, eax
je 0x45aaea
cmp dword [esi + 0x7e4], 4
je 0x45aaea
mov edx, dword [esi]
push 2
mov ecx, esi
call dword [edx + 0x7c]
mov ecx, ebx
call fcn.004a47a0
push ebx
call fcn.005abee6
add esp, 4
jmp 0x45ad4e
mov edx, dword [0x6613bc]
cmp eax, dword [edx + 0x318]
jge 0x459f95
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
test eax, eax
mov dword [esp + 0x10], eax
je 0x459f95
mov eax, dword [esi + 0x874]
mov dword [eax + 0x854], 1
mov ecx, dword [esi + 0x7c4]
mov edi, dword [ecx + 0x264]
test edi, edi
mov ebx, 4
je 0x45ab98
mov edi, edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45aba0
cmp dword [edi + 0x7c0], ebx
jne 0x45ab98
cmp edi, esi
je 0x45ab82
mov edx, dword [esi + 0x7c4]
mov eax, dword [edx + 0xc4]
test eax, eax
je 0x45ab82
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x64]
cmp eax, 0x2800
jbe 0x45ab8e
mov edx, dword [edi]
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call dword [edx + 0x70]
mov edi, dword [edi + 0x7cc]
test edi, edi
jne 0x45ab50
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x45abc2
mov ecx, dword [esi + 0x7c4]
call fcn.0045dcf0
mov ecx, eax
call fcn.00476230
mov edx, dword [esi]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call dword [edx + 0x70]
mov eax, 0xcccccccd
mul dword [esi + 0x844]
mov ebp, edx
shr ebp, 0xd
cmp ebp, 2
ja 0x45abde
mov ebp, 2
jmp 0x45abe8
cmp ebp, 8
jb 0x45abe8
mov ebp, 8
mov eax, dword [esi + 0x7c4]
mov ecx, dword [eax + 0xe8]
mov ebx, dword [eax + 0xec]
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
je 0x45acdb
mov edx, dword [eax + 0xe0]
mov edi, dword [eax + 0xe4]
mov eax, edx
add eax, ecx
mov ecx, edi
adc ecx, ebx
push ecx
mov ecx, dword [0x661408]
push eax
push edi
push edx
push 0
push 0
call fcn.00475fd0
mov ecx, dword [esp + 0x10]
mov edi, eax
push edi
call fcn.00476280
mov ecx, dword [esp + 0x10]
mov ebx, eax
call fcn.00439450
test edi, edi
je 0x45ac55
mov ecx, dword [0x661408]
push edi
call fcn.00476080
test ebx, ebx
mov eax, ebx
mov dword [esp + 0x10], eax
je 0x45ac93
nop
mov ecx, dword [esi + 0x7c4]
mov edx, dword [ecx + 0xe0]
mov edi, dword [eax + 8]
add eax, 8
sub edi, edx
mov edx, dword [eax + 4]
mov dword [eax], edi
mov ecx, dword [ecx + 0xe4]
sbb edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x45ac60
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x45ace3
mov eax, dword [esi + 0x7c4]
mov dword [eax + 0x94], ebx
mov ecx, dword [esi + 0x7c4]
or eax, 0xffffffff
mov dword [ecx + 0xe0], eax
mov dword [ecx + 0xe4], eax
mov edx, dword [esi + 0x7c4]
mov dword [edx + 0xe8], eax
mov dword [edx + 0xec], eax
mov eax, dword [esi + 0x7c4]
mov byte [eax + 0x1b0], 1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45ad29
mov ecx, dword [esi + 0x7dc]
call fcn.00475b60
cmp eax, ebp
mov dword [esi + 0x7e0], eax
jge 0x45ad29
mov eax, dword [0x6613bc]
mov ecx, dword [eax + 0x31c]
mov edx, dword [esi]
push ecx
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x78]
push ecx
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [edx + 0x80]
test eax, eax
je 0x45ad29
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x45ace3
mov eax, dword [esi + 0x7e0]
test eax, eax
je 0x45ad45
cmp dword [esi + 0x7e4], 4
je 0x45ad45
mov edx, dword [esi]
push 2
mov ecx, esi
call dword [edx + 0x7c]
mov ecx, dword [esp + 0x10]
call fcn.00439450
mov ecx, dword [esi + 0x7c4]
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x459f95
mov eax, dword [esi + 0x874]
xor ebp, ebp
cmp eax, ebp
je 0x45ad92
cmp dword [eax + 0x800], 2
jb 0x45ad92
mov ecx, esi
call fcn.004591a0
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
add esp, 0x7c
ret
mov bl, byte [eax + 0x88c]
mov ecx, 0x671698
call fcn.00407480
mov edi, eax
push str.Transfer
mov dword [edi + 0x4c], ebp
mov dword [edi + 0x48], ebp
mov byte [edi + 0x34], 0xe3
mov byte [edi + 0x35], 0x56
mov byte [edi + 0x36], bl
call fcn.0057a0fd
add esp, 4
push eax
push str.Transfer
lea ecx, [edi + 0x30]
call fcn.004053c0
push 1
push edi
mov ecx, esi
call fcn.00458040
mov ecx, dword [esi + 0x20]
push ecx
push 0x3f8c
push 3
push 0x661308
call fcn.004e72e0
mov edx, dword [esi]
add esp, 0x10
push 2
mov ecx, esi
call dword [edx + 0x5c]
xor eax, eax
mov ecx, dword [esp + 0x80]
pop edi
pop ebp
pop ebx
pop esi
mov dword fs:[0], ecx
add esp, 0x7c
ret