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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x482ae3
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1019c
call int.0046dcc0
mov eax, dword [0x49e390]
xor eax, esp
mov dword [esp + 0x10198], eax
push ebx
push esi
push edi
mov eax, dword [0x49e390]
xor eax, esp
push eax
lea eax, [esp + 0x101b0]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x10], edi
call fcn.0042f40e
mov esi, eax
call fcn.0042f5ba
push 0x48d278
call fcn.0041a1bb
xor ebx, ebx
cmp dword [0x4a9fe8], ebx
pop ecx
jne 0x4282a0
mov esi, 0x4a9fe0
call fcn.0042edc1
cmp dword [0x4a9fe8], ebx
je 0x4282da
mov ax, word [0x4a97b0]
cmp ax, bx
jne 0x4282cf
push ebx
call fcn.0045f1af
pop ecx
push eax
call fcn.00461efd
pop ecx
call fcn.00461f0a
cdq
mov ecx, 0x5ecb
idiv ecx
add edx, 0x2134
push edx
jmp 0x4282d0
push eax
mov ecx, 0x4a9fe0
call fcn.0042ee6e
cmp dword [0x4a9ff8], ebx
jne 0x4282f4
mov esi, 0x4a9ff0
call fcn.0042edc1
cmp dword [0x4a9ff8], ebx
je 0x428303
push 0xa5e
mov ecx, 0x4a9ff0
call fcn.0042ee6e
mov ax, word [0x4a9fec]
push edi
mov word [0x4a9fbc], ax
call fcn.004245e8
mov eax, edi
call fcn.004168cd
test eax, eax
je 0x428334
mov eax, edi
call fcn.004168cd
push eax
push 0x48d288
call fcn.0041a1bb
pop ecx
pop ecx
movzx eax, byte [0x4a96e5]
push eax
push 0x48d2a4
mov dword [0x4aac58], eax
call fcn.0041a1bb
pop ecx
pop ecx
call fcn.0042c75d
mov ecx, eax
call fcn.0042c7bf
mov esi, dword [0x484208]
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 [0x4a9fd8], 0
je 0x428450
mov esi, 0x4a9fd0
push 0
mov ecx, esi
call fcn.0043927d
cmp eax, 1
jne 0x428450
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, esi
call fcn.004392a9
test eax, eax
jle 0x428450
cmp eax, 0x14
jb 0x428443
lea edx, [esp + 0x194]
mov ebx, eax
lea ecx, [esp + 0x1a4]
call fcn.0042ef6e
jmp 0x428450
push eax
push 0x48d668
call fcn.0041a1bb
pop ecx
pop ecx
cmp dword [0x4a9ff8], 0
je 0x4284b1
push 0
mov ecx, 0x4a9ff0
call fcn.0043927d
cmp eax, 1
jne 0x4284b1
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, 0x4a9ff0
call fcn.004392a9
test eax, eax
jle 0x4284b1
cmp eax, 0x14
jb 0x4284a4
lea edx, [esp + 0x194]
mov ebx, eax
lea ecx, [esp + 0x1a4]
call fcn.0042ef6e
jmp 0x4284b1
push eax
push 0x48d668
call fcn.0041a1bb
pop ecx
pop ecx
push dword [edi + 0x8c]
mov esi, 0x4a9fe0
mov ecx, esi
call fcn.0043927d
push 0
push dword [edi + 0x24]
mov ebx, eax
call fcn.00436e0c
test al, al
pop ecx
pop ecx
jne 0x429129
cmp ebx, 1
jne 0x42852f
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, esi
call fcn.004392a9
mov ebx, eax
call dword [0x484208]
test ebx, ebx
mov dword [0x4a97b8], eax
jle 0x42853b
cmp ebx, 0x14
jb 0x428520
lea edx, [esp + 0x194]
lea ecx, [esp + 0x1a4]
call fcn.0042ef6e
jmp 0x42853b
push ebx
push 0x48d668
call fcn.0041a1bb
pop ecx
pop ecx
jmp 0x42853b
test ebx, ebx
je 0x42853b
push 0xa
call dword [0x48411c]
push 1
lea esi, [edi + 0x88]
call fcn.0041bfcb
test eax, eax
je 0x4283f0
xor ebx, ebx
cmp dword [edi + 0xac], ebx
jne 0x4287a1
cmp dword [edi + 0xb0], 1
jne 0x4287a1
cmp dword [esp + 0x24], ebx
je 0x428582
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
jne 0x42878c
lea esi, [edi + 0x30]
mov dword [edi + 0x8c], 0x3e8
mov dword [esp + 0x1c], esi
call fcn.00429e38
test eax, eax
je 0x4283f0
push dword [0x4aa02c]
call dword [0x484538]
mov ebx, eax
test ebx, ebx
je 0x42863f
lea esi, [esp + 0x20]
call fcn.0042a0d1
mov eax, dword [ebx + 0xc]
xor esi, esi
cmp dword [eax], esi
je 0x4285ee
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.004168e0
mov eax, dword [ebx + 0xc]
inc esi
lea eax, [eax + esi*4]
cmp dword [eax], 0
jne 0x4285c8
mov edi, dword [esp + 0x10]
push 0
call fcn.0045f1af
pop ecx
push eax
call fcn.00461efd
xor ebx, ebx
cmp dword [esp + 0x28], ebx
pop ecx
je 0x428610
mov ebx, dword [esp + 0x28]
sub ebx, dword [esp + 0x24]
sar ebx, 2
call fcn.00461f0a
xor edx, edx
div ebx
cmp dword [esp + 0x24], 0
mov esi, edx
je 0x428631
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x428636
call fcn.0045fa57
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + esi*4]
jmp 0x428642
or ebx, 0xffffffff
push dword [0x4aa02c]
lea ecx, [esp + 0x17c]
call fcn.00404576
test bl, bl
mov byte [esp + 0x101b8], 1
mov dword [esp + 0x14], ebx
je 0x42866f
lea eax, [esp + 0x14]
call fcn.0043875c
jmp 0x428671
xor eax, eax
xor esi, esi
cmp eax, esi
jne 0x4286f3
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp ecx, 3
mov eax, 0x1388
jle 0x42868f
imul ecx, ecx, 0x1388
mov eax, ecx
cmp dword [esp + 0x190], 0x10
mov ecx, dword [esp + 0x17c]
jae 0x4286a7
lea ecx, [esp + 0x17c]
xor edx, edx
mov ebx, 0x3e8
div ebx
push eax
push ecx
push 0x48d2b8
call fcn.0041a1bb
mov eax, dword [edi + 0x24]
add esp, 0xc
cmp eax, esi
je 0x4286d7
push esi
push eax
call fcn.00436e0c
test al, al
pop ecx
pop ecx
jne 0x429148
push esi
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a57
jmp 0x4283f0
cmp dword [esp + 0x190], 0x10
mov eax, dword [esp + 0x17c]
jae 0x42870b
lea eax, [esp + 0x17c]
mov esi, dword [0x48453c]
push ebx
mov dword [esp + 0x18], eax
call esi
push eax
push dword [esp + 0x18]
push 0x48d2ec
call fcn.0041a1bb
add esp, 0xc
push ebx
mov dword [edi + 0x8c], 0x1e
call esi
push eax
lea esi, [esp + 0x78]
call fcn.0041a475
mov byte [esp + 0x101b8], 2
mov eax, dword [eax]
mov esi, 0x4aaacc
call fcn.00404a56
lea eax, [esp + 0x78]
cmp dword [esp + 0x74], eax
je 0x428769
push dword [esp + 0x74]
call fcn.0045f3c2
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.00401a57
xor ebx, ebx
call fcn.004277c6
mov esi, dword [esp + 0x10]
xor edi, edi
push 2
inc edi
call fcn.00425259
mov edi, esi
cmp dword [edi + 0xac], 1
jl 0x428918
cmp dword [0x4a9fac], ebx
jne 0x4288d0
lea esi, [edi + 0x30]
call fcn.00429e38
cmp eax, 1
jne 0x4288d0
push dword [0x4aa028]
call dword [0x484538]
cmp eax, ebx
je 0x4287f4
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
lea eax, [esp + 0x50]
push eax
call fcn.0045ea00
add esp, 0xc
jmp 0x4287f9
or dword [esp + 0x48], 0xffffffff
push dword [0x4aa028]
lea ecx, [esp + 0x17c]
call fcn.00404576
mov byte [esp + 0x101b8], 3
mov eax, dword [esp + 0x48]
test al, al
mov dword [esp + 0x1c], eax
je 0x42882a
lea eax, [esp + 0x1c]
call fcn.0043875c
jmp 0x42882c
xor eax, eax
cmp eax, ebx
jne 0x428874
mov ecx, dword [esi]
cmp ecx, 3
mov eax, 0x1388
jle 0x428844
imul ecx, ecx, 0x1388
mov eax, ecx
cmp dword [esp + 0x190], 0x10
mov ecx, dword [esp + 0x17c]
jae 0x42885c
lea ecx, [esp + 0x17c]
xor edx, edx
mov esi, 0x3e8
div esi
push eax
push ecx
push 0x48d2b8
call fcn.0041a1bb
add esp, 0xc
cmp dword [esp + 0x190], 0x10
mov esi, dword [esp + 0x17c]
jae 0x42888c
lea esi, [esp + 0x17c]
push dword [esp + 0x48]
call dword [0x48453c]
push eax
push esi
push 0x48d2ec
call fcn.0041a1bb
add esp, 0xc
push 4
lea eax, [esp + 0x4c]
push eax
push 0x4a9fac
call fcn.0045ea00
add esp, 0xc
push ebx
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a57
cmp dword [edi + 0xac], 1
jne 0x428918
cmp dword [edi + 0xb0], 2
jne 0x428a07
mov eax, dword [0x4a9fa0]
or eax, dword [0x4a9fa4]
mov esi, dword [esp + 0x10]
jne 0x42890c
push 0xffffffffffffffff
push 6
pop edi
call fcn.00425259
push esi
call fcn.00425749
jmp 0x428a3b
push 3
push 2
pop edi
call fcn.00425259
mov edi, esi
cmp dword [edi + 0xb0], 2
jne 0x428a07
push 6
pop esi
cmp dword [edi + 0xac], esi
jne 0x428a10
call fcn.004248e9
test al, al
je 0x428a0c
cmp dword [esp + 0x24], ebx
je 0x428a0c
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
je 0x428a0c
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00425259
push ebx
call fcn.0045f1af
pop ecx
push eax
call fcn.00461efd
cmp dword [esp + 0x28], ebx
pop ecx
jne 0x428981
xor esi, esi
jmp 0x42898c
mov esi, dword [esp + 0x28]
sub esi, dword [esp + 0x24]
sar esi, 2
call fcn.00461f0a
xor edx, edx
div esi
cmp dword [esp + 0x24], ebx
mov esi, edx
je 0x4289ac
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x4289b1
call fcn.0045fa57
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*4]
push eax
call dword [0x48453c]
push eax
lea esi, [esp + 0x78]
call fcn.0041a475
mov byte [esp + 0x101b8], 4
mov eax, dword [eax]
mov esi, 0x4aaacc
call fcn.00404a56
lea eax, [esp + 0x78]
mov byte [esp + 0x101b8], 0
cmp dword [esp + 0x74], eax
je 0x4289f9
push dword [esp + 0x74]
call fcn.0045f3c2
pop ecx
push dword [esp + 0x10]
call fcn.00425749
jmp 0x429120
push 6
pop esi
jmp 0x428a10
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xac]
cmp eax, 2
jne 0x428a42
cmp dword [edi + 0xb0], 3
jne 0x428b37
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00425259
push esi
call fcn.00425847
mov edi, esi
jmp 0x4283f0
cmp dword [edi + 0xb0], 3
jne 0x428b37
cmp eax, esi
jne 0x428b37
call fcn.004248e9
test al, al
je 0x428b33
cmp dword [esp + 0x24], ebx
je 0x428b33
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
je 0x428b33
mov edi, esi
mov esi, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.00425259
push ebx
call fcn.0045f1af
pop ecx
push eax
call fcn.00461efd
cmp dword [esp + 0x28], ebx
pop ecx
jne 0x428aa4
xor esi, esi
jmp 0x428aaf
mov esi, dword [esp + 0x28]
sub esi, dword [esp + 0x24]
sar esi, 2
call fcn.00461f0a
xor edx, edx
div esi
cmp dword [esp + 0x24], ebx
mov esi, edx
je 0x428acf
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
sar eax, 2
cmp esi, eax
jb 0x428ad4
call fcn.0045fa57
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*4]
push eax
call dword [0x48453c]
push eax
lea esi, [esp + 0x78]
call fcn.0041a475
mov byte [esp + 0x101b8], 5
mov eax, dword [eax]
mov esi, 0x4aaacc
call fcn.00404a56
lea eax, [esp + 0x78]
mov byte [esp + 0x101b8], 0
cmp dword [esp + 0x74], eax
je 0x428b1c
push dword [esp + 0x74]
call fcn.0045f3c2
pop ecx
push dword [esp + 0x10]
mov word [0x4aaae8], 0x1f40
call fcn.00425847
jmp 0x429120
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xac]
cmp eax, 3
jne 0x428b4d
cmp dword [edi + 0xb0], 4
jne 0x428b80
jmp 0x428b63
cmp dword [edi + 0xb0], 4
jne 0x428b80
cmp eax, esi
jne 0x428b80
call fcn.004248e9
test al, al
je 0x428b7c
mov ebx, dword [esp + 0x10]
mov edi, esi
push 0xffffffffffffffff
mov esi, ebx
call fcn.00425259
call fcn.00425918
jmp 0x428dfb
mov edi, dword [esp + 0x10]
cmp dword [edi + 0xac], 5
jne 0x4283f0
mov esi, dword [esp + 0x60]
push 1
call fcn.0041bfcb
test eax, eax
je 0x428bb2
push 0xa5e
push 0xffffffffffffffff
push 0x14
call fcn.00425bc7
call dword [0x484208]
mov dword [esi], eax
test byte [0x4a9faa], 0xf
jne 0x428bcd
lea esi, [edi + 0x38]
call fcn.00429e7b
test eax, eax
je 0x428bcd
push edi
call fcn.00425a1c
add edi, 0xd4
push edi
mov dword [esp + 0x20], edi
call dword [0x484310]
mov edi, 0x4aac68
call fcn.004244e0
mov edi, 0x4ace00
call fcn.004244e0
mov edi, 0x4ab320
call fcn.004244e0
mov edi, 0x4ad4b8
call fcn.004244e0
mov eax, dword [0x4ace0c]
mov ebx, dword [esp + 0x10]
and dword [0x4aa8f8], 0
and dword [0x4aa900], 0
mov dword [0x4aa8f4], eax
mov eax, dword [0x4ad4c4]
lea esi, [ebx + 0x40]
push 1
mov dword [0x4aa8fc], eax
call fcn.0041bfcb
test eax, eax
je 0x428db6
call dword [0x484208]
mov dword [esi], eax
mov eax, dword [0x4aabb4]
push 0
mov edi, 0xc8
push edi
mov esi, 0x4aac98
mov dword [esp + 0x1c], eax
call fcn.004201e3
push 0
push edi
mov edi, 0x4ace30
mov esi, edi
call fcn.004201e3
mov eax, dword [0x4aacb0]
mov ecx, dword [0x4aacb4]
mov edx, eax
or edx, ecx
je 0x428ca8
mov edx, dword [0x4aaca8]
sub edx, eax
mov eax, dword [0x4aacac]
sbb eax, ecx
mov dword [esp + 0x40], eax
jne 0x428c9e
cmp edx, 0x3a98
jb 0x428ca8
mov eax, 0x4aac98
call fcn.004202f3
mov eax, edi
xor esi, esi
call fcn.004202f3
cmp edx, esi
jb 0x428cff
ja 0x428cbd
cmp eax, dword [esp + 0x14]
jb 0x428cff
mov eax, dword [0x4aac94]
cmp eax, 0xffffffff
jne 0x428cd7
push 0
push 0x14
mov esi, 0x4aac98
call fcn.004201e3
jmp 0x428cfa
cmp eax, dword [esp + 0x14]
jb 0x428cff
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
jge 0x428cef
fadd qword [0x48fed8]
fmul qword [0x48ff48]
call fcn.0047d3a6
mov dword [0x4aac94], eax
mov eax, edi
call fcn.004202f3
xor ecx, ecx
cmp edx, ecx
ja 0x428db6
jb 0x428d1c
cmp eax, dword [esp + 0x14]
ja 0x428db6
mov eax, dword [0x4aac94]
cmp eax, 0xffffffff
je 0x428db6
mov esi, eax
mov eax, 0x4aac98
call fcn.004202f3
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 0x428d73
fadd qword [0x48fed8]
fmul qword [0x48ff88]
fcompp
fnstsw ax
test ah, 0x41
jp 0x428db6
mov eax, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [0x4aac94]
shl ecx, 2
cmp eax, ecx
ja 0x428db6
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
jge 0x428da6
fadd qword [0x48fed8]
fmul qword [0x48ff80]
call fcn.0047d3a6
mov dword [0x4aac94], eax
push dword [esp + 0x1c]
call dword [0x484330]
push ebx
call fcn.0042956f
xor edi, edi
inc edi
lea esi, [ebx + 0xa0]
push edi
call fcn.0041bfcb
test eax, eax
je 0x428e11
lea eax, [ebx + 0x168]
cmp dword [eax], 0xf
mov dword [esp + 0x14], eax
jle 0x428e02
push 3
push 2
pop edi
mov esi, ebx
call fcn.00425259
mov eax, dword [esp + 0x14]
and dword [eax], 0
mov edi, ebx
jmp 0x4283f0
mov ecx, ebx
call fcn.00425f56
call dword [0x484208]
mov dword [esi], eax
lea esi, [ebx + 0x94]
push edi
call fcn.0041bfcb
test eax, eax
je 0x428e2e
call fcn.004260dd
call dword [0x484208]
mov dword [esi], eax
cmp byte [0x4a9707], 0
mov esi, dword [esp + 0x4c]
push edi
je 0x428e77
mov dword [ebx + 0xc0], 0xea60
call fcn.0041bfcb
test eax, eax
je 0x428ea9
call fcn.0042c75d
mov ecx, eax
call fcn.0042c853
push 0
call fcn.0042c75d
mov ebx, eax
call fcn.0042d6c6
call dword [0x484208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
jmp 0x428ea9
mov dword [ebx + 0xc0], 0x6ddd00
call fcn.0041bfcb
test eax, eax
je 0x428ea9
call fcn.0042c75d
mov ecx, eax
call fcn.0042ca93
mov esi, dword [0x484208]
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.0041bfcb
test eax, eax
je 0x428ed4
push 1
call fcn.0042c75d
mov ebx, eax
call fcn.0042d6c6
call dword [0x484208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
lea esi, [ebx + 0x64]
push 1
call fcn.0041bfcb
test eax, eax
je 0x428f29
call fcn.0042c75d
mov edi, eax
lea ebx, [edi + 0xc]
push ebx
call dword [0x484310]
mov eax, dword [edi]
jmp 0x428f04
test eax, eax
je 0x428f02
and dword [eax + 0x135], 0
mov eax, dword [eax]
cmp eax, edi
jne 0x428ef7
push ebx
call dword [0x484330]
push 0
call fcn.0042c75d
mov ebx, eax
call fcn.0042d6c6
call dword [0x484208]
mov ebx, dword [esp + 0x10]
mov dword [esi], eax
lea esi, [ebx + 0x70]
push 1
call fcn.0041bfcb
test eax, eax
je 0x428f46
mov ecx, ebx
call fcn.004292e7
call dword [0x484208]
mov dword [esi], eax
lea edi, [ebx + 0x7c]
push 1
mov esi, edi
mov byte [esp + 0x1f], 0
call fcn.0041bfcb
test eax, eax
je 0x429086
push ecx
mov eax, esp
mov dword [esp + 0x40], esp
push 0x48d300
push eax
call fcn.00401969
push ecx
mov byte [esp + 0x101c0], 6
mov ecx, esp
mov dword [esp + 0x1c], esp
call fcn.00438417
lea esi, [esp + 0x38]
mov byte [esp + 0x101c0], 0
call fcn.004375d0
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.00401c2e
add eax, 0x10
mov dword [esi], eax
call fcn.0043746c
test al, al
pop ecx
je 0x428fe0
mov eax, dword [esp + 0x30]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
call fcn.00401c2e
add eax, 0x10
mov dword [esi], eax
call fcn.0043748c
pop ecx
push ecx
mov eax, esp
mov dword [esp + 0x40], esp
push 0x48d30c
push eax
call fcn.00401969
push ecx
mov byte [esp + 0x101c0], 8
mov ecx, esp
mov dword [esp + 0x1c], esp
call fcn.00438417
lea esi, [esp + 0x58]
mov byte [esp + 0x101c0], 7
call fcn.004375d0
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.00401c2e
add eax, 0x10
mov dword [esi], eax
call fcn.0043746c
test al, al
pop ecx
je 0x429066
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.00401c2e
add eax, 0x10
mov dword [esi], eax
call fcn.0043748c
pop ecx
call dword [0x484208]
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 [0x484310]
mov byte [esp + 0x101b8], 0xa
cmp dword [ebx + 0xf4], 0
je 0x42910c
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 0x4290d1
cmp dword [esp + 0x34], ebx
je 0x4290d6
call fcn.0045fa57
cmp dword [esp + 0x38], esi
je 0x42910c
lea esi, [esp + 0x34]
call fcn.0042a064
mov esi, dword [eax + 4]
test esi, esi
je 0x429101
mov ecx, esi
call fcn.0041d091
cmp byte [esp + 0x1b], 0
je 0x429101
mov ecx, esi
call fcn.0041f444
lea esi, [esp + 0x34]
call fcn.0042a084
jmp 0x4290c1
push edi
mov byte [esp + 0x101bc], 0
call dword [0x484330]
mov byte [esp + 0x68], 0
mov edi, dword [esp + 0x10]
jmp 0x4283f0
mov eax, dword [edi + 0xac]
cmp eax, 5
je 0x429139
cmp eax, 6
jne 0x42915f
call fcn.0042603b
push 0x64
call dword [0x48411c]
jmp 0x42915f
push esi
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x101c0], 0
call fcn.00401a57
lea esi, [esp + 0x20]
call fcn.0042a0d1
lea ebx, [edi + 0xd4]
push ebx
call dword [0x484310]
push edi
call fcn.0042956f
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 0x4291a1
cmp dword [esp + 0x34], edi
je 0x4291a6
call fcn.0045fa57
cmp dword [esp + 0x38], esi
je 0x4291bc
lea esi, [esp + 0x34]
call fcn.0042a064
call fcn.0042a084
jmp 0x429191
call fcn.00429c9a
push ebx
mov ebx, dword [0x484330]
call ebx
call fcn.0042f40e
push eax
call fcn.0042f626
call fcn.0042f40e
mov eax, dword [0x4a97c0]
test eax, eax
je 0x4291f9
push eax
mov esi, eax
call fcn.0042f349
push esi
call fcn.0045e9e6
and dword [0x4a97c0], 0
pop ecx
call fcn.0042c75d
mov edi, dword [eax + 8]
test edi, edi
je 0x429245
xor ecx, ecx
mov eax, edi
mov edx, 0x125
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045d7f4
pop ecx
mov dword [esp + 0x30], eax
call fcn.0042c75d
cmp dword [esp + 0x30], 0
je 0x42923b
push dword [esp + 0x30]
mov ecx, edi
mov esi, eax
call fcn.0042d9b2
push dword [esp + 0x30]
call fcn.0045f0ea
pop ecx
call fcn.0042c75d
mov esi, eax
lea edi, [esi + 0xc]
push edi
call dword [0x484310]
cmp dword [esi], esi
je 0x42926c
jmp 0x429263
push eax
call fcn.0045e9e6
pop ecx
call fcn.0042449b
test eax, eax
jne 0x42925c
push edi
call ebx
mov eax, dword [0x4ac754]
mov ecx, dword [0x4ace0c]
push eax
push 0x48d318
mov dword [0x4aaaac], eax
mov dword [0x4aaab4], ecx
call fcn.0041a1bb
pop ecx
pop ecx
call fcn.0042c75d
mov eax, dword [0x4a97bc]
test eax, eax
je 0x4292ba
mov esi, eax
add eax, 0xc
push eax
call dword [0x4842fc]
push esi
call fcn.0045e9e6
and dword [0x4a97bc], 0
pop ecx
lea esi, [esp + 0x20]
call fcn.004505f0
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 int.0045e9eb
mov esp, ebp
pop ebp
ret