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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4fa529
sub esp, 0x74
lea eax, [0x65a9c0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x7c]
jmp 0x4fa2c5
mov eax, dword [esp + 0x30]
lea esi, [eax - 0x10]
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 0x10
mov ecx, dword [esp + 0x44]
lea edi, [ecx + esi]
lea ebp, [edx - 0x10]
mov ecx, dword [esp + 0x38]
lea edx, [ecx - 0x10]
mov ecx, edx
neg edx
sar edx, 0x1f
and edx, 0x10
mov ebx, dword [esp + 0x48]
add ebx, edx
mov edx, dword [esp + 0x34]
add edx, 0xfffffff0
mov esi, eax
mov eax, dword [esp + 0x4c]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x44], edi
cmp ecx, 0x10
jl 0x4fa3eb
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x94]
test byte [ebx], al
mov ebp, dword [ecx + 4]
mov edx, dword [edx + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x10
call edx
nop
mov eax, dword [esp + 0x94]
movzx ecx, byte [eax + 0xf]
movzx edx, byte [eax + 0xe]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 0xd]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + 0xc]
shl edx, 0x18
or edx, ecx
lea ecx, [edx + 1]
mov edx, ecx
shr ecx, 0x18
mov byte [eax + 0xc], cl
mov ecx, edx
shr edx, 0x10
mov byte [eax + 0xd], dl
mov edx, ecx
shr ecx, 8
mov byte [eax + 0xe], cl
mov byte [eax + 0xf], dl
nop
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0x34]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x10
mov dword [esp + 0x64], 0x10
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
jmp 0x4fa4dc
cmp edx, 0x10
jae 0x4fa278
jmp 0x4fa4fe
test ecx, ecx
je 0x4fa4c6
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x94]
test byte [ebx], al
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0x10
mov dword [esp + 0x18], 0x10
call edx
nop
mov eax, dword [esp + 0x94]
movzx ecx, byte [eax + 0xf]
movzx edx, byte [eax + 0xe]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 0xd]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + 0xc]
shl edx, 0x18
or edx, ecx
lea ecx, [edx + 1]
mov edx, ecx
shr ecx, 0x18
mov byte [eax + 0xc], cl
mov ecx, edx
shr edx, 0x10
mov byte [eax + 0xd], dl
mov edx, ecx
shr ecx, 8
mov byte [eax + 0xe], cl
mov byte [eax + 0xf], dl
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], 0x10
call fcn.004fa940
add esp, 0x74
ret
mov dword [esi + ebx*4], edx
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
cmp ebx, 4
jge 0x4fa3dd
cmp ebx, ebp
jae 0x4fa51f
mov edx, dword [edi + ebx*4]
cmp ebx, 0x10
jae 0x4fa513
xor edx, dword [ecx + ebx*4]
cmp ebx, eax
jb 0x4fa4ca
jmp 0x4fa50a
mov eax, 0x10
mov ecx, edx
call fcn.0045f910
mov ecx, eax
mov eax, ebx
call fcn.0045f8b0
mov eax, ebx
mov ecx, 0x10
call fcn.0045f8b0
mov eax, ebx
mov ecx, ebp
call fcn.0045f8b0
nop
call fcn.0045e420
jmp fcn.004fa220