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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4f204a
sub esp, 0xb0
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 0x18]
sub ebx, dword [edx + 0x10]
dec ebx
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0xb8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x84], esi
mov eax, ebx
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x80], ebx
mov ecx, ebx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x7c], ebx
mov edi, ebp
mov ebp, dword [ebp + 0x1c]
mov dword [esp + 0x78], ebp
jmp 0x4f1f59
inc edi
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x78]
mov edi, dword [esp + 0x44]
cmp ebp, edi
jle 0x4f1b5e
lea esi, [edi + ecx]
mov ebx, dword [esp + 0xc8]
cmp esi, ebx
jae 0x4f202e
mov edx, dword [esp + 0xc4]
mov esi, dword [edx + esi*4]
test esi, esi
jne 0x4f1851
mov esi, dword [esp + 0x2c]
jmp 0x4f1806
mov edx, dword [esp + 0x30]
add edx, edi
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jbe 0x4f1b4b
shl edx, 3
lea ebx, [edx + 6]
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
jbe 0x4f2025
mov dword [esp + 0x50], esi
mov ebx, dword [esp + 0xa8]
movzx edi, byte [edx + ebx + 6]
lea esi, [edx + 7]
cmp ebp, esi
jbe 0x4f201c
shl edi, 8
movzx esi, byte [edx + ebx + 7]
or esi, edi
cmp ebp, edx
jbe 0x4f2013
mov dword [esp + 0x20], edx
movzx edi, byte [ebx + edx]
inc edx
cmp ebp, edx
jbe 0x4f200a
movzx ecx, si
mov dword [esp + 0x60], ecx
shl edi, 8
mov edx, dword [esp + 0x20]
movzx ebp, byte [edx + ebx + 1]
or ebp, edi
movzx eax, bp
mul ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xffff
mov dword [esp + 0xc], 0
call fcn.00452890
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
lea eax, [ebx + 2]
mov ebp, dword [esp + 0x34]
cmp ebp, eax
jbe 0x4f2003
mov esi, dword [esp + 0xa8]
movzx edi, byte [ebx + esi + 2]
lea eax, [ebx + 3]
cmp ebp, eax
jbe 0x4f1ffc
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
shl edi, 8
movzx ecx, byte [ebx + esi + 3]
or ecx, edi
movzx ecx, cx
mov eax, dword [esp + 0x60]
mul ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xffff
mov dword [esp + 0xc], 0
call fcn.00452890
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
lea eax, [ebx + 4]
mov ebp, dword [esp + 0x34]
cmp ebp, eax
jbe 0x4f1ff5
mov esi, dword [esp + 0xa8]
movzx edi, byte [ebx + esi + 4]
lea eax, [ebx + 5]
cmp ebp, eax
jbe 0x4f1fee
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
shl edi, 8
movzx ecx, byte [ebx + esi + 5]
or ecx, edi
movzx eax, cx
mov ecx, dword [esp + 0x60]
mul ecx
mov ebx, eax
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x50]
mov edi, edx
mul ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], 0xffff
mov dword [esp + 0xc], 0
call fcn.00452890
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
mov ebx, ecx
add ecx, edx
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov ebp, edx
mul esi
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x58], edx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x88], ecx
mov ecx, esi
sar esi, 0x1f
mov dword [esp + 0x6c], esi
mov edx, dword [esp + 0x3c]
imul edx, ecx
mov ecx, dword [esp + 0x74]
add ecx, edx
mov edx, dword [esp + 0x38]
imul edx, esi
add ecx, edx
add ebx, ebp
adc edi, ecx
mov dword [esp + 0x8c], edi
mov ecx, dword [esp + 0x90]
mov edx, ecx
add ecx, eax
mov ebx, eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov edi, edx
mul ebp
mov dword [esp + 0x74], edx
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
imul ecx, edx
mov edx, dword [esp + 0x48]
imul edx, esi
mov esi, dword [esp + 0x70]
add ecx, esi
add ecx, edx
add edi, ebx
adc ebp, ecx
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x98]
mov edx, ecx
add ecx, eax
mov ebx, eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x60]
mov esi, edx
mov edi, eax
mul ebp
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x5c]
imul ecx, edi
mov ebp, dword [esp + 0x74]
add ecx, ebp
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
imul edi, ebp
add ecx, edi
add esi, ebx
adc edx, ecx
mov dword [esp + 0x9c], edx
mov ecx, dword [esp + 0xa0]
mov edx, ecx
add ecx, eax
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
mov edi, ebx
add ebx, esi
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x60]
imul ecx, ebp
mov ebp, dword [esp + 0x70]
add ecx, ebp
add edx, eax
adc ebx, ecx
mov dword [esp + 0xa4], ebx
add edi, esi
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
adc esi, ecx
xor eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xdc]
mov edi, dword [esp + 0x44]
jmp 0x4f1806
jg 0x4f1b57
mov edx, ebx
shl edx, 3
jmp 0x4f1866
xor edx, edx
jmp 0x4f1866
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x80]
sub eax, ecx
mov ebx, dword [esp + 0xb8]
imul eax, dword [ebx + 0xc]
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
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 + 0x84]
sub esi, edi
mov dword [esp + 0x64], esi
mov edi, dword [esp + 0x68]
lea esi, [edi + esi*8]
and ebp, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f1f12
mov edx, dword [esp + 0xb8]
mov ebp, dword [edx]
mov ecx, dword [edx + 4]
cmp esi, ecx
jae 0x4f1fe7
mov eax, ebx
shr bx, 8
mov byte [ebp + esi], bl
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov ebp, dword [esp + 0x64]
lea ebp, [edi + ebp*8 + 1]
cmp ebp, ecx
jae 0x4f1fe0
mov dword [esp + 0x1c], esi
mov byte [esi + ebx + 1], al
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
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 0x4f1eeb
mov ebx, dword [esp + 0xb8]
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
lea eax, [edi + esi*8 + 2]
cmp ecx, eax
jbe 0x4f1fdb
mov eax, edx
shr dx, 8
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov byte [esi + ebp + 2], dl
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
lea edi, [edi + ecx*8 + 3]
cmp edi, edx
jae 0x4f1fd2
mov byte [esi + ebp + 3], al
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
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 0x4f1ec4
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
lea eax, [edi + esi*8 + 4]
cmp eax, ecx
jae 0x4f1fcd
mov eax, ebx
shr bx, 8
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov byte [esi + ebp + 4], bl
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
lea edi, [edi + ecx*8 + 5]
cmp ebx, edi
jbe 0x4f1fc4
mov byte [esi + ebp + 5], al
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
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 0x4f1e9d
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [esp + 0x64]
mov eax, edx
mov edx, dword [esp + 0x68]
mov edi, edx
lea edx, [edx + esi*8 + 6]
cmp ecx, edx
jbe 0x4f1fbd
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 0x4f1fb4
mov byte [edx + ebp + 7], cl
mov ecx, dword [esp + 0x18]
inc ecx
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xb8]
mov edx, dword [esp + 0x78]
cmp ecx, edx
jge 0x4f1f39
mov dword [esp + 0x18], ecx
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0045af88
mov ecx, dword [esp + 0x18]
mov edi, edx
mov edx, dword [esp + 0xd4]
cmp ecx, edx
jae 0x4f2037
mov edx, dword [esp + 0xd0]
mov edx, dword [edx + ecx*4]
mov dword [esp + 0x30], edx
imul ecx, ebp
mov dword [esp + 0x54], ecx
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
jmp 0x4f181f
test eax, eax
setg dl
cmp ebx, 0xffff
seta bl
and ebx, ecx
or ebx, edx
test bl, bl
je 0x4f1ebd
mov ebx, 0xffffffff
jmp 0x4f1dad
xor ebx, ebx
jmp 0x4f1dad
test eax, eax
setg dl
cmp ebx, 0xffff
seta bl
and ebx, ecx
or ebx, edx
test bl, bl
je 0x4f1ee4
mov ebx, 0xffffffff
jmp 0x4f1d13
xor ebx, ebx
jmp 0x4f1d13
cmp edx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or ebx, edx
test bl, bl
je 0x4f1f0b
mov edx, 0xffffffff
jmp 0x4f1c79
xor edx, edx
jmp 0x4f1c79
cmp ebx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or ebx, edx
test bl, bl
je 0x4f1f32
mov ebx, 0xffffffff
jmp 0x4f1be7
xor ebx, ebx
jmp 0x4f1be7
inc esi
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x80]
mov ecx, ebx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
cmp esi, ebx
jge 0x4f1fad
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov dword [esp + 0xac], ebp
mov ebp, dword [edx + 8]
mov edx, dword [edx + 0xc]
imul edx, esi
cmp edx, ebx
ja 0x4f2040
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 + 0xac]
add edx, ebp
mov dword [esp + 0xa8], edx
mov ebp, dword [esp + 0xdc]
jmp 0x4f1e3c
add esp, 0xb0
ret
mov eax, esi
mov ecx, ebx
call fcn.0045ad60
mov eax, edx
call fcn.0045ad60
mov eax, edi
mov ecx, ebx
call fcn.0045ad60
call fcn.0045ad60
mov eax, edi
mov ecx, edx
call fcn.0045ad60
call fcn.0045ad60
mov eax, ebp
call fcn.0045ad60
mov eax, esi
call fcn.0045ad60
mov ecx, ebp
call fcn.0045ad60
mov ecx, ebp
call fcn.0045ad60
mov ecx, ebp
call fcn.0045ad60
mov ecx, ebp
call fcn.0045ad60
mov eax, edx
mov ecx, ebp
call fcn.0045ad60
mov eax, edx
mov ecx, ebp
call fcn.0045ad60
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
mov eax, ebx
mov ecx, ebp
call fcn.0045ad60
mov eax, esi
mov ecx, ebx
call fcn.0045ad60
mov eax, ecx
mov ecx, edx
call fcn.0045ad60
mov eax, edx
mov ecx, ebx
call fcn.0045adc0
nop
call fcn.00459790
jmp fcn.004f17a0