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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x482e9a
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1019c
call fcn.0046e040
mov eax, dword [0x49f390]
xor eax, esp
mov dword [esp + 0x10198], eax
push ebx
push esi
push edi
mov eax, dword [0x49f390]
xor eax, esp
push eax
lea eax, [esp + 0x101b0]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x10], edi
call fcn.0042ed17
mov esi, eax
call fcn.0042eec3
push 0x48e330
call fcn.0041a4ae
xor ebx, ebx
cmp dword [0x4aaff0], ebx
pop ecx
jne 0x427ec5
mov esi, 0x4aafe8
call fcn.0042e6ca
cmp dword [0x4aaff0], ebx
je 0x427eff
mov ax, word [0x4aa7b0]
cmp ax, bx
jne 0x427ef4
push ebx
call fcn.0045f52f
pop ecx
push eax
call fcn.0046227d
pop ecx
call fcn.0046228a
cdq
mov ecx, 0x5ecb
idiv ecx
add edx, 0x2134
push edx
jmp 0x427ef5
push eax
mov ecx, 0x4aafe8
call fcn.0042e777
cmp dword [0x4ab000], ebx
jne 0x427f19
mov esi, 0x4aaff8
call fcn.0042e6ca
cmp dword [0x4ab000], ebx
je 0x427f28
push 0xa5e
mov ecx, 0x4aaff8
call fcn.0042e777
mov ax, word [0x4aaff4]
push edi
mov word [0x4aafc4], ax
call fcn.0042420d
mov eax, edi
call fcn.004532d5
test eax, eax
je 0x427f59
mov eax, edi
call fcn.004532d5
push eax
push 0x48e340
call fcn.0041a4ae
pop ecx
pop ecx
movzx eax, byte [0x4aa6e5]
push eax
push 0x48e35c
mov dword [0x4abc60], eax
call fcn.0041a4ae
pop ecx
pop ecx
call fcn.0042c066
mov ecx, eax
call fcn.0042c0c8
mov esi, dword [0x485208]
lea eax, [edi + 0xbc]
mov ebx, 0x7530
mov dword [edi + 0x98], ebx
mov dword [edi + 0xa4], 0x2bf20
mov dword [edi + 0x8c], 0x1e
mov dword [edi + 0xc0], 0x6ddd00
mov dword [esp + 0x4c], eax
call esi
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
mov dword [edi + 0xcc], 0x493e0
mov dword [edi + 0x68], 0x36ee80
mov dword [edi + 0x74], 0xea60
mov dword [edi + 0x80], 0x1388
mov dword [edi + 0x5c], ebx
call esi
xor ecx, ecx
mov dword [edi + 0x58], eax
lea eax, [edi + 0x4c]
mov dword [edi + 0x50], 0xbb8
mov dword [esp + 0x60], eax
mov dword [eax], ecx
mov dword [edi + 0x44], 0x3e8
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x101b8], ecx
cmp dword [0x4aafe0], 0
je 0x428075
mov esi, 0x4aafd8
push 0
mov ecx, esi
call fcn.00438ed1
cmp eax, 1
jne 0x428075
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, esi
call fcn.00438efd
test eax, eax
jle 0x428075
cmp eax, 0x14
jb 0x428068
lea edx, [esp + 0x194]
mov ebx, eax
lea ecx, [esp + 0x1a4]
call fcn.0042e877
jmp 0x428075
push eax
push 0x48e720
call fcn.0041a4ae
pop ecx
pop ecx
cmp dword [0x4ab000], 0
je 0x4280d6
push 0
mov ecx, 0x4aaff8
call fcn.00438ed1
cmp eax, 1
jne 0x4280d6
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, 0x4aaff8
call fcn.00438efd
test eax, eax
jle 0x4280d6
cmp eax, 0x14
jb 0x4280c9
lea edx, [esp + 0x194]
mov ebx, eax
lea ecx, [esp + 0x1a4]
call fcn.0042e877
jmp 0x4280d6
push eax
push 0x48e720
call fcn.0041a4ae
pop ecx
pop ecx
push dword [edi + 0x8c]
mov esi, 0x4aafe8
mov ecx, esi
call fcn.00438ed1
push 0
push dword [edi + 0x24]
mov ebx, eax
call fcn.00436a60
test al, al
pop ecx
pop ecx
jne 0x428d4e
cmp ebx, 1
jne 0x428154
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, esi
call fcn.00438efd
mov ebx, eax
call dword [0x485208]
test ebx, ebx
mov dword [0x4aa7b8], eax
jle 0x428160
cmp ebx, 0x14
jb 0x428145
lea edx, [esp + 0x194]
lea ecx, [esp + 0x1a4]
call fcn.0042e877
jmp 0x428160
push ebx
push 0x48e720
call fcn.0041a4ae
pop ecx
pop ecx
jmp 0x428160
test ebx, ebx
je 0x428160
push 0xa
call dword [0x48511c]
push 1
lea esi, [edi + 0x88]
call fcn.0041c2be
test eax, eax
je 0x428015
xor ebx, ebx
cmp dword [edi + 0xac], ebx
jne 0x4283c6
cmp dword [edi + 0xb0], 1
jne 0x4283c6
cmp dword [esp + 0x24], ebx
je 0x4281a7
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
jne 0x4283b1
lea esi, [edi + 0x30]
mov dword [edi + 0x8c], 0x3e8
mov dword [esp + 0x1c], esi
call fcn.00429a5d
test eax, eax
je 0x428015
push dword [0x4ab034]
call dword [0x485538]
mov ebx, eax
test ebx, ebx
je 0x428264
lea esi, [esp + 0x20]
call fcn.00429cac
mov eax, dword [ebx + 0xc]
xor esi, esi
cmp dword [eax], esi
je 0x428213
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea edi, [esp + 0x24]
call fcn.00416bf0
mov eax, dword [ebx + 0xc]
inc esi
lea eax, [eax + esi*4]
cmp dword [eax], 0
jne 0x4281ed
mov edi, dword [esp + 0x10]
push 0
call fcn.0045f52f
pop ecx
push eax
call fcn.0046227d
xor ebx, ebx
cmp dword [esp + 0x28], ebx
pop ecx
je 0x428235
mov ebx, dword [esp + 0x28]
sub ebx, dword [esp + 0x24]
sar ebx, 2
call fcn.0046228a
xor edx, edx
div ebx
cmp dword [esp + 0x24], 0
mov esi, edx
je 0x428256
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x42825b
call fcn.0045fdd7
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + esi*4]
jmp 0x428267
or ebx, 0xffffffff
push dword [0x4ab034]
lea ecx, [esp + 0x17c]
call fcn.004045ba
test bl, bl
mov byte [esp + 0x101b8], 1
mov dword [esp + 0x14], ebx
je 0x428294
lea eax, [esp + 0x14]
call fcn.004383b0
jmp 0x428296
xor eax, eax
xor esi, esi
cmp eax, esi
jne 0x428318
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp ecx, 3
mov eax, 0x1388
jle 0x4282b4
imul ecx, ecx, 0x1388
mov eax, ecx
cmp dword [esp + 0x190], 0x10
mov ecx, dword [esp + 0x17c]
jae 0x4282cc
lea ecx, [esp + 0x17c]
xor edx, edx
mov ebx, 0x3e8
div ebx
push eax
push ecx
push 0x48e370
call fcn.0041a4ae
mov eax, dword [edi + 0x24]
add esp, 0xc
cmp eax, esi
je 0x4282fc
push esi
push eax
call fcn.00436a60
test al, al
pop ecx
pop ecx
jne 0x428d6d
push esi
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a96
jmp 0x428015
cmp dword [esp + 0x190], 0x10
mov eax, dword [esp + 0x17c]
jae 0x428330
lea eax, [esp + 0x17c]
mov esi, dword [0x48553c]
push ebx
mov dword [esp + 0x18], eax
call esi
push eax
push dword [esp + 0x18]
push 0x48e3a4
call fcn.0041a4ae
add esp, 0xc
push ebx
mov dword [edi + 0x8c], 0x1e
call esi
push eax
lea esi, [esp + 0x78]
call fcn.0041a768
mov byte [esp + 0x101b8], 2
mov eax, dword [eax]
mov esi, 0x4abad4
call fcn.00404a76
lea eax, [esp + 0x78]
cmp dword [esp + 0x74], eax
je 0x42838e
push dword [esp + 0x74]
call fcn.0045f742
pop ecx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
push ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov byte [esp + 0x101bc], cl
push 1
lea ecx, [esp + 0x180]
call fcn.00401a96
xor ebx, ebx
call fcn.004273eb
mov esi, dword [esp + 0x10]
xor edi, edi
push 2
inc edi
call fcn.00424e7e
mov edi, esi
cmp dword [edi + 0xac], 1
jl 0x42853d
cmp dword [0x4aafb4], ebx
jne 0x4284f5
lea esi, [edi + 0x30]
call fcn.00429a5d
cmp eax, 1
jne 0x4284f5
push dword [0x4ab030]
call dword [0x485538]
cmp eax, ebx
je 0x428419
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
lea eax, [esp + 0x50]
push eax
call fcn.0045ed80
add esp, 0xc
jmp 0x42841e
or dword [esp + 0x48], 0xffffffff
push dword [0x4ab030]
lea ecx, [esp + 0x17c]
call fcn.004045ba
mov byte [esp + 0x101b8], 3
mov eax, dword [esp + 0x48]
test al, al
mov dword [esp + 0x1c], eax
je 0x42844f
lea eax, [esp + 0x1c]
call fcn.004383b0
jmp 0x428451
xor eax, eax
cmp eax, ebx
jne 0x428499
mov ecx, dword [esi]
cmp ecx, 3
mov eax, 0x1388
jle 0x428469
imul ecx, ecx, 0x1388
mov eax, ecx
cmp dword [esp + 0x190], 0x10
mov ecx, dword [esp + 0x17c]
jae 0x428481
lea ecx, [esp + 0x17c]
xor edx, edx
mov esi, 0x3e8
div esi
push eax
push ecx
push 0x48e370
call fcn.0041a4ae
add esp, 0xc
cmp dword [esp + 0x190], 0x10
mov esi, dword [esp + 0x17c]
jae 0x4284b1
lea esi, [esp + 0x17c]
push dword [esp + 0x48]
call dword [0x48553c]
push eax
push esi
push 0x48e3a4
call fcn.0041a4ae
add esp, 0xc
push 4
lea eax, [esp + 0x4c]
push eax
push 0x4aafb4
call fcn.0045ed80
add esp, 0xc
push ebx
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a96
cmp dword [edi + 0xac], 1
jne 0x42853d
cmp dword [edi + 0xb0], 2
jne 0x42862c
mov eax, dword [0x4aafa8]
or eax, dword [0x4aafac]
mov esi, dword [esp + 0x10]
jne 0x428531
push 0xffffffffffffffff
push 6
pop edi
call fcn.00424e7e
push esi
call fcn.0042536e
jmp 0x428660
push 3
push 2
pop edi
call fcn.00424e7e
mov edi, esi
cmp dword [edi + 0xb0], 2
jne 0x42862c
push 6
pop esi
cmp dword [edi + 0xac], esi
jne 0x428635
call fcn.0042450e
test al, al
je 0x428631
cmp dword [esp + 0x24], ebx
je 0x428631
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
je 0x428631
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00424e7e
push ebx
call fcn.0045f52f
pop ecx
push eax
call fcn.0046227d
cmp dword [esp + 0x28], ebx
pop ecx
jne 0x4285a6
xor esi, esi
jmp 0x4285b1
mov esi, dword [esp + 0x28]
sub esi, dword [esp + 0x24]
sar esi, 2
call fcn.0046228a
xor edx, edx
div esi
cmp dword [esp + 0x24], ebx
mov esi, edx
je 0x4285d1
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x4285d6
call fcn.0045fdd7
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*4]
push eax
call dword [0x48553c]
push eax
lea esi, [esp + 0x78]
call fcn.0041a768
mov byte [esp + 0x101b8], 4
mov eax, dword [eax]
mov esi, 0x4abad4
call fcn.00404a76
lea eax, [esp + 0x78]
mov byte [esp + 0x101b8], 0
cmp dword [esp + 0x74], eax
je 0x42861e
push dword [esp + 0x74]
call fcn.0045f742
pop ecx
push dword [esp + 0x10]
call fcn.0042536e
jmp 0x428d45
push 6
pop esi
jmp 0x428635
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xac]
cmp eax, 2
jne 0x428667
cmp dword [edi + 0xb0], 3
jne 0x42875c
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00424e7e
push esi
call fcn.0042546c
mov edi, esi
jmp 0x428015
cmp dword [edi + 0xb0], 3
jne 0x42875c
cmp eax, esi
jne 0x42875c
call fcn.0042450e
test al, al
je 0x428758
cmp dword [esp + 0x24], ebx
je 0x428758
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
je 0x428758
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00424e7e
push ebx
call fcn.0045f52f
pop ecx
push eax
call fcn.0046227d
cmp dword [esp + 0x28], ebx
pop ecx
jne 0x4286c9
xor esi, esi
jmp 0x4286d4
mov esi, dword [esp + 0x28]
sub esi, dword [esp + 0x24]
sar esi, 2
call fcn.0046228a
xor edx, edx
div esi
cmp dword [esp + 0x24], ebx
mov esi, edx
je 0x4286f4
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x4286f9
call fcn.0045fdd7
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*4]
push eax
call dword [0x48553c]
push eax
lea esi, [esp + 0x78]
call fcn.0041a768
mov byte [esp + 0x101b8], 5
mov eax, dword [eax]
mov esi, 0x4abad4
call fcn.00404a76
lea eax, [esp + 0x78]
mov byte [esp + 0x101b8], 0
cmp dword [esp + 0x74], eax
je 0x428741
push dword [esp + 0x74]
call fcn.0045f742
pop ecx
push dword [esp + 0x10]
mov word [0x4abaf0], 0x1f40
call fcn.0042546c
jmp 0x428d45
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xac]
cmp eax, 3
jne 0x428772
cmp dword [edi + 0xb0], 4
jne 0x4287a5
jmp 0x428788
cmp dword [edi + 0xb0], 4
jne 0x4287a5
cmp eax, esi
jne 0x4287a5
call fcn.0042450e
test al, al
je 0x4287a1
mov ebx, dword [esp + 0x10]
mov edi, esi
push 0xffffffffffffffff
mov esi, ebx
call fcn.00424e7e
call fcn.0042553d
jmp 0x428a20
mov edi, dword [esp + 0x10]
cmp dword [edi + 0xac], 5
jne 0x428015
mov esi, dword [esp + 0x60]
push 1
call fcn.0041c2be
test eax, eax
je 0x4287d7
push 0xa5e
push 0xffffffffffffffff
push 0x14
call fcn.004257ec
call dword [0x485208]
mov dword [esi], eax
test byte [0x4aafb2], 0xf
jne 0x4287f2
lea esi, [edi + 0x38]
call fcn.00429aa0
test eax, eax
je 0x4287f2
push edi
call fcn.00425641
add edi, 0xd4
push edi
mov dword [esp + 0x20], edi
call dword [0x485310]
mov edi, 0x4abc70
call fcn.00424105
mov edi, 0x4ade08
call fcn.00424105
mov edi, 0x4ac328
call fcn.00424105
mov edi, 0x4ae4c0
call fcn.00424105
mov eax, dword [0x4ade14]
mov ebx, dword [esp + 0x10]
and dword [0x4ab900], 0
and dword [0x4ab908], 0
mov dword [0x4ab8fc], eax
mov eax, dword [0x4ae4cc]
lea esi, [ebx + 0x40]
push 1
mov dword [0x4ab904], eax
call fcn.0041c2be
test eax, eax
je 0x4289db
call dword [0x485208]
mov dword [esi], eax
mov eax, dword [0x4abbbc]
push 0
mov edi, 0xc8
push edi
mov esi, 0x4abca0
mov dword [esp + 0x1c], eax
call fcn.004204ce
push 0
push edi
mov edi, 0x4ade38
mov esi, edi
call fcn.004204ce
mov eax, dword [0x4abcb8]
mov ecx, dword [0x4abcbc]
mov edx, eax
or edx, ecx
je 0x4288cd
mov edx, dword [0x4abcb0]
sub edx, eax
mov eax, dword [0x4abcb4]
sbb eax, ecx
mov dword [esp + 0x40], eax
jne 0x4288c3
cmp edx, 0x3a98
jb 0x4288cd
mov eax, 0x4abca0
call fcn.004205de
mov eax, edi
xor esi, esi
call fcn.004205de
cmp edx, esi
jb 0x428924
ja 0x4288e2
cmp eax, dword [esp + 0x14]
jb 0x428924
mov eax, dword [0x4abc9c]
cmp eax, 0xffffffff
jne 0x4288fc
push 0
push 0x14
mov esi, 0x4abca0
call fcn.004204ce
jmp 0x42891f
cmp eax, dword [esp + 0x14]
jb 0x428924
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
jge 0x428914
fadd qword [0x490f90]
fmul qword [0x491000]
call fcn.0047d726
mov dword [0x4abc9c], eax
mov eax, edi
call fcn.004205de
xor ecx, ecx
cmp edx, ecx
ja 0x4289db
jb 0x428941
cmp eax, dword [esp + 0x14]
ja 0x4289db
mov eax, dword [0x4abc9c]
cmp eax, 0xffffffff
je 0x4289db
mov esi, eax
mov eax, 0x4abca0
call fcn.004205de
and dword [esp + 0x54], 0
mov dword [esp + 0x58], edx
and dword [esp + 0x58], 0x80000000
and edx, 0x7fffffff
test esi, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
fild qword [esp + 0x6c]
mov dword [esp + 0x3c], esi
fild qword [esp + 0x54]
fchs
faddp st(1)
fild dword [esp + 0x3c]
jge 0x428998
fadd qword [0x490f90]
fmul qword [0x491040]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4289db
mov eax, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [0x4abc9c]
shl ecx, 2
cmp eax, ecx
ja 0x4289db
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
jge 0x4289cb
fadd qword [0x490f90]
fmul qword [0x491038]
call fcn.0047d726
mov dword [0x4abc9c], eax
push dword [esp + 0x1c]
call dword [0x485330]
push ebx
call fcn.00429194
xor edi, edi
inc edi
lea esi, [ebx + 0xa0]
push edi
call fcn.0041c2be
test eax, eax
je 0x428a36
lea eax, [ebx + 0x168]
cmp dword [eax], 0xf
mov dword [esp + 0x14], eax
jle 0x428a27
push 3
push 2
pop edi
mov esi, ebx
call fcn.00424e7e
mov eax, dword [esp + 0x14]
and dword [eax], 0
mov edi, ebx
jmp 0x428015
mov ecx, ebx
call fcn.00425b7b
call dword [0x485208]
mov dword [esi], eax
lea esi, [ebx + 0x94]
push edi
call fcn.0041c2be
test eax, eax
je 0x428a53
call fcn.00425d02
call dword [0x485208]
mov dword [esi], eax
cmp byte [0x4aa707], 0
mov esi, dword [esp + 0x4c]
push edi
je 0x428a9c
mov dword [ebx + 0xc0], 0xea60
call fcn.0041c2be
test eax, eax
je 0x428ace
call fcn.0042c066
mov ecx, eax
call fcn.0042c15c
push 0
call fcn.0042c066
mov ebx, eax
call fcn.0042cfcf
call dword [0x485208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
jmp 0x428ace
mov dword [ebx + 0xc0], 0x6ddd00
call fcn.0041c2be
test eax, eax
je 0x428ace
call fcn.0042c066
mov ecx, eax
call fcn.0042c39c
mov esi, dword [0x485208]
call esi
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
call esi
mov dword [ebx + 0x64], eax
lea esi, [ebx + 0xc8]
push 1
call fcn.0041c2be
test eax, eax
je 0x428af9
push 1
call fcn.0042c066
mov ebx, eax
call fcn.0042cfcf
call dword [0x485208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
lea esi, [ebx + 0x64]
push 1
call fcn.0041c2be
test eax, eax
je 0x428b4e
call fcn.0042c066
mov edi, eax
lea ebx, [edi + 0xc]
push ebx
call dword [0x485310]
mov eax, dword [edi]
jmp 0x428b29
test eax, eax
je 0x428b27
and dword [eax + 0x135], 0
mov eax, dword [eax]
cmp eax, edi
jne 0x428b1c
push ebx
call dword [0x485330]
push 0
call fcn.0042c066
mov ebx, eax
call fcn.0042cfcf
call dword [0x485208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
lea esi, [ebx + 0x70]
push 1
call fcn.0041c2be
test eax, eax
je 0x428b6b
mov ecx, ebx
call fcn.00428f0c
call dword [0x485208]
mov dword [esi], eax
lea edi, [ebx + 0x7c]
push 1
mov esi, edi
mov byte [esp + 0x1f], 0
call fcn.0041c2be
test eax, eax
je 0x428cab
push ecx
mov eax, esp
mov dword [esp + 0x40], esp
push 0x48e3b8
push eax
call fcn.004019b2
push ecx
mov byte [esp + 0x101c0], 6
mov ecx, esp
mov dword [esp + 0x1c], esp
call fcn.0043806b
lea esi, [esp + 0x38]
mov byte [esp + 0x101c0], 0
call fcn.00437224
mov byte [esp + 0x101c0], 7
mov eax, dword [esp + 0x38]
add esp, 4
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.00401c88
add eax, 0x10
mov dword [esi], eax
call fcn.004370c0
test al, al
pop ecx
je 0x428c05
mov eax, dword [esp + 0x30]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.00401c88
add eax, 0x10
mov dword [esi], eax
call fcn.004370e0
pop ecx
push ecx
mov eax, esp
mov dword [esp + 0x40], esp
push 0x48e3c4
push eax
call fcn.004019b2
push ecx
mov byte [esp + 0x101c0], 8
mov ecx, esp
mov dword [esp + 0x1c], esp
call fcn.0043806b
lea esi, [esp + 0x58]
mov byte [esp + 0x101c0], 7
call fcn.00437224
mov byte [esp + 0x101c0], 9
mov eax, dword [esp + 0x58]
add esp, 4
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.00401c88
add eax, 0x10
mov dword [esi], eax
call fcn.004370c0
test al, al
pop ecx
je 0x428c8b
mov eax, dword [esp + 0x50]
push ecx
add eax, 0xfffffff0
mov byte [esp + 0x1f], 1
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.00401c88
add eax, 0x10
mov dword [esi], eax
call fcn.004370e0
pop ecx
call dword [0x485208]
mov dword [edi], eax
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
call fcn.00401160
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.00401160
mov edi, dword [esp + 0x1c]
push edi
mov dword [esp + 0x68], edi
mov byte [esp + 0x6c], 1
call dword [0x485310]
mov byte [esp + 0x101b8], 0xa
cmp dword [ebx + 0xf4], 0
je 0x428d31
mov eax, dword [ebx + 0xf0]
mov eax, dword [eax]
add ebx, 0xec
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x34], 0
mov esi, dword [ebx + 4]
je 0x428cf6
cmp dword [esp + 0x34], ebx
je 0x428cfb
call fcn.0045fdd7
cmp dword [esp + 0x38], esi
je 0x428d31
lea esi, [esp + 0x34]
call fcn.00429c3f
mov esi, dword [eax + 4]
test esi, esi
je 0x428d26
mov ecx, esi
call fcn.0041d37c
cmp byte [esp + 0x1b], 0
je 0x428d26
mov ecx, esi
call fcn.0041f72f
lea esi, [esp + 0x34]
call fcn.00429c5f
jmp 0x428ce6
push edi
mov byte [esp + 0x101bc], 0
call dword [0x485330]
mov byte [esp + 0x68], 0
mov edi, dword [esp + 0x10]
jmp 0x428015
mov eax, dword [edi + 0xac]
cmp eax, 5
je 0x428d5e
cmp eax, 6
jne 0x428d84
call fcn.00425c60
push 0x64
call dword [0x48511c]
jmp 0x428d84
push esi
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a96
lea esi, [esp + 0x20]
call fcn.00429cac
lea ebx, [edi + 0xd4]
push ebx
call dword [0x485310]
push edi
call fcn.00429194
mov eax, dword [edi + 0xf0]
mov eax, dword [eax]
add edi, 0xec
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edi
cmp dword [esp + 0x34], 0
mov esi, dword [edi + 4]
je 0x428dc6
cmp dword [esp + 0x34], edi
je 0x428dcb
call fcn.0045fdd7
cmp dword [esp + 0x38], esi
je 0x428de1
lea esi, [esp + 0x34]
call fcn.00429c3f
call fcn.00429c5f
jmp 0x428db6
call fcn.004298bf
push ebx
mov ebx, dword [0x485330]
call ebx
call fcn.0042ed17
push eax
call fcn.0042ef2f
call fcn.0042ed17
mov eax, dword [0x4aa7c0]
test eax, eax
je 0x428e1e
push eax
mov esi, eax
call fcn.0042ec52
push esi
call fcn.0045ed66
and dword [0x4aa7c0], 0
pop ecx
call fcn.0042c066
mov edi, dword [eax + 8]
test edi, edi
je 0x428e6a
xor ecx, ecx
mov eax, edi
mov edx, 0x125
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045db74
pop ecx
mov dword [esp + 0x30], eax
call fcn.0042c066
cmp dword [esp + 0x30], 0
je 0x428e60
push dword [esp + 0x30]
mov ecx, edi
mov esi, eax
call fcn.0042d2bb
push dword [esp + 0x30]
call fcn.0045f46a
pop ecx
call fcn.0042c066
mov esi, eax
lea edi, [esi + 0xc]
push edi
call dword [0x485310]
cmp dword [esi], esi
je 0x428e91
jmp 0x428e88
push eax
call fcn.0045ed66
pop ecx
call fcn.004240c0
test eax, eax
jne 0x428e81
push edi
call ebx
mov eax, dword [0x4ad75c]
mov ecx, dword [0x4ade14]
push eax
push 0x48e3d0
mov dword [0x4abab4], eax
mov dword [0x4ababc], ecx
call fcn.0041a4ae
pop ecx
pop ecx
call fcn.0042c066
mov eax, dword [0x4aa7bc]
test eax, eax
je 0x428edf
mov esi, eax
add eax, 0xc
push eax
call dword [0x4852fc]
push esi
call fcn.0045ed66
and dword [0x4aa7bc], 0
pop ecx
lea esi, [esp + 0x20]
call fcn.00450621
mov ecx, dword [esp + 0x101b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10198]
xor ecx, esp
call fcn.0045ed6b
mov esp, ebp
pop ebp
ret