Function at 0x12d76c4
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ecx, 0x5a4d
mov edx, 0x10b
cmp word [esi], cx
jne 0x12d79a4
mov eax, dword [esi + 0x3c]
add eax, esi
cmp dword [eax], 0x4550
jne 0x12d79a4
cmp word [eax + 0x18], dx
jne 0x12d79a4
mov edx, dword [eax + 0x78]
mov dword [ebp - 4], edx
test edx, edx
je 0x12d7996
mov eax, dword [eax + 0x7c]
add eax, edx
mov dword [ebp - 0x18], eax
je 0x12d7996
mov ecx, dword [edx + esi + 0x1c]
mov ebx, dword [edx + esi + 0x20]
add ecx, esi
mov eax, dword [edx + esi + 0x24]
add ebx, esi
add eax, esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ebx
xor edi, edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edi
cmp edi, dword [edx + esi + 0x14]
jae 0x12d7988
mov ecx, dword [ecx + edi*4]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x12d77cf
mov edx, dword [edx + esi + 0x18]
xor ecx, ecx
test edx, edx
je 0x12d77cc
movzx eax, word [eax + ecx*2]
cmp eax, edi
je 0x12d7774
mov eax, dword [ebp - 0xc]
inc ecx
cmp ecx, edx
jb 0x12d775b
mov edx, dword [ebp - 4]
inc edi
mov ecx, dword [ebp - 0x20]
jmp 0x12d773a
mov esi, dword [ebx + ecx*4]
mov edx, dword [ebp + 0xc]
add esi, edx
je 0x12d77c6
mov bl, byte [esi]
mov eax, 0x15389724
test bl, bl
je 0x12d77be
mov edi, eax
lea eax, [ebx + 0x20]
lea edx, [ebx - 0x41]
movzx ecx, al
cmp dl, 0x19
movzx eax, bl
mov bl, byte [esi + 1]
lea esi, [esi + 1]
cmova ecx, eax
imul edi, edi, 0x1003f
movsx ecx, cl
add edi, ecx
test bl, bl
jne 0x12d778b
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0x10]
je 0x12d77d8
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
inc edi
jmp 0x12d773a
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 4]
jb 0x12d7976
cmp ecx, dword [ebp - 0x18]
jae 0x12d7976
add ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x70]
mov edx, 0x50
mov bl, byte [ecx]
test bl, bl
je 0x12d7808
mov byte [eax], bl
dec edx
inc eax
inc ecx
cmp edx, 1
ja 0x12d77f8
mov byte [eax], 0
xor edx, edx
lea eax, [ebp - 0x70]
xor esi, esi
nop
mov bl, byte [eax]
mov ecx, eax
test bl, bl
je 0x12d782b
inc eax
inc esi
cmp bl, 0x2e
cmovne ecx, edx
mov edx, ecx
cmp esi, 0x4f
jb 0x12d7814
test edx, edx
je 0x12d7968
lea eax, [ebp - 0xc0]
mov byte [edx], 0
lea esi, [edx + 1]
mov ebx, eax
mov ecx, 0x50
sub esi, ebx
mov bl, byte [esi + eax]
test bl, bl
je 0x12d7858
mov byte [eax], bl
dec ecx
inc eax
cmp ecx, 1
ja 0x12d7848
mov byte [eax], 0
lea eax, [ebp - 0x70]
push 0xcaffca3d
mov dword [edx], 0x6c6c642e
push eax
mov byte [edx + 4], 0
call fcn.012d79b4
mov esi, dword fs:[0x30]
xor edx, edx
mov dword [ebp - 0x14], eax
mov dword [ebp + 0xc], 0
mov dword [ebp + 0x10], esi
mov dword [ebp - 8], edx
cmp dword [ebp + 0x14], edx
je 0x12d78b5
call fcn.012d9854
mov ecx, dword [eax + 0x6e4]
mov edx, dword [eax + 0x6e8]
mov dword [ebp - 8], edx
test ecx, ecx
je 0x12d78b5
test edx, edx
je 0x12d78b5
push dword [esi + 0xa0]
call ecx
mov ecx, dword [esi + 0xc]
add ecx, 0xc
mov dword [ebp - 0x18], ecx
mov ebx, dword [ecx]
cmp ebx, ecx
je 0x12d7925
mov ax, word [ebx + 0x2c]
xor edi, edi
mov esi, dword [ebx + 0x30]
mov edx, 0xcaffca3d
shr ax, 1
movzx eax, ax
cmp di, ax
jae 0x12d790f
mov edi, eax
nop dword [eax + eax]
movzx ecx, word [esi]
mov eax, ecx
cmp ecx, 0x41
jb 0x12d78f9
cmp eax, 0x5a
ja 0x12d78f9
add eax, 0x20
movzx eax, ax
imul edx, edx, 0x1003f
add esi, 2
movzx eax, ax
add edx, eax
sub edi, 1
jne 0x12d78e4
mov ecx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
je 0x12d791c
mov ebx, dword [ebx]
cmp ebx, ecx
jne 0x12d78c4
jmp 0x12d7922
mov eax, dword [ebx + 0x18]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 0x10]
cmp dword [ebp + 0x14], 0
je 0x12d793a
mov eax, dword [ebp - 8]
test eax, eax
je 0x12d793a
push dword [esi + 0xa0]
call eax
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x12d795a
push 0x15389724
lea eax, [ebp - 0xc0]
push eax
call fcn.012d79b4
mov dword [ebp + 0x10], eax
jmp 0x12d76d3
pop edi
pop esi
mov eax, 0xe041000d
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0xe041000c
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 8]
add ecx, edx
pop edi
pop esi
pop ebx
mov dword [eax], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0xe041000e
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0xe041000b
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0xe041000a
pop ebx
mov esp, ebp
pop ebp
ret 0x10