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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x94fd1a
sub esp, 0x90
mov eax, dword [esp + 0x94]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
movzx edx, byte [eax + 6]
test dl, dl
jne 0x94fb56
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov ebx, dword [eax + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409500
mov eax, dword [esp + 0xc]
lea ecx, [0xc89b40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e8f50
mov eax, dword [esp + 0x94]
xor ecx, ecx
jmp 0x94f736
mov edx, dword [esp + 0x38]
lea ecx, [edx + 1]
mov edx, dword [esp + 0x94]
mov eax, edx
mov edx, dword [eax + 0x24]
mov ebx, dword [eax + 0x20]
cmp ecx, edx
jge 0x94f776
jae 0x94fd10
mov dword [esp + 0x38], ecx
mov eax, dword [ebx + ecx*4]
mov dword [esp], eax
call fcn.0094f6b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x94f726
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x90
ret
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
lea edi, [eax + 0x20]
mov dword [esp + 0x7c], edi
mov ecx, dword [0x10fd360]
test ecx, ecx
jne 0x94fb46
mov dword [eax + 0x20], 0
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 4]
mov edx, dword [edx + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0094f1d0
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x6c]
xor ebx, ebx
jmp 0x94f7e6
mov edx, dword [esp + 0x6c]
inc dword [edx + 0x54]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x70]
mov ecx, ebp
cmp ebx, ecx
jge 0x94fab1
mov dword [esp + 0x48], ebx
mov ebp, dword [eax + ebx*4]
mov dword [esp + 0x74], ebp
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x44], edi
test edi, edi
mov esi, ebx
seta bl
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0x40], ebp
test ebp, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x94faa8
mov ebx, dword [edx + 0x2c]
test ebx, ebx
jne 0x94fa5b
mov ebx, dword [edx + 4]
mov ebp, dword [ebx + 0x40]
test byte [ebp], al
mov ebx, dword [ebx + 0x54]
mov eax, dword [esp + 0x40]
mul ebx
mov edi, dword [esp + 0x44]
imul edi, ebx
add edx, edi
sar ebx, 0x1f
mov edi, dword [esp + 0x40]
imul ebx, edi
add edx, ebx
test edx, edx
jne 0x94fd04
cmp eax, 0x7fffffff
jae 0x94fcfa
add eax, ebp
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov edx, dword [edx + 0xc0]
mov ebp, dword [ebx + 0x30]
mov ebx, dword [ebx + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0094afe0
mov eax, dword [esp + 0x74]
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [esp], eax
call fcn.0094dea0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 4]
mov ecx, dword [ecx + 0x54]
lea edx, [edx + ecx - 1]
test ecx, ecx
je 0x94fcf5
mov dword [esp], eax
mov eax, edx
cmp ecx, 0xffffffff
je 0x94f8e0
cdq
idiv ecx
jmp 0x94f8e2
neg eax
mov dword [esp + 4], eax
call fcn.00953ac0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test edx, edx
jne 0x94fa46
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 8]
mov ebx, dword [ecx]
cmp dword [edx + 0x28], ebx
xchg ebp, ebx
setbe bl
xchg ebp, ebx
mov esi, dword [ecx + 4]
mov edx, dword [edx + 0x2c]
cmp edx, esi
sete dl
xchg edi, ebx
setb bl
xchg edi, ebx
and ebp, edx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x94fc14
mov eax, dword [esp + 0x74]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0094ed20
mov eax, dword [esp + 0x74]
mov byte [eax + 6], 1
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x94f7ce
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
test edx, edx
je 0x94fa28
mov esi, dword [eax + 0x2c]
mov edi, dword [eax + 0x30]
test edi, edi
jbe 0x94fc02
mov edi, dword [esi + 0xc]
mov dword [esp + 0x78], edi
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x3c], esi
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
call fcn.0094e1e0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
test edx, edx
jbe 0x94fbf9
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 0x14]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebp
mov ebp, dword [0x10fd360]
test ebp, ebp
jne 0x94fa1c
mov dword [eax + 8], ebx
test edx, edx
jg 0x94f7ce
jmp 0x94fb73
lea edi, [eax + 8]
mov eax, ebx
call fcn.00460b40
jmp 0x94fa0f
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x30]
test ebx, ebx
jbe 0x94fc0b
mov esi, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0x14]
mov edx, esi
jmp 0x94f96c
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebx
add esp, 0x90
ret
lea eax, [0xab28e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call fcn.0040fb30
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
test al, al
je 0x94fa93
mov eax, ecx
jmp 0x94f873
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x48]
jmp 0x94f837
mov eax, dword [esp + 0x74]
jmp 0x94f8af
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx + 0x1c]
test edx, edx
je 0x94fb29
mov ebx, dword [edx + 0x14]
test ebx, ebx
sete bl
mov edx, dword [edx + 0x18]
test edx, edx
sete dl
and edx, ebx
test dl, dl
je 0x94fb29
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov edx, dword [0x10fd360]
test edx, edx
jne 0x94fb1c
mov dword [ecx + 0x20], 0
mov eax, dword [ecx + 0x1c]
mov dword [esp], eax
call fcn.0094f6b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x90
ret
mov edi, dword [esp + 0x7c]
xor eax, eax
call fcn.00460b40
jmp 0x94faf4
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x90
ret
mov ecx, eax
xor eax, eax
call fcn.00460b40
mov eax, ecx
jmp 0x94f7a0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x90
ret
lea eax, [esp + 0x4c]
mov dword [esp], eax
lea eax, [0xb9c82a]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
lea eax, [0xba65ee]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x1b
call fcn.0044a440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004eeb30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0xaa9660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433120
xor eax, eax
mov ecx, edx
call fcn.00460bc0
xor eax, eax
mov ecx, edi
call fcn.00460bc0
xor eax, eax
mov ecx, ebx
call fcn.00460bc0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004093d0
mov eax, dword [esp + 8]
lea ecx, [0xaa8120]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004093d0
mov eax, dword [esp + 8]
lea ecx, [0xaa8120]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
lea eax, [0xbb0412]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004eeb30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0xaa9660]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433120
call fcn.00431f50
mov ecx, 0x7fffffff
call fcn.00460bd0
mov esi, edx
mov ecx, 0x7fffffff
call fcn.00460cb0
mov eax, ecx
mov ecx, edx
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.0094f6b0