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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4fc5a3
sub esp, 0x94
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x4fc11d
cmp ecx, 1
jne 0x4fbef5
mov ebx, dword [esp + 0xa4]
mov eax, dword [ebx]
mov ebx, dword [esp + 0xa0]
cmp ebx, 2
jl 0x4fbeb0
mov ecx, dword [esp + 0x98]
jmp 0x4fbee1
mov dword [esp + 0x5c], eax
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 6
call fcn.004507f0
mov eax, dword [esp + 0xc]
mov ecx, eax
mov ebx, 6
mov eax, dword [esp + 0x5c]
mul eax
nop
nop
nop
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov eax, 2
jmp 0x4fc56d
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4fbf27
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + eax*4 - 4]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
lea edi, [esi + edx*4 - 4]
cmp edi, ebp
jne 0x4fbf3c
xor eax, eax
xor ebx, ebx
jmp 0x4fbf3c
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x98]
cmp dword [0x93e174], ecx
jg 0x4fc03b
mov ebp, dword [0x93e178]
cmp ecx, ebp
jl 0x4fbf62
nop
mov edi, ecx
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov ecx, edi
jmp 0x4fc1db
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x4fbf75
jae 0x4fbfff
jmp 0x4fc1c0
cmp ebp, 1
jne 0x4fbfbd
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov ebp, 1
jmp 0x4fbfff
mov dword [esp + 0x4c], ebp
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 8], eax
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x80], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004fb780
nop
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
jmp 0x4fc18b
mov ebp, ecx
shl ebp, 1
cmp eax, ebp
jl 0x4fc04e
jae 0x4fc0d8
jmp 0x4fc181
cmp ebp, 1
jne 0x4fc096
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov ebp, 1
jmp 0x4fc0d8
mov dword [esp + 0x50], ebp
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [ebp + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 8], eax
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x84], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.004fa000
nop
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
jmp 0x4fc14c
mov eax, dword [esp + 0x98]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
dec ecx
test ecx, ecx
jle 0x4fc158
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x4fc14b
mov edx, dword [esp + 0x40]
cmp ecx, edx
ja 0x4fc17c
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
call fcn.0046c950
mov ecx, ebp
mov edx, eax
call fcn.0046c950
dec ecx
test ecx, ecx
jle 0x4fc197
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x4fc18a
mov edx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x4fc1bb
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
call fcn.0046c950
mov ecx, ebp
mov edx, eax
call fcn.0046c950
sar ecx, 1
mov esi, dword [esp + 0x60]
inc esi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0xa4]
cmp ecx, ebp
jg 0x4fc1c9
mov ebp, ecx
mov ecx, dword [esp + 0x60]
shl ebp, cl
cmp ecx, 0x20
sbb ecx, ecx
and ecx, ebp
cmp edx, ecx
jb 0x4fc567
lea ebp, [ecx + ecx*2]
shl ebp, 1
shl edi, 1
cmp edi, ebp
jle 0x4fc205
mov ebp, edi
jmp 0x4fc213
mov dword [esp + 0x6c], eax
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x78], ebp
cmp edi, eax
jg 0x4fc22a
jbe 0x4fc2ae
jmp 0x4fc55e
cmp edi, 1
jne 0x4fc26f
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, 1
mov edi, 1
jmp 0x4fc2ae
mov dword [esp + 0x48], edi
lea eax, [0x693140]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [edi + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 8], eax
call fcn.004507f0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004fba50
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
cmp edx, ecx
jb 0x4fc559
mov eax, dword [esp + 0x44]
mov ebx, eax
shl ebx, 1
cmp ebx, ecx
ja 0x4fc552
mov dword [esp + 0x74], ebx
mov ebp, ecx
sub ecx, ebx
mov esi, edx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edi, eax
shl eax, 3
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x7c]
add eax, esi
test ecx, ecx
je 0x4fc33b
mov dword [esp], eax
shl ecx, 2
mov dword [esp + 4], ecx
call fcn.0046d050
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0xa8]
cmp eax, edi
jle 0x4fc514
mov dword [esp], ebx
call fcn.004fc5b0
nop
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x44]
mov edx, ecx
jmp 0x4fc363
dec ecx
test ecx, ecx
jle 0x4fc36f
mov ebx, dword [eax + ecx*4 - 4]
test ebx, ebx
je 0x4fc362
mov ebx, dword [esp + 0xac]
cmp ebx, ecx
jb 0x4fc54b
mov ebp, dword [esp + 4]
mov dword [esp + 0x8c], ebp
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
sub ebx, edx
mov dword [esp + 0x58], ebx
mov ecx, ebx
neg ebx
mov ebp, edx
shl edx, 2
sar ebx, 0x1f
and edx, ebx
add eax, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0xa8]
sub edx, ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
call fcn.004fae80
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], edi
call fcn.004fad70
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x68]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], edi
call fcn.004fad70
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
call fcn.004fbe60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
call fcn.004fad70
nop
lea eax, [0x96f5c0]
mov dword [esp], eax
lea eax, [0x6cd540]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.004899b0
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
nop
jmp 0x4fc518
dec ebp
test ebp, ebp
jle 0x4fc524
mov eax, dword [esi + ebp*4 - 4]
test eax, eax
je 0x4fc517
cmp ebp, edx
ja 0x4fc544
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], edx
add esp, 0x94
ret
mov ecx, ebp
call fcn.0046c950
mov edx, ebx
call fcn.0046c950
mov eax, ebx
call fcn.0046c970
call fcn.0046c950
mov ecx, edi
mov edx, eax
call fcn.0046c950
call fcn.0046c950
dec eax
test eax, eax
jle 0x4fc579
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x4fc56c
cmp eax, ebx
ja 0x4fc599
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
add esp, 0x94
ret
mov ecx, eax
mov edx, ebx
call fcn.0046c950
nop
call fcn.0046b490
jmp fcn.004fbe60