Function at 0x10394c7
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
push ebx
push esi
push edi
lea eax, [0x1038491]
mov dword [ebp - 0x14], eax
lea edx, [0x1038491]
mov ecx, dword [0x114b204]
add ecx, 0xd
mov eax, edx
shr eax, cl
mov edx, dword [0x114b17c]
add edx, 0xa
movsx ecx, word [0x114b240]
add edx, ecx
mov ecx, edx
mov ebx, eax
shl ebx, cl
mov dword [ebp - 0x18], ebx
mov eax, ebx
cmp word [eax], 0x5a4d
je 0x1039527
mov eax, dword [0x114b0d4]
add eax, 0xfff1
add eax, dword [0x114b26c]
sub ebx, eax
jmp 0x1039507
mov eax, dword [0x114b114]
add eax, 0x35
add eax, dword [0x114b230]
mov esi, eax
add esi, ebx
mov eax, dword [esi]
add eax, ebx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jbe 0x1039560
movsx eax, word [0x114b15c]
movsx edx, word [0x114b224]
lea eax, [eax + edx + 0xfffb]
sub ebx, eax
jmp 0x1039507
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
movzx eax, word [eax]
cmp eax, 0x4550
je 0x103957e
mov eax, dword [0x114b1b4]
add eax, 0xffff
sub ebx, eax
jmp 0x1039507
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0xc], eax
mov eax, dword [0x114b13c]
add eax, dword [0x114b128]
sub eax, 0x10
mov dword [ebp - 4], eax
jmp 0x1039716
mov eax, dword [ebp - 4]
add eax, ebx
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x130], eax
movsx eax, word [0x114b12c]
sub eax, 5
mov edx, dword [ebp - 0x130]
cmp eax, dword [edx]
je 0x1039728
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 0xc]
add eax, ebx
mov dword [ebp - 0x134], eax
push eax
lea eax, [ebp - 0x12b]
push eax
call fcn.0104199c
movsx eax, word [0x114b170]
movsx edx, word [0x114b168]
add eax, edx
sub eax, 5
mov dword [ebp - 0x28], eax
jmp 0x103961e
mov eax, dword [ebp - 0x28]
mov al, byte [ebp + eax - 0x12b]
cmp al, 0x7a
jge 0x103961b
cmp al, 0x61
jle 0x103961b
mov eax, dword [ebp - 0x28]
lea eax, [ebp + eax - 0x12b]
sub byte [eax], 0x20
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
movsx eax, byte [ebp + eax - 0x12b]
mov edx, dword [0x114b230]
sub edx, 5
cmp eax, edx
jne 0x10395fc
mov eax, dword [0x114b1fc]
add eax, dword [0x114b1f0]
cmp byte [ebp + eax - 0x12f], 0x4c
jne 0x1039712
mov eax, dword [0x114b0b8]
cmp byte [ebp + eax - 0x132], 0x45
jne 0x1039712
mov edx, dword [0x114b0dc]
cmp byte [ebp + edx - 0x130], 0x52
jne 0x1039712
mov edx, dword [0x114b204]
cmp byte [ebp + edx - 0x128], 0x33
jne 0x1039712
mov edx, dword [0x114b0fc]
cmp byte [ebp + edx - 0x12d], 0x4b
jne 0x1039712
add eax, dword [0x114b230]
cmp byte [ebp + eax - 0x131], 0x32
jne 0x1039712
mov eax, dword [ebp - 0x130]
mov edx, ebx
add edx, dword [eax + 0x10]
mov dword [ebp - 0x13c], edx
mov eax, dword [0x114b0d4]
sub eax, 7
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov esi, eax
add esi, dword [ebp - 0x13c]
mov edi, dword [esi]
movsx eax, word [0x114b1ac]
movsx edx, word [0x114b1c8]
add eax, edx
sub eax, 0xd
cmp eax, edi
je 0x1039728
push edi
call fcn.0103eb66
pop ecx
cmp dword [0x114b27c], 0
jne 0x1039728
mov eax, dword [0x114b148]
sub eax, 3
add dword [ebp - 0x138], eax
jmp 0x10396c9
add dword [ebp - 4], 0x14
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x84]
cmp dword [ebp - 4], eax
jb 0x10395a0
movsx eax, word [0x114b140]
sub eax, 5
cmp dword [0x114b27c], eax
je 0x103979a
call fcn.0103c34e
call fcn.01040e57
call fcn.01039b57
mov edx, eax
mov byte [ebp - 0x19], dl
movsx eax, word [0x114b168]
sub eax, 2
movzx edx, byte [ebp - 0x19]
cmp eax, edx
je 0x103979a
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x114b0b4]
add eax, dword [0x114b160]
sub eax, 9
push eax
lea eax, [ebp - 0x24]
push eax
push 0x1038491
mov eax, dword [0x114b1f0]
sub eax, 9
push eax
mov eax, dword [0x114b250]
add eax, dword [0x114b1b8]
sub eax, 9
push eax
call dword [fcn.0114a020]
pop edi
pop esi
pop ebx
leave
ret