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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x494]
cmp eax, dword [ecx + 8]
jbe 0x4fa3b6
sub esp, 0x514
lea edi, [esp + 0x430]
xor eax, eax
call fcn.0045c5be
mov ecx, dword [esp + 0x518]
mov dword [esp + 0x468], ecx
mov edx, dword [esp + 0x51c]
mov dword [esp + 0x46c], edx
lea edi, [esp + 0x110]
call fcn.0045c5c9
lea edi, [esp + 0x4c0]
call fcn.0045c5bb
lea ecx, [esp + 0x4c0]
mov dword [esp + 0x11c], ecx
call fcn.004474f0
mov ecx, dword [esp]
mov dword [esp + 0x118], ecx
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.0045c5cb
lea ecx, [esp + 8]
mov dword [esp + 0xdc], ecx
mov edx, 1
lea ebx, [esp + 0x430]
mov ebp, 1
xor esi, esi
lea edi, [esp + 0x3c]
xor edx, edx
mov dword [esp + 0xa8], edx
mov edx, 1
jmp 0x4f9243
mov esi, eax
mov eax, dword [esp + 0xd0]
add eax, 0x48
mov ebp, ecx
mov ecx, eax
mov edi, edx
mov edx, ebx
mov ebx, esi
mov esi, edi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0xac], esi
lea edi, [esp + 0x3e8]
mov esi, ecx
call fcn.0045ca2c
lea edi, [esp + 0x2c8]
lea esi, [esp + 0x3e8]
call fcn.0045ca2c
lea ecx, [0x78b9c0]
mov dword [esp], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x300]
mov dword [esp + 8], ecx
call fcn.0040c410
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
je 0x4f9292
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x94]
inc ebx
mov ebp, dword [esp + 0x50]
cmp ebp, ebx
jg 0x4f9166
mov ebx, edx
mov ebp, eax
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xa8], eax
xor eax, eax
mov edx, ecx
mov ecx, dword [esp + 0xdc]
test edx, edx
jle 0x4f9cfb
mov dword [esp + 0x54], esi
mov dword [esp + 0xac], edi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0xd8], ebx
call fcn.0040c010
mov eax, dword [esp]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd8]
xor edx, edx
mov ebx, dword [esp + 0x54]
xor ebp, ebp
mov esi, dword [esp + 0xac]
jmp 0x4f917e
lea eax, [0x78b9c0]
mov dword [esp], eax
lea ecx, [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [esp + 0x300]
mov dword [esp + 8], edx
call fcn.0040c9e0
mov eax, dword [esp + 0xc]
mov byte [eax], 1
xor eax, eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xac]
jmp 0x4f92de
mov ebp, dword [esp + 0x64]
inc ebp
mov ebx, edx
mov edx, eax
mov eax, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0xac], ebx
mov ebp, dword [esp + 0x300]
mov esi, dword [esp + 0x304]
mov ebp, dword [ebp + 0x64]
mov dword [esp], esi
call ebp
mov eax, dword [esp + 0x64]
cmp dword [esp + 4], eax
jle 0x4f9ce4
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x304]
mov ecx, dword [ecx + 0x2c]
mov dword [esp], edx
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0x12c]
mov esi, dword [esp + 0xdc]
call fcn.0045ca5e
mov eax, dword [esp + 0x138]
movzx ecx, byte [esp + 0x15c]
test eax, eax
test cl, cl
jne 0x4f9c46
test eax, eax
je 0x4f9379
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
jmp 0x4f92d3
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x7e0e37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
call fcn.0047d070
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, 1
jne 0x4f93ce
cmp byte [eax], 0x2d
jne 0x4f93ce
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
jmp 0x4f92d3
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004fe710
mov eax, dword [esp + 8]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004f8160
movzx eax, byte [esp + 8]
test al, al
je 0x4f9c3d
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0x2f8]
lea ebx, [0x786fa0]
mov dword [esp], ebx
inc edx
mov dword [esp + 0x60], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004430a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f8]
mov ebx, dword [esp + 0x60]
cmp ebx, edx
jle 0x4f9c36
mov dword [esp + 0xcc], eax
cmp eax, ecx
je 0x4f948d
mov dword [esp], eax
mov dword [esp + 4], ecx
shl edx, 2
mov dword [esp + 8], edx
call fcn.0045ccd0
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jbe 0x4fa3b0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xcc]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xbc], ebx
mov ebp, dword [eax + 0x60]
mov dword [esp], ebx
call ebp
mov eax, dword [esp + 8]
test eax, eax
je 0x4f9bf8
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x74], eax
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
lea ebp, [0x7e2cfb]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
call fcn.004fe7d0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4f9bc3
xor eax, eax
mov byte [esp + 0x3d], al
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4f9b84
mov edx, 1
test dl, dl
je 0x4f9992
test ecx, ecx
jne 0x4f9984
mov edx, dword [esp + 0x12c]
mov ebx, dword [esp + 0x130]
mov dword [esp + 0xb4], edx
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
lea eax, [0x7e570a]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 9
call fcn.004fe7d0
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x3f], al
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.0045c5be
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x5c]
test ecx, ecx
setne cl
mov byte [esp + 0x218], cl
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x22c], ecx
movzx ecx, byte [esp + 0x3f]
mov byte [esp + 0x230], cl
movzx ecx, byte [esp + 0x3d]
mov byte [esp + 0x231], cl
mov dword [esp], 0
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00446880
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], ecx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004fa5a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x204], eax
nop
mov dword [esp + 0x100], 0
mov dword [esp + 0x108], 0
mov byte [esp + 0x10c], 0
lea eax, [esp + 0xfc]
mov dword [esp], eax
lea ecx, [0x7e03ec]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
call fcn.004da480
lea eax, [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1fc]
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004f40d0
lea eax, [esp + 0xfc]
mov dword [esp], eax
lea ecx, [0x7e04cf]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004da480
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
cmp ebx, ecx
ja 0x4fa3a9
mov dword [esp], 0
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add eax, edx
mov dword [esp + 4], eax
sub ecx, ebx
mov dword [esp + 8], ecx
call fcn.00446730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
mov dword [esp], 0
lea eax, [0x7e03ec]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
lea ecx, [0x7e04cf]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 2
call fcn.00446610
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xf4]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
cmp ecx, ebx
ja 0x4f9947
lea ecx, [eax + 1]
mov dword [esp + 0xf4], ecx
mov ecx, dword [0xa8c6b0]
lea eax, [eax + eax*8]
lea edi, [edx + eax*8]
test ecx, ecx
jne 0x4f9925
lea esi, [esp + 0x1f0]
call fcn.0045ca2c
lea eax, [0x78ba00]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
lea edx, [esp + 0x300]
mov dword [esp + 8], edx
call fcn.0040c410
mov eax, dword [esp + 0xc]
cmp dword [eax], 1
jle 0x4f98b2
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf0]
lea eax, [ecx - 1]
cmp eax, ecx
jae 0x4fa3a4
lea eax, [ecx + ecx*8]
lea esi, [edx + eax*8 - 0x48]
lea edi, [esp + 0x3a0]
call fcn.0045ca2c
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf8]
lea ebx, [eax + 1]
cmp ebx, edx
ja 0x4f98e8
lea edx, [eax + 1]
mov dword [esp + 0xf4], edx
mov edx, dword [0xa8c6b0]
lea eax, [eax + eax*8]
lea edi, [ecx + eax*8]
test edx, edx
jne 0x4f98c9
lea esi, [esp + 0x3a0]
call fcn.0045ca2c
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
jmp 0x4f92d3
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x3a0]
mov dword [esp + 8], eax
call fcn.00410dc0
jmp 0x4f98b2
lea ebp, [0x7ca5a0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xf0], ecx
jmp 0x4f988c
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1f0]
mov dword [esp + 8], eax
call fcn.00410dc0
jmp 0x4f9817
lea ebp, [0x7ca5a0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004431f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf0], edx
jmp 0x4f97ed
mov ebx, ecx
mov edx, dword [esp + 0xb4]
jmp 0x4f955c
mov eax, dword [esp + 0x74]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xec], ecx
lea edx, [0x78ba00]
mov dword [esp], edx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
lea ebp, [esp + 0xe8]
mov dword [esp + 8], ebp
call fcn.0040c9e0
mov eax, dword [esp + 0xc]
inc dword [eax]
mov eax, dword [esp + 0x74]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xec], ecx
lea edx, [0x78ba00]
mov dword [esp], edx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
lea ebp, [esp + 0xe8]
mov dword [esp + 8], ebp
call fcn.0040c410
mov eax, dword [esp + 0xc]
cmp dword [eax], 1
je 0x4f9a38
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xac]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4f92d3
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x60]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0x358]
mov edx, eax
xor eax, eax
call fcn.0045c5be
mov dword [esp + 0x358], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x384], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x388], ecx
mov dword [esp + 0x38c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x90]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x54]
cmp ebx, edx
jb 0x4f9b42
mov ebp, dword [esp + 0xac]
mov eax, dword [0xa8c6b0]
lea ecx, [ecx + ecx*8]
lea edi, [ebp + ecx*8]
test eax, eax
jne 0x4f9af9
lea esi, [esp + 0x358]
call fcn.0045ca2c
mov eax, edx
mov ecx, ebx
mov edx, ebp
jmp 0x4f9a2d
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ebx
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x358]
mov dword [esp + 8], eax
call fcn.00410dc0
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc8]
jmp 0x4f9aee
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov ebp, dword [esp + 0xac]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004431f0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0x90]
jmp 0x4f9ad1
movzx edx, byte [esp + 0x15c]
test dl, dl
jne 0x4f9b9a
mov edx, 1
jmp 0x4f953e
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x19
setne dl
movzx eax, byte [esp + 0x3d]
mov ecx, dword [esp + 0x5c]
jmp 0x4f953e
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [eax - 1]
cmp ecx, 0xd
ja 0x4f9bec
mov eax, 1
jmp 0x4f9529
cmp eax, 0x18
je 0x4f9be2
xor eax, eax
jmp 0x4f9529
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x16
jne 0x4f94db
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x4f94e6
mov edx, ebx
jmp 0x4f946f
xor eax, eax
xor ecx, ecx
jmp 0x4f9424
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x16
je 0x4f9cbe
mov eax, dword [esp + 0x8c]
test eax, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x9c]
jne 0x4f9cac
xor eax, eax
test al, al
je 0x4f9379
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
jmp 0x4f92d3
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 0x19
setne al
jmp 0x4f9c8d
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x8c]
test edx, edx
jmp 0x4f9c89
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
jmp 0x4f9204
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
lea ecx, [0x4fea90]
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0xf0]
mov dword [esp + 0xe4], ecx
lea ecx, [0x7726e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
call fcn.004915c0
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf8]
xor edx, edx
xor ebx, ebx
jmp 0x4f9ea7
mov eax, dword [esp + 0x78]
lea esi, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xa0]
mov ecx, edx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x78], esi
lea ebp, [esi + edx]
mov dword [esp + 0x90], ebp
mov ebx, dword [esp + 0xf4]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x8c]
cmp ebp, ebx
jge 0x4f9e49
jae 0x4fa392
lea ebx, [ebp + ebp*8]
mov ebp, dword [esp + 0xd8]
lea ebx, [ebp + ebx*8]
lea edi, [esp + 0x1a8]
mov esi, ebx
call fcn.0045ca2c
mov ecx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x58]
cmp ebp, ecx
jne 0x4f9e49
mov dword [esp], ebx
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402950
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f9d89
mov ebx, dword [esp + 0x78]
cmp ebx, 1
jne 0x4f9fa5
mov ecx, dword [esp + 0x98]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4f9f65
mov eax, dword [esp + 0xa0]
mov edx, ebx
mov ebx, dword [0xa8c6b0]
lea ecx, [ecx + ecx*8]
lea edi, [eax + ecx*8]
test ebx, ebx
jne 0x4f9f19
lea esi, [esp + 0x280]
call fcn.0045ca2c
mov ecx, dword [esp + 0x90]
mov ebx, edx
mov ecx, ebp
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xf4]
mov esi, ebx
mov ebx, dword [esp + 0xf0]
cmp edx, ebp
jge 0x4fa13e
jae 0x4fa39b
mov dword [esp + 0xa0], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x98], esi
lea ebp, [edx + edx*8]
mov dword [esp + 0x94], ebp
lea ebx, [ebx + ebp*8]
lea edi, [esp + 0x280]
mov esi, ebx
call fcn.0045ca2c
mov ecx, dword [esp + 0x280]
mov dword [esp + 0xb8], ecx
mov ebx, dword [esp + 0x284]
mov dword [esp + 0x58], ebx
mov esi, 1
jmp 0x4f9db7
mov dword [esp + 0xc4], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x80], ebp
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x280]
mov dword [esp + 8], eax
call fcn.00410dc0
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x80]
jmp 0x4f9e95
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov edx, dword [esp + 0xa0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x98]
jmp 0x4f9e73
mov ebp, dword [esp + 0xf0]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x90]
cmp ecx, edx
ja 0x4fa38d
mov eax, dword [esp + 0x70]
cmp eax, ecx
ja 0x4fa388
lea edi, [esp + 0x160]
mov esi, eax
xor eax, eax
call fcn.0045c5be
mov ecx, dword [esp + 0x94]
shl ecx, 3
sub edx, esi
neg edx
sar edx, 0x1f
and ecx, edx
lea esi, [ebp + ecx]
cmp ebx, 1
jle 0x4fa13a
mov edx, ebx
mov ebx, dword [ebp + ecx + 0x30]
cmp dword [esi + 0x78], ebx
jne 0x4fa11c
lea ebx, [ebp + ecx + 0x28]
movzx ebp, byte [ebp + ecx + 0x70]
xchg ebp, eax
cmp byte [ebx], al
xchg ebp, eax
jne 0x4fa11c
xor ecx, ecx
mov byte [esp + 0x3e], cl
lea edi, [esp + 0x310]
lea esi, [esp + 0x160]
call fcn.0045ca2c
movzx ecx, byte [esp + 0x3e]
test cl, cl
je 0x4fa105
mov ecx, dword [esp + 0x98]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fa0c3
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x44], ebx
mov ebx, dword [0xa8c6b0]
lea ecx, [ecx + ecx*8]
lea edi, [edx + ecx*8]
test ebx, ebx
jne 0x4fa08c
lea esi, [esp + 0x310]
call fcn.0045ca2c
mov ecx, dword [esp + 0x44]
mov eax, edx
mov edx, ecx
jmp 0x4f9e95
mov dword [esp + 0xc0], edx
mov dword [esp + 0x7c], ebp
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x310]
mov dword [esp + 8], eax
call fcn.00410dc0
xor eax, eax
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
jmp 0x4fa07f
lea eax, [0x7ca5a0]
mov dword [esp], eax
mov edx, dword [esp + 0xa0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004431f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0x98]
jmp 0x4fa05f
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0xa0]
jmp 0x4fa083
test edx, edx
jbe 0x4fa37f
lea edi, [esp + 0x160]
call fcn.0045ca2c
mov ecx, 1
jmp 0x4fa022
mov edx, ebx
jmp 0x4fa11c
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x8700e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00492110
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x518]
mov edx, dword [esp + 0x51c]
xor ebx, ebx
jmp 0x4fa1bb
mov ebp, dword [esp + 0x6c]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x518]
mov edi, dword [esp + 0x51c]
mov eax, ebp
mov ecx, esi
mov edx, edi
cmp eax, ebx
jle 0x4fa26b
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
cmp ebx, esi
jae 0x4fa376
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xd8], ebp
lea eax, [ebx + ebx*8]
mov dword [esp + 0x94], eax
lea esi, [ebp + eax*8]
lea edi, [ebp + eax*8 + 0x2c]
mov edi, dword [edi]
mov ebx, dword [esi + 0x30]
mov esi, dword [esi + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004f82a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004f4b90
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xd8]
lea edi, [ecx + eax*8 + 0x44]
mov eax, dword [0xa8c6b0]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4fa25f
mov dword [edi], ecx
jmp 0x4fa199
mov eax, ecx
call fcn.0045c330
jmp 0x4fa199
mov eax, dword [esp + 0xf4]
lea ecx, [0x78c080]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0040c090
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf0]
test ecx, ecx
jle 0x4fa337
mov dword [esp + 0x98], ecx
xor ebx, ebx
jmp 0x4fa2cb
mov ebp, dword [esp + 0xd8]
lea edx, [ebp + 0x48]
mov ebx, eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xd8], edx
mov dword [esp + 0x68], ebx
lea edi, [esp + 0x478]
mov esi, edx
call fcn.0045ca2c
lea edi, [esp + 0x238]
lea esi, [esp + 0x478]
call fcn.0045ca2c
lea ecx, [0x78c080]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x238]
mov eax, dword [esp + 0x23c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.00410310
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x98]
cmp eax, ecx
jl 0x4fa2b8
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x520], eax
mov dword [esp + 0x524], ecx
mov dword [esp + 0x528], edx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x52c], eax
add esp, 0x514
ret
mov eax, ebx
mov ecx, esi
call fcn.0045c3b0
xor eax, eax
mov ecx, edx
call fcn.0045c3b0
call fcn.0045c410
call fcn.0045c3f0
mov eax, ebp
mov ecx, ebx
call fcn.0045c3b0
mov eax, edx
mov ecx, ebp
call fcn.0045c3b0
call fcn.0045c3b0
mov eax, ebx
call fcn.0045c410
call fcn.0045c3b0
nop
call fcn.0045ade0
jmp fcn.004f9080