Function at 0x12f8e00
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 0x12f90e0
mov eax, dword [esi + 0x3c]
add eax, esi
cmp dword [eax], 0x4550
jne 0x12f90e0
cmp word [eax + 0x18], dx
jne 0x12f90e0
mov edx, dword [eax + 0x78]
mov dword [ebp - 4], edx
test edx, edx
je 0x12f90d2
mov eax, dword [eax + 0x7c]
add eax, edx
mov dword [ebp - 0x18], eax
je 0x12f90d2
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 0x12f90c4
mov ecx, dword [ecx + edi*4]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x12f8f0b
mov edx, dword [edx + esi + 0x18]
xor ecx, ecx
test edx, edx
je 0x12f8f08
movzx eax, word [eax + ecx*2]
cmp eax, edi
je 0x12f8eb0
mov eax, dword [ebp - 0xc]
inc ecx
cmp ecx, edx
jb 0x12f8e97
mov edx, dword [ebp - 4]
inc edi
mov ecx, dword [ebp - 0x20]
jmp 0x12f8e76
mov esi, dword [ebx + ecx*4]
mov edx, dword [ebp + 0xc]
add esi, edx
je 0x12f8f02
mov bl, byte [esi]
mov eax, 0x15389724
test bl, bl
je 0x12f8efa
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 0x12f8ec7
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 0x12f8f14
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 0x12f8e76
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 4]
jb 0x12f90b2
cmp ecx, dword [ebp - 0x18]
jae 0x12f90b2
add ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x70]
mov edx, 0x50
mov bl, byte [ecx]
test bl, bl
je 0x12f8f44
mov byte [eax], bl
dec edx
inc eax
inc ecx
cmp edx, 1
ja 0x12f8f34
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 0x12f8f67
inc eax
inc esi
cmp bl, 0x2e
cmovne ecx, edx
mov edx, ecx
cmp esi, 0x4f
jb 0x12f8f50
test edx, edx
je 0x12f90a4
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 0x12f8f94
mov byte [eax], bl
dec ecx
inc eax
cmp ecx, 1
ja 0x12f8f84
mov byte [eax], 0
lea eax, [ebp - 0x70]
push 0xcaffca3d
mov dword [edx], 0x6c6c642e
push eax
mov byte [edx + 4], 0
call fcn.012f90f0
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 0x12f8ff1
call fcn.012fa890
mov ecx, dword [eax + 0x6e8]
mov edx, dword [eax + 0x6ec]
mov dword [ebp - 8], edx
test ecx, ecx
je 0x12f8ff1
test edx, edx
je 0x12f8ff1
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 0x12f9061
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 0x12f904b
mov edi, eax
nop dword [eax + eax]
movzx ecx, word [esi]
mov eax, ecx
cmp ecx, 0x41
jb 0x12f9035
cmp eax, 0x5a
ja 0x12f9035
add eax, 0x20
movzx eax, ax
imul edx, edx, 0x1003f
add esi, 2
movzx eax, ax
add edx, eax
sub edi, 1
jne 0x12f9020
mov ecx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
je 0x12f9058
mov ebx, dword [ebx]
cmp ebx, ecx
jne 0x12f9000
jmp 0x12f905e
mov eax, dword [ebx + 0x18]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 0x10]
cmp dword [ebp + 0x14], 0
je 0x12f9076
mov eax, dword [ebp - 8]
test eax, eax
je 0x12f9076
push dword [esi + 0xa0]
call eax
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x12f9096
push 0x15389724
lea eax, [ebp - 0xc0]
push eax
call fcn.012f90f0
mov dword [ebp + 0x10], eax
jmp 0x12f8e0f
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