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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x9c]
cmp eax, dword [ecx + 8]
jbe 0x4ff41c
sub esp, 0x11c
mov eax, dword [esp + 0x120]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x4fe4b9
mov byte [eax + 5], 0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx], al
add ecx, 0x58
mov dword [esp], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.00464f50
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0xd0]
mov ebx, edx
sar edx, 0x1f
shr edx, 0x1e
add edx, ebx
nop
movzx ebx, byte [eax + 4]
mov byte [esp + 0x23], bl
xor ebp, ebp
mov esi, 0x10
jmp 0x4fe4e4
add esp, 0x11c
ret
lea edi, [ebp + 1]
mov dword [esp + 0x24], edi
lea edi, [ebp + ebp*8]
mov ebp, edi
mov edi, dword [ebx + edi*4 + 0x10]
add edi, dword [ebx + ebp*4 + 0x1c]
lea esi, [esi + edi + 0x10]
mov edi, dword [esp + 0x24]
movzx ebx, byte [esp + 0x23]
mov ebp, edi
mov edi, dword [eax + 0x30]
mov ebx, dword [eax + 0x2c]
cmp ebp, edi
jge 0x4fe4f5
jb 0x4fe4c0
jmp 0x4ff412
sar edx, 2
cmp esi, edx
jle 0x4fe51c
movzx edx, byte [esp + 0x23]
test dl, dl
je 0x4fe50c
mov ebp, 1
jmp 0x4fe511
mov ebp, 2
cmp ebp, edi
jge 0x4fe521
add esp, 0x11c
ret
movzx edx, byte [esp + 0x23]
mov ebp, dword [eax + 0x1c]
lea esi, [eax + 0x2c]
mov dword [esp + 0xac], esi
test ebp, ebp
je 0x4fe5fc
test edi, edi
je 0x4fe5c5
nop
nop
cmp dword [ebp + 0x30], 1
jle 0x4ff38c
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.004fc620
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4fe57d
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004fc710
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jmp 0x4fe596
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004fc790
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
test ecx, ecx
mov dword [esp + 0x5c], eax
jne 0x4fe5ad
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
mov dword [esp + 0x38], edx
xor ebx, ebx
jmp 0x4fee82
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x30]
mov dword [esp + 0x38], ebx
xor ebp, ebp
jmp 0x4fe965
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004fcd30
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x28]
mov ebp, dword [ecx + 0x20]
xor esi, esi
jmp 0x4fe7bd
test dl, dl
jne 0x4fe6a6
cmp edi, 1
jne 0x4fe6a6
mov edx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
call fcn.004f38c0
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 4]
mov edx, dword [esp + 0x120]
mov byte [edx + 4], cl
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x30]
mov ebp, dword [eax + 0x34]
mov dword [edx + 0x30], ebx
mov dword [edx + 0x34], ebp
mov ebx, dword [0x64f2f0]
test ebx, ebx
jne 0x4fe657
mov dword [edx + 0x2c], ecx
jmp 0x4fe669
mov edi, dword [esp + 0xac]
mov ebx, eax
mov eax, ecx
call fcn.00460a90
mov eax, ebx
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov esi, ecx
mov ecx, dword [eax + 0x28]
mov dword [edx + 0x24], ebp
mov dword [edx + 0x28], ecx
mov ecx, dword [0x64f2f0]
test ecx, ecx
jne 0x4fe689
mov dword [edx + 0x20], ebx
jmp 0x4fe697
lea edi, [edx + 0x20]
mov ecx, eax
mov eax, ebx
call fcn.00460a90
mov eax, ecx
mov dword [esp + 0x74], eax
mov ecx, dword [edx + 0x30]
mov dword [esp + 0x38], ecx
xor ebx, ebx
jmp 0x4fe6cd
add esp, 0x11c
ret
mov ebp, dword [esp + 0xa8]
lea esi, [ebp + 0x24]
mov ebp, dword [esp + 0x34]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x120]
cmp ebx, ecx
jge 0x4fe765
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], esi
lea edi, [esp + 0xf8]
call fcn.00461156
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
call fcn.0040f280
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x4fe759
test byte [eax], al
mov ecx, dword [0x64f2f0]
test ecx, ecx
jne 0x4fe743
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x1c], ecx
jmp 0x4fe6ad
lea edi, [eax + 0x1c]
mov eax, dword [esp + 0x120]
call fcn.00460a90
mov ecx, eax
jmp 0x4fe6ad
mov ecx, dword [esp + 0x120]
jmp 0x4fe6ad
mov ecx, dword [0x64f2f0]
test ecx, ecx
jne 0x4fe778
mov dword [eax + 0x1c], 0
jmp 0x4fe786
lea edi, [eax + 0x1c]
mov ecx, eax
xor eax, eax
call fcn.00460a90
mov eax, ecx
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
call fcn.0040f700
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004ff810
jmp 0x4fe6a6
inc esi
cmp esi, edx
jge 0x4fe8e6
lea edi, [ebp + esi*4]
cmp dword [edi], eax
jne 0x4fe7bc
cmp esi, ebx
ja 0x4fe93c
lea edi, [esi + 1]
cmp edx, edi
jb 0x4fe933
mov dword [esp + 0x68], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea eax, [edx - 1]
sub edx, esi
sub ebx, esi
dec ebx
neg ebx
shl edi, 2
sar ebx, 0x1f
and edi, ebx
lea ebx, [ebp + edi]
lea esi, [edx - 1]
mov edi, dword [esp + 0x34]
cmp edi, eax
jae 0x4fe857
mov dword [esp + 0x34], esi
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x30], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0xa0], ebp
lea ecx, [0x52a820]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
sub ecx, edx
mov dword [esp + 0x38], ecx
sub edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl ecx, 2
sar edi, 0x1f
and edi, ecx
lea ecx, [ebp + edi]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00410fe0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x28], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4fe8d0
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x20], eax
jmp 0x4fe8df
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0xa0]
call fcn.00460a90
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
call fcn.0040f700
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004ff810
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call fcn.004fe430
add esp, 0x11c
ret
mov eax, edi
mov ecx, edx
call fcn.00460b70
mov ecx, esi
mov edx, ebx
call fcn.00460b50
mov eax, dword [esp + 0xa8]
lea edx, [eax + 0x24]
mov eax, dword [esp + 0x34]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x38]
cmp ebp, ebx
jge 0x4fe9dc
mov dword [esp + 0x34], ebp
mov dword [esp + 0xa8], edx
lea edi, [esp + 0xb0]
mov esi, edx
call fcn.00461156
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
lea eax, [0x5185e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0040f280
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x4fe945
mov dword [esp + 0x6c], eax
mov ebx, dword [eax + 0x1c]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov ebp, dword [ebx + 0x20]
xor esi, esi
jmp 0x4fec80
mov edx, dword [eax + 0x30]
mov ebx, dword [ecx + 0x30]
lea ebp, [ebx + edx]
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x2c]
cmp esi, ebp
jae 0x4fea3a
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x9c], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x523360]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x34], ebp
lea eax, [0x523360]
mov dword [esp], eax
lea eax, [edx + edx*8]
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl eax, 2
sar esi, 0x1f
and esi, eax
lea eax, [edi + esi]
mov dword [esp + 4], eax
sub ebp, edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00410fe0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x34], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4feaa7
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x2c], eax
jmp 0x4feab6
lea edi, [ecx + 0x2c]
mov eax, dword [esp + 0x9c]
call fcn.00460a90
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.004fcd30
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x28]
mov ebp, dword [ecx + 0x20]
xor esi, esi
jmp 0x4feaf5
inc esi
cmp esi, edx
jge 0x4fec1e
lea edi, [ebp + esi*4]
cmp dword [edi], eax
jne 0x4feaf4
cmp esi, ebx
ja 0x4fec74
lea edi, [esi + 1]
cmp edx, edi
jb 0x4fec6b
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x60], ecx
lea eax, [edx - 1]
sub edx, esi
sub ebx, esi
dec ebx
neg ebx
shl edi, 2
sar ebx, 0x1f
and edi, ebx
lea ebx, [ebp + edi]
lea esi, [edx - 1]
mov edi, dword [esp + 0x38]
cmp edi, eax
jae 0x4feb8f
mov dword [esp + 0x38], esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x30], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov edi, ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x94], ebp
lea ecx, [0x52a820]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
sub ecx, edx
mov dword [esp + 0x34], ecx
sub edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl ecx, 2
sar edi, 0x1f
and edi, ecx
lea ecx, [ebp + edi]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00410fe0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4fec08
mov eax, dword [esp + 0x94]
mov dword [ecx + 0x20], eax
jmp 0x4fec17
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0x94]
call fcn.00460a90
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
call fcn.0040f700
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call fcn.004ff810
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
call fcn.004fe430
add esp, 0x11c
ret
mov eax, edi
mov ecx, edx
call fcn.00460b70
mov ecx, esi
mov edx, ebx
call fcn.00460b50
inc esi
mov ebx, edi
cmp esi, ecx
jge 0x4fedac
mov edi, ebx
lea ebx, [ebp + esi*4]
cmp dword [ebx], eax
jne 0x4fec7d
cmp esi, edx
ja 0x4fee62
lea ebx, [esi + 1]
cmp ecx, ebx
jb 0x4fee5b
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x90], edi
lea eax, [ecx - 1]
sub ecx, esi
sub edx, esi
dec edx
neg edx
shl ebx, 2
sar edx, 0x1f
and ebx, edx
lea edx, [ebp + ebx]
lea ebx, [ecx - 1]
mov esi, dword [esp + 0x30]
cmp esi, eax
jae 0x4fed1f
mov dword [esp + 0x30], ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x28], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov esi, edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x88], ebp
lea edi, [0x52a820]
mov dword [esp], edi
mov edi, dword [esp + 0x2c]
sub edi, ecx
mov dword [esp + 0x2c], edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edi, 2
sar esi, 0x1f
and esi, edi
add esi, ebp
mov dword [esp + 4], esi
mov esi, dword [esp + 0x2c]
sub eax, esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00410fe0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x28], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4fed99
mov edx, dword [esp + 0x88]
mov dword [ecx + 0x20], edx
jmp 0x4feda8
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0x88]
call fcn.00460a90
mov eax, dword [esp + 0x6c]
mov ecx, dword [0x64f2f0]
test ecx, ecx
jne 0x4fedbf
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x1c], ecx
jmp 0x4fedd3
lea edi, [eax + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x5c]
call fcn.00460a90
mov eax, ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x28]
mov ebp, dword [ecx + 0x24]
inc ebp
cmp ebx, ebp
jae 0x4fee37
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0x28], edx
mov edx, dword [0x64f2f0]
test edx, edx
jne 0x4fee25
mov dword [ebx + 0x20], eax
jmp 0x4fee2d
lea edi, [ebx + 0x20]
call fcn.00460a90
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x6c]
mov ecx, ebx
mov dword [ecx + 0x24], ebp
mov ebx, dword [0x64f2f0]
lea edi, [edx + ebp*4 - 4]
test ebx, ebx
jne 0x4fee51
mov dword [edx + ebp*4 - 4], eax
jmp 0x4fe945
call fcn.00460a90
jmp 0x4fe945
mov eax, ebx
call fcn.00460b70
mov ecx, esi
call fcn.00460b50
mov ebp, dword [esp + 0xa8]
lea ecx, [ebp + 0x24]
mov ebp, dword [esp + 0x34]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
cmp ebx, edx
jge 0x4feef9
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], ecx
lea edi, [esp + 0xd4]
mov esi, ecx
call fcn.00461156
mov eax, dword [esp + 0x120]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
call fcn.0040f280
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x4fee69
mov dword [esp + 0x70], eax
mov ebx, dword [eax + 0x1c]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov ebp, dword [ebx + 0x20]
xor esi, esi
jmp 0x4ff1a1
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x30]
mov ebx, dword [eax + 0x30]
lea ebp, [ebx + edx]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x2c]
mov eax, dword [eax + 0x2c]
cmp esi, ebp
jae 0x4fef5e
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x9c], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x523360]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x9c], edi
lea ecx, [0x523360]
mov dword [esp], ecx
lea ecx, [edx + edx*8]
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ecx, 2
sar esi, 0x1f
and esi, ecx
lea ecx, [edi + esi]
mov dword [esp + 4], ecx
sub ebp, edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.00410fe0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x120]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x34], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4fefce
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x2c], eax
jmp 0x4fefe1
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x9c]
call fcn.00460a90
mov eax, dword [ecx + 0x1c]
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004fcd30
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x28]
mov dword [esp + 0x38], ebx
mov ebp, dword [ecx + 0x20]
mov esi, dword [esp + 0x5c]
xor edi, edi
jmp 0x4ff029
inc edi
mov ebx, dword [esp + 0x38]
cmp edi, edx
jge 0x4ff156
lea ebx, [ebp + edi*4]
cmp dword [ebx], esi
jne 0x4ff024
mov ebx, dword [esp + 0x38]
cmp edi, ebx
ja 0x4ff195
lea esi, [edi + 1]
cmp edx, esi
jb 0x4ff18c
mov dword [esp + 0x34], edx
mov dword [esp + 0x64], ecx
lea eax, [edx - 1]
sub edx, edi
sub ebx, edi
dec ebx
neg ebx
shl esi, 2
sar ebx, 0x1f
and esi, ebx
lea ebx, [ebp + esi]
lea esi, [edx - 1]
mov edi, dword [esp + 0x38]
cmp edi, eax
jae 0x4ff0c3
mov dword [esp + 0x38], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x30], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov edi, ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x80], ebp
lea ecx, [0x52a820]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
sub ecx, edx
mov dword [esp + 0x34], ecx
sub edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl ecx, 2
sar edi, 0x1f
and edi, ecx
lea ecx, [ebp + edi]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00410fe0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4ff13c
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x20], eax
jmp 0x4ff14b
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0x80]
call fcn.00460a90
mov eax, dword [esp + 0x120]
mov esi, dword [esp + 0x5c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
lea ebp, [0x5185e0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
call fcn.0040f700
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004ff810
jmp 0x4fec52
mov eax, esi
mov ecx, edx
call fcn.00460b70
mov ecx, edi
mov edx, ebx
call fcn.00460b50
inc esi
mov ebx, edi
cmp esi, ecx
jge 0x4ff2be
mov edi, ebx
lea ebx, [ebp + esi*4]
cmp dword [ebx], eax
jne 0x4ff19e
cmp esi, edx
ja 0x4ff385
lea ebx, [esi + 1]
cmp ecx, ebx
jb 0x4ff37e
mov dword [esp + 0x90], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 1]
sub ecx, esi
sub edx, esi
dec edx
neg edx
shl ebx, 2
sar edx, 0x1f
and ebx, edx
lea edx, [ebp + ebx]
lea ebx, [ecx - 1]
mov esi, dword [esp + 0x30]
cmp esi, eax
jae 0x4ff23a
mov dword [esp + 0x30], ebx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x28], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov esi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x78], ebp
lea edi, [0x52a820]
mov dword [esp], edi
mov edi, dword [esp + 0x2c]
sub edi, ecx
mov dword [esp + 0x2c], edi
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl edi, 2
sar esi, 0x1f
and esi, edi
add esi, ebp
mov dword [esp + 4], esi
mov esi, dword [esp + 0x2c]
sub eax, esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00410fe0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x28], eax
mov eax, dword [0x64f2f0]
test eax, eax
jne 0x4ff2ae
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x20], edx
jmp 0x4ff2ba
lea edi, [ecx + 0x20]
mov eax, dword [esp + 0x78]
call fcn.00460a90
mov eax, dword [esp + 0x70]
mov ecx, dword [0x64f2f0]
test ecx, ecx
jne 0x4ff2d4
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x1c], ecx
jmp 0x4ff2ee
lea edi, [eax + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x120]
call fcn.00460a90
mov eax, ecx
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x24]
inc edx
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x28]
cmp ebp, edx
jae 0x4ff35a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x52a820]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x120]
mov dword [ebx + 0x28], edx
mov edx, dword [0x64f2f0]
test edx, edx
jne 0x4ff343
mov dword [ebx + 0x20], eax
jmp 0x4ff34b
lea edi, [ebx + 0x20]
call fcn.00460a90
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x120]
mov dword [ecx + 0x24], edx
mov ebp, dword [0x64f2f0]
lea edi, [ebx + edx*4 - 4]
test ebp, ebp
jne 0x4ff374
mov dword [ebx + edx*4 - 4], eax
jmp 0x4fee69
call fcn.00460a90
jmp 0x4fee69
mov eax, ebx
call fcn.00460b70
mov ecx, esi
call fcn.00460b50
lea eax, [esp + 0x3c]
mov dword [esp], eax
lea eax, [0x53305c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
lea eax, [0x539af0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x24
call fcn.0044c480
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004aeba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409160
mov eax, dword [esp + 8]
lea ecx, [0x517d40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435600
mov eax, ebp
mov ecx, edi
call fcn.00460b10
nop
call fcn.0045f680
jmp fcn.004fe430