Function at 0x4fa9c0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x4fb169
sub esp, 0xd4
mov eax, 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0xd8]
mov dword [edx], ecx
mov dword [edx + 4], 0x7fffffff
mov dword [edx + 8], 0
mov byte [edx + 0x18], 1
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00508f40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0xc6f140]
test edx, edx
jne 0x4fb0bf
mov edx, dword [esp + 0xd8]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
call fcn.0040a810
mov eax, dword [0xc6f140]
mov ecx, dword [esp]
test eax, eax
jne 0x4fb0a7
mov eax, dword [esp + 0xd8]
mov dword [eax + 0x24], ecx
lea ecx, [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx + 0x14]
mov dword [esp + 0x78], ebx
mov edx, dword [edx + 0x10]
mov dword [esp + 0x58], edx
xor ebp, ebp
jmp 0x4faaa8
mov esi, dword [esp + 0x64]
lea ebp, [esi + 1]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xe4]
cmp ebp, esi
jge 0x4fb0a0
mov dword [esp + 0x64], ebp
mov edi, dword [esp + 0xe0]
lea eax, [edi + ebp*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4fb097
lea ecx, [0x928080]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], ecx
mov ebp, dword [ecx + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp], eax
call ebp
movzx eax, byte [esp + 0xc]
test al, al
je 0x4faa8b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x2c]
mov ecx, dword [esp + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
call eax
lea edi, [esp + 0xa0]
mov esi, dword [esp + 0x84]
call fcn.0044cdee
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x89a898]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 8
call fcn.00498c40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x8969ce]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004c2de0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp eax, 1
jbe 0x4fb162
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x4c], edx
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004540d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x4fb148
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
cmp edx, 6
jge 0x4faf1c
cmp edx, 5
jne 0x4faebf
mov ebp, dword [ebx]
cmp ebp, 0x65747962
jne 0x4faf17
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x73
xchg ebp, eax
jne 0x4faebc
mov edx, 2
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x100
call fcn.004fb440
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 0x28]
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x50]
mov ecx, eax
sar eax, 0x1f
mov edx, ecx
shr ecx, 0x1d
shl eax, 3
or ecx, eax
mov dword [esp + 0x60], ecx
shl edx, 3
mov dword [esp + 0x40], edx
cmp edx, 0x80
setb al
test ecx, ecx
sete bl
and eax, ebx
test ecx, ecx
xchg ebp, ebx
setb bl
xchg ebp, ebx
or eax, ebp
test al, al
je 0x4fad98
mov eax, 1
mov dword [esp + 0x3c], eax
lea ecx, [0x85ffc0]
mov dword [esp], ecx
call fcn.00409d90
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
or eax, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x80], ecx
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
xor edx, edx
or eax, edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], eax
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4fad7e
mov eax, dword [esp + 0x70]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x24]
mov dword [esp + 4], ecx
lea ecx, [0x80e920]
mov dword [esp], ecx
lea edx, [esp + 0x90]
mov dword [esp + 8], edx
call fcn.0040b180
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4fad70
mov eax, dword [esp + 0x80]
mov dword [edi], eax
jmp 0x4faa8b
mov eax, dword [esp + 0x80]
call fcn.0044c860
jmp 0x4fad6b
lea edi, [ecx + 0xc]
mov eax, dword [esp + 0x70]
call fcn.0044c860
lea edi, [ecx + 0x10]
mov eax, dword [esp + 0x74]
call fcn.0044c860
jmp 0x4fad2b
cmp edx, 0x4000
setb al
and eax, ebx
or eax, ebp
test al, al
je 0x4fadb3
mov eax, 2
jmp 0x4facd8
cmp edx, 0x200000
setb al
and eax, ebx
or eax, ebp
test al, al
je 0x4fadce
mov eax, 3
jmp 0x4facd8
cmp edx, 0x10000000
setb al
and eax, ebx
or eax, ebp
test al, al
je 0x4fade9
mov eax, 4
jmp 0x4facd8
test edx, edx
setb al
cmp ecx, 8
sete bl
and ebx, eax
cmp ecx, 8
xchg ebp, ebx
setb bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4fae12
mov eax, 5
jmp 0x4facd8
cmp ecx, 0x400
sete bl
and ebx, eax
cmp ecx, 0x400
xchg ebp, ebx
setb bl
xchg ebp, ebx
or ebx, ebp
test bl, bl
je 0x4fae3a
mov eax, 6
jmp 0x4facd8
cmp ecx, 0x20000
sete bl
and ebx, eax
cmp ecx, 0x20000
xchg ebp, ebx
setb bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4fae64
mov eax, 7
jmp 0x4facd8
cmp ecx, 0x1000000
sete bl
and ebx, eax
cmp ecx, 0x1000000
xchg ebp, ebx
setb bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4fae8e
mov eax, 8
jmp 0x4facd8
cmp ecx, 0x80000000
sete bl
and ebx, eax
cmp ecx, 0x80000000
setb al
or eax, ebx
test al, al
je 0x4faeb2
mov eax, 9
jmp 0x4facd8
mov eax, 0xa
jmp 0x4facd8
cmp edx, 5
jne 0x4faf12
mov ebp, dword [ebx]
cmp ebp, 0x756f7267
jne 0x4faf0d
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x70
xchg ebp, eax
jne 0x4faee0
mov edx, 3
jmp 0x4fac23
cmp edx, 6
jne 0x4fb0dd
mov ebp, dword [ebx]
cmp ebp, 0x69726176
jne 0x4fb0dd
movzx ebp, word [ebx + 4]
cmp bp, 0x746e
jne 0x4fb0dd
xor edx, edx
jmp 0x4fac23
cmp edx, 6
jmp 0x4faee3
cmp edx, 6
jmp 0x4faee3
cmp edx, 5
jmp 0x4faebf
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x5c], edx
je 0x4fb047
cmp edx, 7
jge 0x4fafa4
jne 0x4faf5e
mov ebp, dword [ebx]
cmp ebp, 0x65786966
jne 0x4faf9f
movzx ebp, word [ebx + 4]
cmp bp, 0x3364
jne 0x4faf9a
movzx ebp, byte [ebx + 6]
xchg ebp, eax
cmp al, 0x32
xchg ebp, eax
jne 0x4faf5b
mov edx, 5
jmp 0x4fac23
cmp edx, 7
jne 0x4fb0dd
mov ebp, dword [ebx]
cmp ebp, 0x65786966
jne 0x4fb0dd
movzx ebp, word [ebx + 4]
cmp bp, 0x3664
jne 0x4fb0dd
movzx ebp, byte [ebx + 6]
xchg ebp, eax
cmp al, 0x34
xchg ebp, eax
jne 0x4fb0dd
mov edx, 1
jmp 0x4fac23
cmp edx, 7
jmp 0x4faf5e
cmp edx, 7
jmp 0x4faf5e
je 0x4faff4
cmp edx, 8
jne 0x4fafc7
mov ebp, dword [ebx]
cmp ebp, 0x7a67697a
jne 0x4fafef
mov ebp, dword [ebx + 4]
cmp ebp, 0x32336761
je 0x4faf06
cmp edx, 8
jne 0x4fb0dd
mov ebp, dword [ebx]
cmp ebp, 0x7a67697a
jne 0x4fb0dd
mov ebp, dword [ebx + 4]
cmp ebp, 0x34366761
je 0x4faf06
jmp 0x4fb0dd
cmp edx, 8
jmp 0x4fafc7
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x8997dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4fb032
mov edx, dword [esp + 0x5c]
cmp edx, 7
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
jmp 0x4faf2f
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
jmp 0x4fafa6
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x898fad]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 6
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4fb082
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
jmp 0x4fabf8
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
jmp 0x4faf2a
xor eax, eax
xor ecx, ecx
jmp 0x4faaed
add esp, 0xd4
ret
mov edx, dword [esp + 0xd8]
lea edi, [edx + 0x24]
mov eax, ecx
call fcn.0044c860
mov eax, edx
jmp 0x4faa67
mov edx, dword [esp + 0xd8]
lea edi, [edx + 0x10]
call fcn.0044c860
lea edi, [edx + 0x14]
mov eax, ecx
call fcn.0044c860
jmp 0x4faa47
mov dword [esp], 0
lea eax, [0x8a02f1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bdd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
call fcn.00407520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00427650
ud2
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [0x91f158]
mov dword [esp + 4], eax
call fcn.00427650
ud2
call fcn.00426770
ud2
call fcn.0044b100
jmp fcn.004fa9c0