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

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
push 0xffffffffffffffff
and dword [esp], edi
lea esp, [esp - 0xc]
mov dword [esp + 8], esi
lea esp, [esp + 8]
sub esp, 4
mov dword [esp], ecx
lea esp, [esp - 4]
xchg dword [esp], edx
mov edx, dword [esp]
push ebx
mov dword [ebp - 4], 0
sub esp, 4
xor dword [esp], ebp
xor ebp, dword [esp]
xor dword [esp], ebp
mov ebp, dword [esp]
push 0xffffffffffffffff
sub esp, 4
mov dword [esp], 0x7fe3844b
sub esp, 4
mov dword [esp], 0x7fe32e77
push 0xffffffffffffffff
call fcn.10037be4
or esi, 0xffffffff
inc esi
xor esi, dword [ebp + 8]
neg ebx
and ebx, dword [esi + 8]
or ebx, dword [esi + 8]
cmp word [ebx], 0x5a4d
jne 0x1003d216
lea esp, [esp - 4]
mov dword [esp], 0xf23dbb89
xor dword [esp], 0xf23dbbb5
add ebx, dword [esp]
lea esp, [esp + 4]
mov eax, dword [ebx]
push 0x38db5e0d
xor dword [esp], 0x38db5e31
sub ebx, dword [esp]
lea esp, [esp + 4]
shr eax, 1
shr eax, 0x1f
xor eax, ebx
lea eax, [eax + 0x3c]
add eax, 0
mov eax, dword [eax]
cmp eax, dword [esi + 0xc]
jae 0x1003d216
mov dword [esi + 0x20], eax
add ebx, eax
mov dword [esi + 0x24], ebx
shl eax, 7
shl eax, 0x19
add eax, dword [ebx + 0x34]
push 0
xor dword [esp], eax
pop dword [esi + 0x18]
cmp dword [ebx], 0x4550
jne 0x1003d216
cmp word [ebx + 4], 0x14c
jne 0x1003d216
movzx eax, word [ebx + 0x14]
lea eax, [eax + 0x18]
add eax, dword [esi + 0x20]
add eax, dword [esi + 8]
push edx
and edx, edx
and edx, esi
or edx, esi
lea edx, [edx + 0x10]
add edx, 0
mov dword [edx], eax
pop edx
test word [ebx + 0x16], 2
je 0x1003d216
test word [ebx + 0x16], 0x100
je 0x1003d216
cmp word [ebx + 0x18], 0x10b
jne 0x1003d216
cmp word [ebx + 6], 0
je 0x1003d216
push dword [esi + 8]
call fcn.1003d8c5
push 0
add dword [esp], ebx
xor ebx, ebx
or ebx, 0x5ef2e613
xchg dword [esp], ebx
and dword [esp], eax
or dword [esp], eax
push dword [esi + 8]
call fcn.1003d849
mov dword [esi + 0x28], eax
push dword [esi + 8]
call fcn.1003d945
push 0
or dword [esp], eax
push dword [esi + 8]
call fcn.1003d849
push edi
sub esp, 0x16
mov dword [esp + 0x12], 0xd7457175
add esp, 0x12
not edi
shl edi, 5
shl edi, 0x1b
add edi, dword [esp]
add esp, 4
xor edi, 0xd7457159
add edi, esi
mov dword [edi], eax
pop edi
push dword [esi + 8]
call fcn.1003da41
mov eax, dword [eax + 0xc]
push edi
xchg edi, esi
xor esi, 0x63aa5f29
mov esi, edi
add edi, 0x30
mov dword [edi], eax
pop edi
push dword [esi + 8]
call fcn.1003dabb
mov edx, dword [eax + 0xc]
mov dword [esi + 0x34], edx
sub esp, 0x17
xor dword [esp + 0x13], eax
xor eax, dword [esp + 0x13]
xor dword [esp + 0x13], eax
mov eax, dword [esp + 0x13]
add esp, 0x13
push dword [esi + 8]
call fcn.1003d7be
add eax, dword [esi + 0x34]
and dword [esi + 0x38], eax
or dword [esi + 0x38], eax
sub eax, dword [esi + 0x30]
lea esp, [esp - 0x26]
xchg dword [esp + 0x22], eax
mov eax, dword [esp + 0x22]
lea esp, [esp + 0x22]
pop dword [esi + 0x3c]
or eax, ebx
push dword [ebx + 0x38]
lea eax, [ebx]
sub eax, eax
add eax, dword [esp]
add esp, 4
mov dword [esi + 0x4c], eax
or edx, 0xffffffff
not edx
xor edx, dword [ebx + 0x3c]
push edi
or edi, 0xffffffff
not edi
sub edi, esi
dec edi
not edi
sub esp, 0x18
mov dword [esp + 0x14], 0x9a0c4574
add esp, 0x14
xor dword [esp], 0x9a0c453c
add edi, dword [esp]
lea esp, [esp + 4]
mov dword [edi], edx
pop edi
cmp eax, edx
jb 0x1003d216
push dword [esi + 8]
call fcn.1003d945
push eax
push eax
push dword [esi + 8]
call fcn.1003d849
xchg edx, eax
xor eax, ebx
mov eax, edx
shr eax, 0xb
shr eax, 0x15
sub eax, 0xffffffff
neg eax
and eax, dword [esp]
add esp, 4
push dword [eax + 0x10]
push dword [esi + 8]
call fcn.1003d675
add eax, edx
cmp dword [esi + 0xc], eax
jb 0x1003d216
je 0x1003d0e9
mov dword [esi + 0x14], 1
cmp word [ebx + 0x5c], 2
je 0x1003d10a
cmp word [ebx + 0x5c], 3
je 0x1003d10a
cmp word [ebx + 0x5c], 1
jne 0x1003d216
mov eax, dword [ebx + 0x28]
cmp eax, 0
je 0x1003d216
lea ecx, [eax]
push 0
xor dword [esp], eax
push dword [esi + 8]
call fcn.1003dbcd
cmp eax, 0
je 0x1003d216
sub ecx, dword [eax + 0xc]
mov dword [esi + 0x44], ecx
mov eax, dword [eax + 0xc]
push ebx
sub ebx, ebx
add ebx, esi
sub esp, 0x11
mov dword [esp + 0xd], 0x768c92d7
add esp, 0xd
xor dword [esp], 0x768c9297
add ebx, dword [esp]
lea esp, [esp + 4]
mov dword [ebx], eax
pop ebx
xor eax, eax
xchg ecx, ebx
xor ebx, ebx
mov ebx, ecx
sub esp, 4
mov dword [esp], 0x1ec5f366
xor dword [esp], 0x1ec5f312
add ecx, dword [esp]
lea esp, [esp + 4]
mov ecx, dword [ecx]
mov edx, ecx
or ecx, ecx
je 0x1003d1a5
lea edi, [ebx + 0x7c]
add eax, dword [edi]
lea edi, [edi + 8]
dec ecx
jne 0x1003d18a
cmp edx, 7
jb 0x1003d1a5
sub eax, dword [ebx + 0xac]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov eax, dword [esi + 0x30]
add eax, dword [esi + 0x18]
mov dword [esi + 0x1c], eax
mov ecx, dword [ebx + 0x74]
or ecx, ecx
je 0x1003d1d7
lea edi, [ebx + 0x78]
mov eax, dword [esi + 0x38]
cmp dword [edi], eax
ja 0x1003d216
lea edi, [edi + 8]
dec ecx
jne 0x1003d1c5
call fcn.10037ca0
mov dword [ebp - 4], 1
or eax, 0xffffffff
not eax
sub eax, dword [ebp - 4]
dec eax
not eax
xor ebx, edi
xor ebx, ebx
add ebx, dword [esp]
add esp, 4
pop edx
pop ecx
mov esi, dword [esp]
add esp, 4
xor dword [esp], edi
xor edi, dword [esp]
xor dword [esp], edi
mov dword [esp], edi
add esp, 4
leave
ret 4
call fcn.10037ca0
jmp 0x1003d1e3