Function at 0x10006695
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0xb0]
sub esp, 0x130
mov eax, dword [0x1005a660]
xor eax, ebp
mov dword [ebp + 0xac], eax
mov eax, dword [ebp + 0xbc]
push ebx
push edi
mov edi, dword [ebp + 0xb8]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x70], eax
test eax, eax
je 0x100069bf
push esi
mov esi, 0xffff
mov dword [ebp - 0x64], esi
cmp eax, esi
jae 0x100066e1
movzx eax, ax
mov dword [ebp - 0x64], eax
jmp 0x10006702
cmp byte [eax], 0x23
jne 0x10006702
inc eax
push eax
call fcn.1002f7c4
pop ecx
cmp eax, esi
jae 0x10006702
test eax, eax
je 0x10006702
movzx ecx, ax
movzx eax, ax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x70], eax
test edi, edi
je 0x100069bc
mov eax, 0x5a4d
cmp word [edi], ax
jne 0x100069bc
mov eax, dword [edi + 0x3c]
add eax, edi
cmp dword [eax], 0x4550
mov dword [ebp - 0x68], eax
jne 0x100069bc
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
push eax
push 0
push dword [ebp + 0xc0]
push edi
call fcn.100063f4
mov ebx, eax
mov dword [ebp - 0x60], ebx
test ebx, ebx
je 0x100069bc
cmp dword [ebp - 0x5c], 0
je 0x100069bc
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x100069bc
cmp dword [ebp - 0x5c], 0x28
ja 0x10006783
mov eax, dword [ebx + 0x18]
cmp ecx, eax
jbe 0x10006773
mov eax, ecx
imul eax, eax, 0xff
add eax, dword [ebx + 0x24]
sub eax, ebx
add eax, edi
mov dword [ebp - 0x5c], eax
cmp byte [ebp + 0xc0], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x24]
je 0x1000679f
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x6c], ecx
jmp 0x100067ae
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100064e1
mov dword [ebp - 0x6c], eax
cmp byte [ebp + 0xc0], 0
je 0x100067be
mov eax, dword [ebp - 0x58]
add eax, esi
jmp 0x100067ca
push esi
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100064e1
cmp byte [ebp + 0xc0], 0
mov dword [ebp - 0x78], eax
je 0x100067dd
mov eax, dword [ebp - 0x58]
add eax, edi
jmp 0x100067e9
push edi
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100064e1
xor ecx, ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x74], ecx
cmp dword [ebx + 0x14], ecx
jbe 0x100069bc
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + ecx*2]
mov edx, dword [ebp - 0x78]
mov esi, dword [edx + eax*4]
mov dword [ebp - 0x80], eax
test esi, esi
je 0x100069ac
cmp byte [ebp + 0xc0], 0
mov eax, dword [ebp - 0x6c]
je 0x10006826
mov edi, dword [eax + ecx*4]
add edi, dword [ebp - 0x58]
jmp 0x10006836
push dword [eax + ecx*4]
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100064e1
mov edi, eax
cmp byte [ebp + 0xc0], 0
je 0x10006847
mov eax, dword [ebp - 0x58]
lea ebx, [eax + esi]
jmp 0x10006855
push esi
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100064e1
mov ebx, eax
cmp byte [ebp + 0xc0], 0
je 0x1000696c
mov eax, dword [ebp - 0x60]
cmp ebx, eax
jbe 0x1000696c
mov ecx, dword [ebp - 0x5c]
add eax, ecx
cmp ebx, eax
jae 0x1000696c
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000687f
sub eax, edx
lea esi, [eax + 1]
cmp esi, 0x100
jae 0x100069a9
push esi
lea eax, [ebp - 0x54]
push ebx
push eax
call fcn.1002f7d0
add esp, 0xc
xor ecx, ecx
xor eax, eax
test esi, esi
jbe 0x100069a9
cmp byte [ebp + eax - 0x54], 0x2e
je 0x100068c2
inc eax
cmp eax, esi
jb 0x100068b1
jmp 0x100069a9
lea esi, [eax + ebx + 1]
mov byte [ebp + eax - 0x54], 0
test esi, esi
je 0x100069a9
cmp byte [esi], 0x23
jne 0x100068dd
lea ecx, [esi + 1]
xor esi, esi
test esi, esi
je 0x1000691d
mov eax, dword [ebp - 0x70]
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10006904
test dl, dl
je 0x10006900
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10006904
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x100068e6
xor eax, eax
jmp 0x10006909
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100069a9
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
jmp 0x1000695d
test ecx, ecx
je 0x100069a9
mov eax, 0xffff
cmp word [ebp - 0x64], ax
jae 0x100069a9
push ecx
call fcn.1002f7c4
mov esi, eax
pop ecx
cmp esi, 0xffff
ja 0x100069a9
test esi, esi
je 0x100069a9
movzx eax, word [ebp - 0x64]
cmp esi, eax
jne 0x100069a9
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
and esi, 0xffff
push dword [ebp + 0xc0]
push esi
push eax
call fcn.10006695
jmp 0x100069be
mov eax, dword [ebp - 0x70]
cmp eax, 0xffff
jbe 0x1000699d
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x10006994
test cl, cl
je 0x10006990
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x10006994
inc eax
inc eax
inc edi
inc edi
test cl, cl
jne 0x10006976
xor eax, eax
jmp 0x10006999
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100069d8
mov eax, dword [ebp - 0x80]
movzx ecx, word [ebp - 0x64]
inc eax
cmp eax, ecx
je 0x100069d8
mov ebx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x74]
inc ecx
mov dword [ebp - 0x74], ecx
cmp ecx, dword [ebx + 0x14]
jb 0x100067fa
xor eax, eax
pop esi
mov ecx, dword [ebp + 0xac]
pop edi
xor ecx, ebp
pop ebx
call fcn.1002e5ac
add ebp, 0xb0
leave
ret 0xc
mov eax, ebx
jmp 0x100069be