Function at 0x10039c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push ebx
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov word [esp + 0x72], 0x731f
mov edx, dword [esp + 0x74]
mov dword [esp + 0x6c], 0x1be2049f
mov dword [esp + 0x40], 0x682fed4c
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov ebx, esi
mov dword [esp + 0x30], ecx
mov cl, bl
mov dword [esp + 0x2c], eax
mov eax, edi
shr eax, cl
mov cl, bl
mov dword [esp + 0x28], eax
mov eax, esi
shrd eax, edi, cl
xor ecx, ecx
test bl, 0x20
mov ebx, dword [esp + 0x28]
cmovne eax, ebx
cmovne ebx, ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
call fcn.01003730
mov eax, dword [eax + 0xc]
mov ecx, eax
add ecx, 0x14
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x2c]
cmp edx, 0
setne dl
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], 0
cmp eax, ecx
mov dword [esp + 0x18], ecx
mov byte [esp + 0x17], dl
je 0x1003bbe
jmp 0x1003c8f
mov al, byte [esp + 0x47]
test al, 1
jne 0x1003bd7
jmp 0x1003b23
mov eax, dword [esp + 0x68]
mov cx, word [esp + 0x72]
mov dx, 0x733f
sub dx, cx
mov si, dx
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x3c]
movzx eax, word [edi + eax*2]
mov cx, ax
mov edi, eax
add edi, 0xffffffbf
mov ebx, dword [esp + 0x1c]
add ebx, 0x1851b090
mov dx, di
movzx edi, dx
add eax, esi
sub edi, 0x1a
mov dword [esp + 0x74], ebx
mov dx, ax
cmovb cx, dx
mov word [esp + 0x5a], cx
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x6c]
mov ebx, 0x36468181
sub ebx, esi
mov esi, dword [esp + 0x30]
mov cx, word [esi + eax*2]
mov eax, dword [esp + 0x40]
mov word [esp + 0x66], cx
mov esi, dword [esp + 0x20]
not esi
mov ecx, dword [esp + 0x24]
not ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x1c]
imul ecx, ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x48], 0
cmp ebx, eax
mov dword [esp + 0x10], edi
jae 0x1003bbe
jmp 0x1003b64
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0x3a4f3751
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x1003bbe
jmp 0x1003c8f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
xor ecx, 0x3352f3ef
cmp eax, ecx
ja 0x1003bca
movzx eax, word [esp + 0x5a]
movzx ecx, word [esp + 0x66]
sub ecx, eax
sete byte [esp + 0x47]
mov dx, word [esp + 0x5a]
test dx, dx
setne bl
mov bh, byte [esp + 0x47]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov esi, dword [esp + 0x20]
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x54]
add eax, 1
cmp eax, edi
setb dl
and bh, bl
and bh, dl
mov dword [esp + 0x68], eax
test bh, 1
mov dword [esp + 0xc], ecx
jne 0x1003a82
jmp 0x1003a71
mov eax, dword [esp + 0x48]
lea esp, [ebp - 0xc]
pop esi
pop ebx
pop edi
pop ebp
ret
mov eax, dword [esp + 0x60]
add eax, 0xfffffff8
mov dword [esp + 0x48], eax
jmp 0x1003bbe
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
xor eax, 0xffffffff
mov dword [esp + 0x74], eax
jmp 0x1003bbe
mov eax, 0xeca5c33
mov ecx, dword [esp + 0x4c]
mov dx, word [ecx]
shr dx, 1
mov ecx, dword [esp + 0x1c]
xor ecx, 0xffffffff
mov dword [esp + 0x74], ecx
mov word [esp + 0x52], dx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], 0
cmp eax, ecx
jae 0x1003c8f
mov eax, dword [esp + 0x20]
mov cl, al
mov byte [esp + 0xb], cl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
shrd eax, edx, cl
mov cl, byte [esp + 0xb]
shr edx, cl
xor esi, esi
mov cl, byte [esp + 0xb]
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
xor esi, 0x1be2049f
movzx eax, word [esp + 0x52]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
not eax
mov edx, dword [esp + 0x24]
not edx
mov di, word [esp + 0x52]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], esi
cmp di, 0
je 0x1003b23
jmp 0x1003a82
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov ecx, eax
add ecx, 0x24
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov ecx, eax
add ecx, 0x10
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x2c]
sub eax, ecx
sete dl
mov esi, dword [esp + 0x20]
not esi
mov edi, dword [esp + 0x24]
not edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], esi
mov dh, byte [esp + 0x17]
and dh, dl
test dh, 1
mov dword [esp + 4], eax
jne 0x1003b52
jmp 0x1003bee