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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x10006040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x11c], edx
push esi
push edi
test ebx, ebx
je 0x10001afe
test edx, edx
je 0x10001afe
mov eax, 0x5a4d
cmp word [ebx], ax
jne 0x10001afe
mov eax, dword [ebx + 0x3c]
cmp dword [eax + ebx], 0x4550
jne 0x10001afe
mov esi, dword [eax + ebx + 0x78]
mov dword [ebp - 0x110], esi
test esi, esi
je 0x10001afe
mov edi, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], 0xffffffff
cmp edx, 0xffff
ja 0x100019f5
mov ecx, edx
sub ecx, dword [ebx + esi + 0x10]
jmp 0x10001abf
mov eax, dword [ebx + esi + 0x18]
test eax, eax
je 0x10001ab9
lea edi, [eax - 1]
xor ecx, ecx
mov eax, dword [ebx + esi + 0x20]
add eax, ebx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x120], eax
test edi, edi
js 0x10001ab3
lea esi, [edi + ecx]
mov ecx, edx
sar esi, 1
mov eax, dword [eax + esi*4]
add eax, ebx
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10001a50
test dl, dl
je 0x10001a4c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10001a50
add ecx, 2
add eax, 2
test dl, dl
jne 0x10001a30
xor eax, eax
jmp 0x10001a55
sbb eax, eax
or eax, 1
cmp eax, 0xffffffff
je 0x10001a90
test eax, eax
je 0x10001a6e
cmp eax, 1
jne 0x10001a93
lea ecx, [esi + 1]
mov dword [ebp - 0x10c], ecx
jmp 0x10001a99
lea ecx, [ebx + esi*2]
mov esi, dword [ebp - 0x110]
mov eax, dword [ebx + esi + 0x24]
movzx eax, word [ecx + eax]
lea ecx, [edi + 1]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x10c], ecx
jmp 0x10001a9f
lea edi, [esi - 1]
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp ecx, edi
jle 0x10001a20
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebx + esi + 0x14]
jae 0x10001afe
mov eax, dword [ebx + esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
test ecx, ecx
je 0x10001afe
cmp ecx, esi
jb 0x10001bc7
lea eax, [edi + esi]
cmp ecx, eax
jae 0x10001bc7
mov al, byte [ebx + ecx]
lea edi, [ebx + ecx]
mov esi, edi
test al, al
je 0x10001afe
cmp al, 0x2e
je 0x10001b11
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10001af2
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100022d3
mov esp, ebp
pop ebp
ret
mov edx, esi
sub edx, edi
cmp edx, 0x104
jae 0x10001afe
xor eax, eax
test edx, edx
je 0x10001b41
mov cl, byte [edi + eax]
test cl, cl
je 0x10001b36
mov byte [ebp + eax - 0x108], cl
inc eax
cmp eax, edx
jb 0x10001b23
cmp eax, 0x104
jae 0x10001bdb
lea ecx, [ebp - 0x108]
mov byte [ebp + eax - 0x108], 0
call fcn.10001890
mov edi, eax
test edi, edi
je 0x10001afe
cmp edi, ebx
jne 0x10001b7c
mov edx, dword [ebp - 0x11c]
mov ecx, ebx
call fcn.10001970
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100022d3
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 0x23
lea edx, [esi + 1]
jne 0x10001baf
mov dl, byte [esi + 2]
add esi, 2
xor ecx, ecx
test dl, dl
je 0x10001bad
lea eax, [edx - 0x30]
lea esi, [esi + 1]
cmp al, 9
ja 0x10001bad
movsx eax, dl
lea ecx, [ecx + ecx*4]
mov dl, byte [esi]
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
test dl, dl
jne 0x10001b91
mov edx, ecx
mov ecx, edi
call fcn.10001970
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100022d3
mov esp, ebp
pop ebp
ret
lea eax, [ebx + ecx]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100022d3
mov esp, ebp
pop ebp
ret
call fcn.10002403
int3