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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f38d0
sub esp, 0x80
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jl 0x4f3802
test eax, eax
je 0x4f37d4
test ecx, ecx
je 0x4f37d4
cmp ecx, 1
je 0x4f3758
mov edx, dword [esp + 0x8c]
test edx, edx
jle 0x4f3743
mov ebx, dword [esp + 0x98]
test ebx, ebx
jle 0x4f3735
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4f38c9
mov ebp, dword [esp + 0x84]
lea esi, [ebp + edx*4 - 4]
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4f38c9
mov edi, dword [esp + 0x90]
lea edi, [edi + ebx*4 - 4]
cmp edi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f36c8
xor edx, edx
xor ebp, ebp
mov esi, dword [0x9c20f4]
cmp ecx, esi
jl 0x4f35ea
mov dword [esp + 0x7c], edx
mov dword [esp + 0x38], ebp
mov dword [esp], ecx
call fcn.004f3070
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
cmp eax, ecx
ja 0x4f38b4
mov edx, dword [esp + 0xa4]
cmp eax, edx
ja 0x4f38ad
lea ebx, [eax + eax*2]
shl ebx, 1
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x94]
lea edi, [esi + ebp]
cmp ebx, edi
jle 0x4f35e3
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x38]
cmp ebx, esi
jg 0x4f35a3
ja 0x4f38a6
mov dword [esp + 0x38], esi
mov ebp, dword [esp + 0x7c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.004f28a0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
ja 0x4f389f
mov edx, dword [esp + 0x50]
mov ebx, edx
shl edx, 1
cmp edx, eax
ja 0x4f3898
sub ecx, edx
mov esi, ecx
neg ecx
shl ebx, 3
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x7c]
add ebx, ecx
mov dword [esp], ebx
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004f19f0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jge 0x4f3592
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
call fcn.004f1a30
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
ja 0x4f3891
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 0xa4]
sub edx, eax
mov dword [esp + 0x44], edx
mov ebp, edx
neg edx
mov esi, eax
shl eax, 2
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x9c]
add eax, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
call fcn.004f30b0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x50]
mov dword [esp + 0x18], edi
call fcn.004f2f60
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call fcn.004f1a30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
jmp 0x4f34e7
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004f1a30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
call fcn.004f30b0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x60]
mov dword [esp + 0x18], edi
call fcn.004f2f60
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
call fcn.004f30b0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
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 + 0x60]
mov esi, dword [esp + 0x50]
add edi, esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x18], edi
call fcn.004f2f60
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x94]
cmp ebx, eax
jge 0x4f354e
ja 0x4f388a
mov dword [esp + 0x78], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
sub eax, ebx
mov ecx, dword [esp + 0x98]
sub ecx, ebx
mov dword [esp + 0x54], ecx
neg ecx
shl ebx, 2
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x90]
add ebx, ecx
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x4f3543
mov eax, dword [esp + 0x54]
cmp ecx, eax
jbe 0x4f3389
jmp 0x4f3883
mov ecx, eax
mov eax, dword [esp + 0x54]
jmp 0x4f3389
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.004f1a30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov edx, dword [esp + 0x94]
cmp edx, ecx
jne 0x4f326b
jmp 0x4f354e
lea eax, [0x744200]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 8], eax
call fcn.00439b00
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
jmp 0x4f31d4
mov ebx, edi
jmp 0x4f31ba
lea esi, [eax + ecx]
cmp esi, ebp
jg 0x4f3688
ja 0x4f38bb
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x7c], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x90]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
call fcn.004f2320
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.004f1a30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
lea edx, [0x744200]
mov dword [esp], edx
mov dword [esp + 4], esi
lea edx, [ecx + eax + 4]
mov dword [esp + 8], edx
call fcn.00439b00
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
jmp 0x4f35fb
test edx, edx
jle 0x4f372a
mov esi, dword [esp + 0xa4]
test esi, esi
jle 0x4f3726
lea edi, [edx - 1]
cmp edi, edx
jae 0x4f38c2
lea edi, [ebp + edx*4 - 4]
lea ebx, [esi - 1]
cmp ebx, esi
jae 0x4f38c2
mov ebx, dword [esp + 0x9c]
lea ebx, [ebx + esi*4 - 4]
cmp ebx, edi
sete bl
test bl, bl
je 0x4f3711
mov ebx, dword [esp + 0x98]
jmp 0x4f3158
mov ebx, dword [esp + 0x98]
mov edx, ebp
mov ebp, dword [esp + 0x8c]
jmp 0x4f315c
xor ebx, ebx
jmp 0x4f3701
mov esi, dword [esp + 0xa4]
xor ebx, ebx
jmp 0x4f3701
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4f314e
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4f314e
mov ecx, dword [esp + 0x9c]
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0
call fcn.004f2180
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
call fcn.004f30b0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x80
ret
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.004269c0
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.0044be50
jmp fcn.004f30b0