Function at 0x3c1a030
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 0x3c1a310
mov eax, dword [esi + 0x3c]
add eax, esi
cmp dword [eax], 0x4550
jne 0x3c1a310
cmp word [eax + 0x18], dx
jne 0x3c1a310
mov edx, dword [eax + 0x78]
mov dword [ebp - 4], edx
test edx, edx
je 0x3c1a302
mov eax, dword [eax + 0x7c]
add eax, edx
mov dword [ebp - 0x18], eax
je 0x3c1a302
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 0x3c1a2f4
mov ecx, dword [ecx + edi*4]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x3c1a13b
mov edx, dword [edx + esi + 0x18]
xor ecx, ecx
test edx, edx
je 0x3c1a138
movzx eax, word [eax + ecx*2]
cmp eax, edi
je 0x3c1a0e0
mov eax, dword [ebp - 0xc]
inc ecx
cmp ecx, edx
jb 0x3c1a0c7
mov edx, dword [ebp - 4]
inc edi
mov ecx, dword [ebp - 0x20]
jmp 0x3c1a0a6
mov esi, dword [ebx + ecx*4]
mov edx, dword [ebp + 0xc]
add esi, edx
je 0x3c1a132
mov bl, byte [esi]
mov eax, 0x15389724
test bl, bl
je 0x3c1a12a
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 0x3c1a0f7
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 0x3c1a144
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 0x3c1a0a6
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 4]
jb 0x3c1a2e2
cmp ecx, dword [ebp - 0x18]
jae 0x3c1a2e2
add ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x70]
mov edx, 0x50
mov bl, byte [ecx]
test bl, bl
je 0x3c1a174
mov byte [eax], bl
dec edx
inc eax
inc ecx
cmp edx, 1
ja 0x3c1a164
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 0x3c1a197
inc eax
inc esi
cmp bl, 0x2e
cmovne ecx, edx
mov edx, ecx
cmp esi, 0x4f
jb 0x3c1a180
test edx, edx
je 0x3c1a2d4
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 0x3c1a1c4
mov byte [eax], bl
dec ecx
inc eax
cmp ecx, 1
ja 0x3c1a1b4
mov byte [eax], 0
lea eax, [ebp - 0x70]
push 0xcaffca3d
mov dword [edx], 0x6c6c642e
push eax
mov byte [edx + 4], 0
call fcn.03c1a320
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 0x3c1a221
call fcn.03c1b980
mov ecx, dword [eax + 0x6ec]
mov edx, dword [eax + 0x6f0]
mov dword [ebp - 8], edx
test ecx, ecx
je 0x3c1a221
test edx, edx
je 0x3c1a221
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 0x3c1a291
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 0x3c1a27b
mov edi, eax
nop dword [eax + eax]
movzx ecx, word [esi]
mov eax, ecx
cmp ecx, 0x41
jb 0x3c1a265
cmp eax, 0x5a
ja 0x3c1a265
add eax, 0x20
movzx eax, ax
imul edx, edx, 0x1003f
add esi, 2
movzx eax, ax
add edx, eax
sub edi, 1
jne 0x3c1a250
mov ecx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
je 0x3c1a288
mov ebx, dword [ebx]
cmp ebx, ecx
jne 0x3c1a230
jmp 0x3c1a28e
mov eax, dword [ebx + 0x18]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 0x10]
cmp dword [ebp + 0x14], 0
je 0x3c1a2a6
mov eax, dword [ebp - 8]
test eax, eax
je 0x3c1a2a6
push dword [esi + 0xa0]
call eax
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x3c1a2c6
push 0x15389724
lea eax, [ebp - 0xc0]
push eax
call fcn.03c1a320
mov dword [ebp + 0x10], eax
jmp 0x3c1a03f
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