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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4f24f4
sub esp, 0xb4
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xe0]
sub eax, ecx
mov ebx, dword [esp + 0xc0]
test ebx, ebx
jle 0x4f2453
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jle 0x4f2445
lea esi, [ebx - 1]
cmp esi, ebx
jae 0x4f24ed
mov esi, dword [esp + 0xb8]
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4f24ed
mov edx, dword [esp + 0xc4]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4f2376
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x60], eax
lea esi, [eax + 1]
cmp esi, ebx
jg 0x4f2345
ja 0x4f24d8
mov dword [esp + 0xb0], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], esi
lea eax, [ecx + 1]
mov dword [esp], eax
call fcn.004f1990
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [eax]
mov dword [esp + 0xa0], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov ebx, dword [eax + 8]
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jle 0x4f2329
mov esi, dword [esp + 0xd8]
test esi, esi
jle 0x4f2314
lea edi, [ebp - 1]
cmp edi, ebp
jae 0x4f24d1
mov edi, dword [esp + 0xc4]
lea edx, [edi + ebp*4 - 4]
lea eax, [esi - 1]
cmp eax, esi
jae 0x4f24d1
mov eax, dword [esp + 0xd0]
lea ecx, [eax + esi*4 - 4]
cmp ecx, edx
sete cl
mov dword [esp + 0x54], ebx
test cl, cl
je 0x4f2296
xor ecx, ecx
xor edx, edx
mov ebp, dword [esp + 0xd4]
lea edi, [ebp + 1]
cmp edi, edx
jg 0x4f226c
ja 0x4f24c3
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0xac], ecx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.004ee420
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + eax*4 - 4]
cmp edx, 0x10000
jb 0x4f2265
shr edx, 0x10
mov ebx, 0x10
cmp edx, 0x100
jb 0x4f1c72
shr edx, 8
add ebx, 8
cmp edx, 0x100
jae 0x4f24bc
lea ebp, [0xb49640]
movzx edx, byte [ebp + edx]
lea edx, [edx + ebx - 0x20]
neg edx
mov dword [esp + 0x78], edx
test edx, edx
ja 0x4f21dc
mov ebx, eax
mov ebp, dword [esp + 0xe4]
xor esi, esi
mov dword [esp + 0x94], esi
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0x30]
cmp edi, esi
ja 0x4f24b5
mov dword [esp + 0x74], eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xe4], ebp
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.004fefb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x4f24ae
mov ebx, dword [esp + 0xac]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0xe0]
lea ecx, [eax - 1]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
jae 0x4f24a7
mov ecx, dword [esp + 0xa8]
mov esi, dword [ecx + eax*4 - 4]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0xe4]
jmp 0x4f1f58
mov dword [esp + 0x6c], eax
mov dword [esp + 0x4c], edi
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.004fee90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x5c]
cmp eax, esi
jbe 0x4f20b6
mov eax, 1
test al, al
je 0x4f20a9
mov eax, dword [esp + 0x58]
dec eax
mov ecx, dword [esp + 0x40]
lea edi, [esi + ecx]
cmp edi, esi
jae 0x4f1d59
mov ebp, dword [esp + 0x54]
cmp edx, ebp
ja 0x4f2484
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
call fcn.004ff050
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x50]
cmp ecx, edx
jae 0x4f247d
mov ebx, dword [esp + 0xa0]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x60]
lea ebp, [eax + edx]
cmp eax, ebp
ja 0x4f2476
mov esi, dword [esp + 0x30]
cmp ebp, esi
ja 0x4f2476
sub esi, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl eax, 2
sar esi, 0x1f
and esi, eax
mov eax, dword [esp + 0xac]
add esi, eax
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x2c]
cmp ebp, eax
ja 0x4f2476
mov dword [esp + 0x68], edi
mov dword [esp + 0xa4], esi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
sub eax, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], edx
call fcn.004fef10
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4f202a
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x4f2468
mov ebx, dword [esp + 0xb0]
mov dword [ebx + ecx*4], eax
lea eax, [ecx - 1]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xac]
mov ebp, edi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe0]
mov edi, dword [esp + 0x60]
test edi, edi
jl 0x4f20d9
lea ebp, [eax + edi]
cmp ebp, edx
jae 0x4f24a0
mov dword [esp + 0x70], ebp
mov ebp, dword [ebx + ebp*4]
cmp ebp, esi
je 0x4f20c9
lea edi, [edi + eax - 1]
cmp edi, edx
jae 0x4f2499
mov eax, dword [ebx + edi*4]
mov dword [esp + 4], eax
mov dword [esp], ebp
mov dword [esp + 8], esi
call fcn.004feeb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xe0]
lea ebx, [edx - 2]
mov ebp, dword [esp + 0x74]
cmp ebx, ebp
jae 0x4f2492
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xa8]
mov ebx, dword [ecx + edx*4 - 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004fee90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x60]
lea ebp, [ebx + edx - 2]
mov esi, dword [esp + 0x2c]
cmp ebp, esi
jae 0x4f248b
mov edi, dword [esp + 0xac]
mov ebp, dword [edi + ebp*4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x8c]
jmp 0x4f1dc9
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
ja 0x4f246f
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x20], ebx
call fcn.004feed0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + eax*4]
add edx, dword [esp + 0x24]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x58]
dec eax
jmp 0x4f1efb
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
jmp 0x4f1df6
jne 0x4f20c2
cmp ecx, ebp
seta al
jmp 0x4f1dda
xor eax, eax
jmp 0x4f1dda
mov ecx, esi
mov edx, eax
mov ebx, edi
mov eax, 0xffffffff
jmp 0x4f1df6
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x4f21cf
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.004f1a90
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.004ee460
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0xac]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x30]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x18], edi
call fcn.004ff000
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
call fcn.004ee460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], eax
add esp, 0xb4
ret
mov dword [esp], eax
call fcn.004f1a90
jmp 0x4f20e8
mov dword [esp], eax
call fcn.004f1990
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [eax]
mov dword [esp + 0x98], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x48], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xdc]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], esi
call fcn.004fefb0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xe0]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x94]
jmp 0x4f1ca6
xor ebx, ebx
jmp 0x4f1c64
lea eax, [0x7b4160]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [ebp + 5]
mov dword [esp + 8], eax
call fcn.00438a20
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x4f1c1f
test ebp, ebp
jle 0x4f2302
mov ecx, dword [esp + 0xe4]
test ecx, ecx
jle 0x4f22f7
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4f24ca
lea edx, [edi + ebp*4 - 4]
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x4f24ca
mov ebx, dword [esp + 0xdc]
lea esi, [ebx + ecx*4 - 4]
cmp esi, edx
sete dl
test dl, dl
je 0x4f22e3
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0xd8]
jmp 0x4f1c03
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0xd8]
mov ecx, edi
mov edx, ebp
jmp 0x4f1c07
mov ebx, dword [esp + 0xdc]
xor edx, edx
jmp 0x4f22cf
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
xor edx, edx
jmp 0x4f22cf
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc4]
xor ecx, ecx
jmp 0x4f1bf7
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xc4]
xor ecx, ecx
jmp 0x4f1bf7
lea ecx, [0x7b4160]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [eax + 5]
mov dword [esp + 8], edx
call fcn.00438a20
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe0]
jmp 0x4f1b70
test ebx, ebx
jle 0x4f2437
mov edx, dword [esp + 0xd8]
test edx, edx
jle 0x4f2433
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4f24e6
lea edi, [esi + ebx*4 - 4]
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4f24e6
mov ebp, dword [esp + 0xd0]
lea ebp, [ebp + edx*4 - 4]
cmp ebp, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f23cd
mov ebp, dword [esp + 0xcc]
jmp 0x4f1b57
test ebx, ebx
jle 0x4f2428
mov ebp, dword [esp + 0xe4]
test ebp, ebp
jle 0x4f2424
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4f24df
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4f24df
mov edx, dword [esp + 0xdc]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4f2416
mov ebp, dword [esp + 0xcc]
jmp 0x4f1b57
mov ebp, dword [esp + 0xcc]
mov edx, esi
jmp 0x4f1b5b
xor edx, edx
jmp 0x4f2406
mov ebp, dword [esp + 0xe4]
xor edx, edx
jmp 0x4f2406
xor ebp, ebp
jmp 0x4f23bb
mov edx, dword [esp + 0xd8]
xor ebp, ebp
jmp 0x4f23bb
mov esi, dword [esp + 0xb8]
xor edx, edx
jmp 0x4f1b4f
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xb8]
xor edx, edx
jmp 0x4f1b4f
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.0044b230
jmp fcn.004f1ad0