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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x4f1792
sub esp, 0x98
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + 0x18]
sub ebx, dword [edx + 0x10]
dec ebx
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0xa0]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x58], esi
mov eax, ebx
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x54], ebx
mov ecx, ebx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x50], ebx
mov edi, ebp
mov ebp, dword [ebp + 0x1c]
mov dword [esp + 0x4c], ebp
jmp 0x4f169f
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xc4]
mov ebp, edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
xor eax, eax
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
cmp ebp, edi
jle 0x4f12d8
lea edx, [edi + ecx]
mov ebp, dword [esp + 0xb0]
cmp edx, ebp
jae 0x4f1776
mov ebp, dword [esp + 0xac]
mov edx, dword [ebp + edx*4]
test edx, edx
je 0x4f12cb
add esi, edi
mov ebp, dword [esp + 0x38]
cmp ebp, esi
jbe 0x4f12b8
shl esi, 3
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
cmp ebx, esi
jbe 0x4f176d
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x90]
movzx ebp, byte [edi + esi]
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x4f1764
mov dword [esp + 0x20], esi
mov dword [esp + 0x6c], ebp
shl ebp, 8
movzx edi, byte [esi + edi + 1]
or edi, ebp
mov eax, edi
mov ebp, dword [esp + 0x40]
mul ebp
mov ebx, dword [esp + 0x48]
add ebx, eax
mov dword [esp + 0x70], ebx
mov ebx, ebp
sar ebp, 0x1f
mov esi, dword [esp + 0x6c]
shr esi, 0x18
imul esi, ebx
add edx, esi
imul edi, ebp
add edx, edi
mov esi, dword [esp + 0x48]
add esi, eax
mov esi, dword [esp + 0x44]
adc esi, edx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x20]
lea eax, [edi + 2]
mov esi, dword [esp + 0x34]
cmp esi, eax
jbe 0x4f175d
mov dword [esp + 0x48], edx
mov eax, ebp
mov ebp, dword [esp + 0x90]
movzx edx, byte [edi + ebp + 2]
lea ebx, [edi + 3]
cmp esi, ebx
jbe 0x4f1754
mov dword [esp + 0x68], eax
mov ebx, edx
shl edx, 8
movzx ebp, byte [edi + ebp + 3]
or ebp, edx
mov eax, ebp
mov esi, dword [esp + 0x40]
mul esi
mov edi, dword [esp + 0x48]
add edi, eax
mov dword [esp + 0x78], edi
shr ebx, 0x18
imul ebx, esi
add edx, ebx
mov ebx, dword [esp + 0x68]
imul ebp, ebx
add edx, ebp
mov ebp, dword [esp + 0x48]
add ebp, eax
mov ebp, dword [esp + 0x44]
adc ebp, edx
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x20]
lea eax, [edi + 4]
mov ebp, dword [esp + 0x34]
cmp ebp, eax
jbe 0x4f174d
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x90]
movzx edx, byte [edi + ebx + 4]
lea esi, [edi + 5]
cmp ebp, esi
jbe 0x4f1744
mov esi, edx
shl edx, 8
movzx ebx, byte [edi + ebx + 5]
or ebx, edx
mov eax, ebx
mov ebp, dword [esp + 0x40]
mul ebp
mov edi, dword [esp + 0x48]
add edi, eax
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x68]
imul ebx, edi
shr esi, 0x18
imul esi, ebp
add edx, esi
add edx, ebx
mov ebx, dword [esp + 0x48]
add ebx, eax
mov ebx, dword [esp + 0x44]
adc ebx, edx
mov dword [esp + 0x84], ebx
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x44], ebx
mov esi, dword [esp + 0x20]
lea eax, [esi + 6]
mov ebx, dword [esp + 0x34]
cmp ebx, eax
jbe 0x4f173d
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x90]
movzx edx, byte [esi + edi + 6]
lea ebp, [esi + 7]
cmp ebx, ebp
jbe 0x4f1734
mov ebp, edx
shl edx, 8
movzx esi, byte [esi + edi + 7]
or esi, edx
mov eax, esi
mov edi, dword [esp + 0x40]
mul edi
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x48]
add ebx, eax
mov edx, dword [esp + 0x28]
add edx, edi
mov dword [esp + 0x64], edx
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x68]
imul esi, ebx
shr ebp, 0x18
imul ebp, edi
mov edx, dword [esp + 0x6c]
add edx, ebp
add edx, esi
mov ebp, dword [esp + 0x48]
add ebp, eax
mov ebp, dword [esp + 0x44]
adc ebp, edx
mov dword [esp + 0x8c], ebp
mov edx, dword [esp + 0x28]
add edx, edi
mov edx, dword [esp + 0x2c]
adc ebx, edx
mov eax, dword [esp + 0x64]
jmp 0x4f1010
jg 0x4f12c4
mov esi, ebp
shl esi, 3
jmp 0x4f108c
xor esi, esi
jmp 0x4f108c
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
jmp 0x4f1010
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
sub eax, ecx
mov ebx, dword [esp + 0xa0]
imul eax, dword [ebx + 0xc]
mov dword [esp + 0x60], eax
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov ebp, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
call fcn.00452890
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
setb dl
mov ebx, dword [esp + 0x10]
cmp ebx, 0x10000
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x58]
sub esi, edi
mov dword [esp + 0x5c], esi
mov edi, dword [esp + 0x60]
lea esi, [edi + esi*8]
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f165c
mov edx, dword [esp + 0xa0]
mov ebp, dword [edx]
mov ecx, dword [edx + 4]
cmp esi, ecx
jae 0x4f172d
mov eax, ebx
shr bx, 8
mov byte [ebp + esi], bl
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov ebp, dword [esp + 0x5c]
lea ebp, [edi + ebp*8 + 1]
cmp ebp, ecx
jae 0x4f1726
mov dword [esp + 0x1c], esi
mov byte [esi + ebx + 1], al
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
call fcn.00452890
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
setb dl
mov ebx, dword [esp + 0x10]
cmp ebx, 0x10000
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f1635
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
lea eax, [edi + esi*8 + 2]
cmp ecx, eax
jbe 0x4f1721
mov eax, ebx
shr bx, 8
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov byte [esi + ebp + 2], bl
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
lea edi, [edi + ecx*8 + 3]
cmp edi, ebx
jae 0x4f1718
mov byte [esi + ebp + 3], al
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
call fcn.00452890
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
mov edx, dword [esp + 0x10]
cmp edx, 0x10000
setb bl
test eax, eax
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebx, ecx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f160e
mov ebx, dword [esp + 0xa0]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
lea eax, [edi + esi*8 + 4]
cmp ecx, eax
jbe 0x4f1713
mov eax, edx
shr dx, 8
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov byte [esi + ebp + 4], dl
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
lea edi, [edi + ecx*8 + 5]
cmp edx, edi
jbe 0x4f170a
mov byte [esi + ebp + 5], al
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.00452890
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
setb dl
mov ebx, dword [esp + 0x10]
cmp ebx, 0x10000
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f15e7
mov edx, dword [esp + 0xa0]
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [esp + 0x5c]
mov eax, edx
mov edx, dword [esp + 0x60]
mov edi, edx
lea edx, [edx + esi*8 + 6]
cmp edx, ecx
jae 0x4f1703
mov edx, ebx
shr bx, 8
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov byte [edx + ebp + 6], bl
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [edi + esi*8 + 7]
cmp esi, ebx
jae 0x4f16fa
mov byte [edx + ebp + 7], cl
mov ecx, dword [esp + 0x18]
inc ecx
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xac]
mov eax, esi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0x4c]
cmp ecx, esi
jge 0x4f1683
mov dword [esp + 0x18], ecx
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0045af88
mov ecx, dword [esp + 0x18]
mov edi, esi
mov esi, dword [esp + 0xbc]
cmp ecx, esi
jae 0x4f177f
mov esi, dword [esp + 0xb8]
mov esi, dword [esi + ecx*4]
mov dword [esp + 0x30], esi
imul ecx, ebp
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
jmp 0x4f104a
test eax, eax
setg dl
cmp ebx, 0xffff
seta bl
and ebx, ecx
or ebx, edx
test bl, bl
je 0x4f1607
mov ebx, 0xffffffff
jmp 0x4f1515
xor ebx, ebx
jmp 0x4f1515
cmp edx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or edx, ebx
test dl, dl
je 0x4f162e
mov edx, 0xffffffff
jmp 0x4f147b
xor edx, edx
jmp 0x4f147b
cmp ebx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or ebx, edx
test bl, bl
je 0x4f1655
mov ebx, 0xffffffff
jmp 0x4f13df
xor ebx, ebx
jmp 0x4f13df
cmp ebx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or ebx, edx
test bl, bl
je 0x4f167c
mov ebx, 0xffffffff
jmp 0x4f1355
xor ebx, ebx
jmp 0x4f1355
mov ecx, dword [esp + 0x24]
inc ecx
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov ebp, esi
mov esi, ecx
mov ecx, dword [esp + 0x54]
cmp esi, ebx
jge 0x4f16f3
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov dword [esp + 0x94], ebp
mov ebp, dword [edx + 8]
mov edx, dword [edx + 0xc]
imul edx, esi
cmp edx, ebx
ja 0x4f1788
mov dword [esp + 0x24], esi
sub ebx, edx
mov dword [esp + 0x34], ebx
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov ebp, dword [esp + 0x94]
add edx, ebp
mov dword [esp + 0x90], edx
mov ebp, dword [esp + 0xc4]
jmp 0x4f158d
add esp, 0x98
ret
mov eax, esi
mov ecx, ebx
call fcn.0045ad60
mov eax, edx
call fcn.0045ad60
mov eax, edi
mov ecx, edx
call fcn.0045ad60
call fcn.0045ad60
mov eax, edi
mov ecx, ebx
call fcn.0045ad60
call fcn.0045ad60
mov eax, ebp
call fcn.0045ad60
mov eax, esi
call fcn.0045ad60
mov eax, ebp
mov ecx, ebx
call fcn.0045ad60
mov ecx, ebx
call fcn.0045ad60
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
mov ecx, ebp
call fcn.0045ad60
mov eax, ebx
mov ecx, esi
call fcn.0045ad60
mov ecx, esi
call fcn.0045ad60
mov eax, edx
mov ecx, ebx
call fcn.0045ad60
mov eax, esi
mov ecx, ebx
call fcn.0045ad60
mov eax, edx
mov ecx, ebp
call fcn.0045ad60
mov eax, ecx
mov ecx, esi
call fcn.0045ad60
mov eax, edx
mov ecx, ebx
call fcn.0045adc0
nop
call fcn.00459790
jmp fcn.004f0fb0