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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x24
mov eax, dword [esp + 0x40]
movzx edx, word [eax + 0x10]
movzx ecx, word [eax]
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x12]
mov word [eax + 0x10], cx
movzx ecx, word [eax + 2]
mov word [eax], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x14]
mov word [eax + 0x12], cx
movzx ecx, word [eax + 4]
mov word [eax + 2], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x16]
mov word [eax + 0x14], cx
movzx ecx, word [eax + 6]
mov word [eax + 4], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x18]
mov word [eax + 0x16], cx
movzx ecx, word [eax + 8]
mov word [eax + 6], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x1a]
mov word [eax + 0x18], cx
movzx ecx, word [eax + 0xa]
mov word [eax + 8], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x1c]
mov word [eax + 0x1a], cx
movzx ecx, word [eax + 0xc]
mov word [eax + 0xa], bx
lea ebx, [edx + ecx]
sub ecx, edx
mov word [eax + 0xc], bx
mov word [eax + 0x1c], cx
movzx edx, word [eax + 0x1e]
movzx ecx, word [eax + 0xe]
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x30]
mov word [eax + 0x1e], cx
movzx ecx, word [eax + 0x20]
mov word [eax + 0xe], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x32]
mov word [eax + 0x30], cx
movzx ecx, word [eax + 0x22]
mov word [eax + 0x20], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x34]
mov word [eax + 0x32], cx
movzx ecx, word [eax + 0x24]
mov word [eax + 0x22], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x36]
mov word [eax + 0x34], cx
movzx ecx, word [eax + 0x26]
mov word [eax + 0x24], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x38]
mov word [eax + 0x36], cx
movzx ecx, word [eax + 0x28]
mov word [eax + 0x26], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x3a]
mov word [eax + 0x38], cx
movzx ecx, word [eax + 0x2a]
mov word [eax + 0x28], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x3c]
mov word [eax + 0x3a], cx
movzx ecx, word [eax + 0x2c]
mov word [eax + 0x2a], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x3e]
mov word [eax + 0x3c], cx
movzx ecx, word [eax + 0x2e]
mov word [eax + 0x2c], bx
lea ebx, [edx + ecx]
sub ecx, edx
mov word [eax + 0x2e], bx
movzx edx, word [eax + 0x50]
mov word [eax + 0x3e], cx
movzx ecx, word [eax + 0x40]
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x52]
mov word [eax + 0x50], cx
movzx ecx, word [eax + 0x42]
mov word [eax + 0x40], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x54]
mov word [eax + 0x52], cx
movzx ecx, word [eax + 0x44]
mov word [eax + 0x42], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x56]
mov word [eax + 0x54], cx
movzx ecx, word [eax + 0x46]
mov word [eax + 0x44], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x58]
mov word [eax + 0x56], cx
movzx ecx, word [eax + 0x48]
mov word [eax + 0x46], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x5a]
mov word [eax + 0x58], cx
movzx ecx, word [eax + 0x4a]
mov word [eax + 0x48], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x5c]
mov word [eax + 0x5a], cx
movzx ecx, word [eax + 0x4c]
mov word [eax + 0x4a], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x5e]
mov word [eax + 0x5c], cx
movzx ecx, word [eax + 0x4e]
mov word [eax + 0x4c], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x70]
mov word [eax + 0x5e], cx
movzx ecx, word [eax + 0x60]
mov word [eax + 0x4e], bx
lea ebx, [edx + ecx]
sub ecx, edx
mov word [eax + 0x60], bx
movzx edx, word [eax + 0x72]
mov word [eax + 0x70], cx
movzx ecx, word [eax + 0x62]
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x1c]
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x74]
mov word [eax + 0x72], cx
movzx ecx, word [eax + 0x64]
mov word [eax + 0x62], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x76]
mov word [eax + 0x74], cx
movzx ecx, word [eax + 0x66]
mov word [eax + 0x64], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x78]
mov word [eax + 0x76], cx
movzx ecx, word [eax + 0x68]
mov word [eax + 0x66], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x7a]
mov word [eax + 0x78], cx
movzx ecx, word [eax + 0x6a]
mov word [eax + 0x68], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x7c]
mov word [eax + 0x7a], cx
movzx ecx, word [eax + 0x6c]
mov word [eax + 0x6a], bx
lea ebx, [edx + ecx]
sub ecx, edx
movzx edx, word [eax + 0x7e]
mov word [eax + 0x7c], cx
movzx ecx, word [eax + 0x6e]
mov word [eax + 0x6c], bx
lea ebx, [edx + ecx]
sub ecx, edx
mov word [eax + 0x6e], bx
mov word [eax + 0x7e], cx
sub eax, 0xffffff80
mov dword [esp + 0x18], eax
jmp 0x6c50fd8c
movsx eax, word [ebp]
shl eax, 3
and eax, 0xffff
mov edx, eax
shl edx, 0x10
add eax, edx
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], eax
mov dword [ebp + 4], eax
mov dword [ebp], eax
add ebp, 0x10
cmp ebp, dword [esp + 0x18]
je 0x6c50ff47
mov eax, dword [ebp + 8]
movsx ecx, word [ebp + 2]
or eax, dword [ebp + 4]
or eax, dword [ebp + 0xc]
or eax, ecx
je 0x6c50fd60
movsx edx, word [ebp]
imul edi, ecx, 0x3249
movsx esi, word [ebp + 6]
mov eax, edx
shl eax, 0xe
sub eax, edx
movsx edx, word [ebp + 4]
add eax, 0x400
imul ebx, edx, 0x539f
add ebx, eax
mov dword [esp + 4], ebx
imul ebx, edx, 0x22a3
add ebx, eax
mov dword [esp], ebx
imul ebx, edx, 0xffffdd5d
imul edx, edx, 0xffffac61
add ebx, eax
add edx, eax
mov dword [esp + 0xc], edx
imul eax, esi, 0x4b42
imul edx, ecx, 0x58c5
mov dword [esp + 8], ebx
imul ebx, ecx, 0x4b42
imul ecx, ecx, 0x11a8
add edx, eax
imul eax, esi, 0xffffee58
add eax, ebx
imul ebx, esi, 0xffffa73b
imul esi, esi, 0xffffcdb7
add ebx, edi
add esi, ecx
mov ecx, dword [ebp + 0xc]
or ecx, dword [ebp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
je 0x6c50fec8
movsx ebx, word [ebp + 0xc]
movsx esi, word [ebp + 8]
imul edi, ebx, 0x22a3
mov ecx, esi
shl ecx, 0xe
sub ecx, esi
add edi, ecx
imul esi, esi, 0xffffc001
add dword [esp + 4], edi
imul edi, ebx, 0xffffac61
add edi, esi
add dword [esp], edi
imul edi, ebx, 0x539f
imul ebx, ebx, 0xffffdd5d
add esi, edi
add ebx, ecx
add dword [esp + 0xc], ebx
movsx ebx, word [ebp + 0xa]
add dword [esp + 8], esi
imul ecx, ebx, 0x3249
imul edi, ebx, 0x11a8
add edi, dword [esp + 0x10]
add edx, ecx
movsx ecx, word [ebp + 0xe]
imul esi, ecx, 0x11a8
add edx, esi
imul esi, ebx, 0xffffa73b
imul ebx, ebx, 0x4b42
add ebx, dword [esp + 0x14]
add eax, esi
imul esi, ecx, 0xffffcdb7
add eax, esi
imul esi, ecx, 0x4b42
imul ecx, ecx, 0xffffa73b
add esi, edi
add ecx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
add ecx, edx
sar ecx, 0xb
sub ebx, eax
mov word [ebp], cx
mov ecx, dword [esp + 4]
sub ecx, edx
mov edx, ecx
sar edx, 0xb
mov word [ebp + 0xe], dx
mov edx, dword [esp]
add edx, eax
mov eax, ebx
sar eax, 0xb
mov word [ebp + 0xc], ax
mov eax, dword [esp + 8]
sar edx, 0xb
add eax, dword [esp + 0x10]
mov word [ebp + 2], dx
sar eax, 0xb
mov word [ebp + 4], ax
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x10]
sar eax, 0xb
mov word [ebp + 0xa], ax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x14]
sar eax, 0xb
mov word [ebp + 6], ax
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x14]
sar eax, 0xb
mov word [ebp + 8], ax
add ebp, 0x10
cmp ebp, dword [esp + 0x18]
jne 0x6c50fd8c
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
add esi, esi
mov dword [esp + 4], esi
add eax, esi
lea edi, [edi + esi + 8]
neg esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea esi, [esi]
movsx ebx, word [edx + 0x40]
movsx edi, word [edx]
movsx esi, word [edx + 0x20]
movsx ecx, word [edx + 0x60]
lea ebp, [edi + ebx]
sub edi, ebx
shl ebp, 0xb
add ebp, 0x10000
imul ebx, ecx, 0x454
mov dword [esp], ebp
imul ecx, ecx, 0xfffff58c
imul ebp, esi, 0xa74
imul esi, esi, 0x454
shl edi, 0xb
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
test ecx, 0xffffff00
mov byte [esp + 0x10], cl
je 0x6c50ffd2
neg ecx
sar ecx, 0x1f
mov byte [esp + 0x10], cl
mov ebp, dword [esp + 0xc]
mov byte [eax + ebp], cl
lea ecx, [edi + esi]
sar ecx, 0x11
test ecx, 0xffffff00
mov ebp, ecx
je 0x6c50fff0
neg ecx
mov ebp, ecx
sar ebp, 0x1f
sub edi, esi
mov ecx, ebp
sar edi, 0x11
test edi, 0xffffff00
mov byte [eax], cl
mov ecx, edi
je 0x6c51000a
neg edi
mov ecx, edi
sar ecx, 0x1f
mov esi, dword [esp + 4]
mov byte [eax + esi], cl
mov ecx, dword [esp]
sub ecx, ebx
sar ecx, 0x11
test ecx, 0xffffff00
mov ebx, ecx
je 0x6c51002a
neg ecx
mov ebx, ecx
sar ebx, 0x1f
mov edi, dword [esp + 4]
mov byte [eax + edi*2], bl
movsx ebx, word [edx + 0x50]
movsx edi, word [edx + 0x10]
movsx esi, word [edx + 0x30]
movsx ecx, word [edx + 0x70]
lea ebp, [edi + ebx]
sub edi, ebx
shl ebp, 0xb
add ebp, 0x10000
imul ebx, ecx, 0x454
mov dword [esp], ebp
imul ecx, ecx, 0xfffff58c
imul ebp, esi, 0xa74
imul esi, esi, 0x454
shl edi, 0xb
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp]
mov dword [esp + 0x18], ebx
add ecx, ebx
sar ecx, 0x11
test ecx, 0xffffff00
mov byte [esp + 0x10], cl
je 0x6c510098
neg ecx
sar ecx, 0x1f
mov byte [esp + 0x10], cl
mov ebx, dword [esp + 0x3c]
mov ebp, eax
sub ebp, dword [esp + 4]
mov byte [ebp + ebx], cl
lea ecx, [edi + esi]
sar ecx, 0x11
test ecx, 0xffffff00
mov byte [esp + 0x10], cl
je 0x6c5100c5
mov ebx, dword [esp + 0x3c]
neg ecx
sar ecx, 0x1f
mov byte [esp + 0x10], cl
sub edi, esi
sar edi, 0x11
test edi, 0xffffff00
mov byte [eax + ebx], cl
mov ecx, edi
je 0x6c5100de
neg edi
mov ecx, edi
sar ecx, 0x1f
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 4]
add esi, eax
mov byte [esi + edi], cl
mov ecx, dword [esp]
sub ecx, dword [esp + 0x18]
sar ecx, 0x11
test ecx, 0xffffff00
mov ebx, ecx
je 0x6c510106
neg ecx
mov ebx, ecx
sar ebx, 0x1f
mov ebp, dword [esp + 4]
add edx, 2
add eax, 1
cmp eax, dword [esp + 8]
mov byte [esi + ebp*2], bl
jne 0x6c50ff70
add esp, 0x24
pop ebx
pop esi
pop edi
pop ebp
ret