Function at 0x4ff3d0
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 0x4ffe22
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 0x4ffd7a
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jle 0x4ffd6c
lea esi, [ebx - 1]
cmp esi, ebx
jae 0x4ffe1b
mov esi, dword [esp + 0xb8]
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4ffe1b
mov edx, dword [esp + 0xc4]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4ffc9d
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x60], eax
lea esi, [eax + 1]
cmp esi, ebx
jg 0x4ffc6c
test esi, esi
jl 0x4ffe06
mov dword [esp + 0xb0], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], ebx
lea eax, [ecx + 1]
mov dword [esp], eax
call fcn.004ff290
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0xa0], edx
mov ebx, dword [eax + 4]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jle 0x4ffc50
mov esi, dword [esp + 0xd8]
test esi, esi
jle 0x4ffc3b
lea edi, [ebp - 1]
cmp edi, ebp
jae 0x4ffdff
mov edi, dword [esp + 0xc4]
lea ebx, [edi + ebp*4 - 4]
lea eax, [esi - 1]
cmp eax, esi
jae 0x4ffdff
mov eax, dword [esp + 0xd0]
lea edx, [eax + esi*4 - 4]
cmp edx, ebx
sete dl
mov dword [esp + 0x54], ecx
test dl, dl
je 0x4ffbbd
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0xd4]
lea edi, [ebp + 1]
cmp edi, ebx
jg 0x4ffb93
test edi, edi
jl 0x4ffdf1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0xac], edx
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
call fcn.004fbc90
mov eax, dword [esp + 0xe0]
lea ecx, [eax - 1]
cmp ecx, eax
jae 0x4ffdea
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx + eax*4 - 4]
cmp ebx, 0x10000
jb 0x4ffb8c
shr ebx, 0x10
mov ebp, 0x10
cmp ebx, 0x100
jb 0x4ff581
shr ebx, 8
add ebp, 8
cmp ebx, 0x100
jae 0x4ffde3
mov dword [esp + 0x78], ecx
lea esi, [0xb76660]
movzx ebx, byte [esi + ebx]
lea ebx, [ebx + ebp - 0x20]
neg ebx
mov dword [esp + 0x74], ebx
test ebx, ebx
ja 0x4ffaff
mov ebp, eax
mov esi, dword [esp + 0xe4]
xor edi, edi
mov dword [esp + 0x94], edi
mov dword [esp + 0xe4], esi
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0x30]
cmp edi, esi
ja 0x4ffddc
mov dword [esp + 0xa8], edx
mov dword [esp + 0x70], eax
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], ebx
call fcn.0050c8f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x4ffdd5
mov ebx, dword [esp + 0xac]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
jae 0x4ffdce
mov eax, dword [esp + 0xe0]
mov ebp, dword [esp + 0xa8]
mov esi, dword [ebp + eax*4 - 4]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0xe4]
jmp 0x4ff873
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.0050c7d0
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 0x4ff9d9
mov eax, 1
test al, al
je 0x4ff9cc
mov eax, dword [esp + 0x58]
dec eax
mov ecx, dword [esp + 0x40]
lea edi, [esi + ecx]
cmp edi, esi
jae 0x4ff66c
mov ebp, dword [esp + 0x54]
cmp edx, ebp
ja 0x4ffdab
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 + 0x70]
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.0050c990
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x50]
cmp ecx, edx
jae 0x4ffda4
mov ebx, dword [esp + 0xa0]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x60]
lea ebp, [eax + edx]
test ebp, ebp
jl 0x4ffd9d
cmp eax, ebp
ja 0x4ffd9d
mov esi, dword [esp + 0x30]
cmp ebp, esi
ja 0x4ffd9d
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 0x4ffd9d
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.0050c850
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4ff945
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x4ffd8f
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 + 0x70]
mov ecx, edi
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
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 0x4ff9fc
lea ecx, [eax + edi]
cmp ecx, edx
jae 0x4ffdc7
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + ecx*4]
cmp ecx, esi
je 0x4ff9ec
lea edi, [edi + eax - 1]
cmp edi, edx
jae 0x4ffdc0
mov eax, dword [ebx + edi*4]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], esi
call fcn.0050c7f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xe0]
lea ebx, [edx - 2]
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
jae 0x4ffdb9
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.0050c7d0
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 0x4ffdb2
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 0x4ff6dc
mov eax, dword [esp + 0x78]
test eax, eax
jl 0x4ffd96
mov ecx, dword [esp + 0x60]
cmp ecx, eax
ja 0x4ffd96
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 + 0x70]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x20], ebx
call fcn.0050c810
mov eax, dword [esp + 0x78]
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 0x4ff816
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
jmp 0x4ff709
jne 0x4ff9e5
cmp ecx, ebp
seta al
jmp 0x4ff6ed
xor eax, eax
jmp 0x4ff6ed
mov ecx, esi
mov edx, eax
mov ebx, edi
mov eax, 0xffffffff
jmp 0x4ff709
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x4ffaf2
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.004ff390
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.004fbcd0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], 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 + 0x74]
mov dword [esp + 0x18], edi
call fcn.0050c940
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.004fbcd0
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 + 0x78]
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.004ff390
jmp 0x4ffa0b
mov dword [esp], eax
call fcn.004ff290
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov ebx, dword [eax]
mov dword [esp + 0x98], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
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 + 0x74]
mov dword [esp + 0x18], esi
call fcn.0050c8f0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xe0]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x94]
jmp 0x4ff5b8
xor ebp, ebp
jmp 0x4ff573
lea eax, [0x7715e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [ebp + 5]
mov dword [esp + 8], eax
call fcn.00438c00
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
jmp 0x4ff523
test ebp, ebp
jle 0x4ffc29
mov edx, dword [esp + 0xe4]
test edx, edx
jle 0x4ffc1e
lea ebx, [ebp - 1]
cmp ebx, ebp
jae 0x4ffdf8
lea ebx, [edi + ebp*4 - 4]
lea ecx, [edx - 1]
cmp ecx, edx
jae 0x4ffdf8
mov ecx, dword [esp + 0xdc]
lea esi, [ecx + edx*4 - 4]
cmp esi, ebx
sete bl
test bl, bl
je 0x4ffc0a
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xd8]
jmp 0x4ff505
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xd8]
mov edx, edi
mov ebx, ebp
jmp 0x4ff509
mov ecx, dword [esp + 0xdc]
xor ebx, ebx
jmp 0x4ffbf6
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe4]
xor ebx, ebx
jmp 0x4ffbf6
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc4]
xor edx, edx
jmp 0x4ff4f9
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xc4]
xor edx, edx
jmp 0x4ff4f9
lea ecx, [0x7715e0]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea edx, [eax + 5]
mov dword [esp + 8], edx
call fcn.00438c00
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe0]
jmp 0x4ff472
test ebx, ebx
jle 0x4ffd5e
mov edx, dword [esp + 0xd8]
test edx, edx
jle 0x4ffd5a
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4ffe14
lea edi, [esi + ebx*4 - 4]
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4ffe14
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 0x4ffcf4
mov ebp, dword [esp + 0xcc]
jmp 0x4ff457
test ebx, ebx
jle 0x4ffd4f
mov ebp, dword [esp + 0xe4]
test ebp, ebp
jle 0x4ffd4b
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4ffe0d
lea edi, [esi + ebx*4 - 4]
lea edx, [ebp - 1]
cmp edx, ebp
jae 0x4ffe0d
mov edx, dword [esp + 0xdc]
lea edx, [edx + ebp*4 - 4]
cmp edx, edi
sete dl
test dl, dl
je 0x4ffd3d
mov ebp, dword [esp + 0xcc]
jmp 0x4ff457
mov ebp, dword [esp + 0xcc]
mov edx, esi
jmp 0x4ff45b
xor edx, edx
jmp 0x4ffd2d
mov ebp, dword [esp + 0xe4]
xor edx, edx
jmp 0x4ffd2d
xor ebp, ebp
jmp 0x4ffce2
mov edx, dword [esp + 0xd8]
xor ebp, ebp
jmp 0x4ffce2
mov esi, dword [esp + 0xb8]
xor edx, edx
jmp 0x4ff44f
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xb8]
xor edx, edx
jmp 0x4ff44f
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.0044b4c0
jmp fcn.004ff3d0