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

Disassembly:
push 0xffffffffffffffff
push 0x40073710
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
mov eax, ecx
mov dword [esp + 0x14], edx
push edi
lea ecx, [esp + 0x16]
mov dword [esp + 0x1c], eax
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x61
push ecx
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.40035370
mov dword [esp + 0x78], 0
cmp word [esp + 0x14], 0
jne 0x4003fbb8
xor edi, edi
jmp 0x4003fbc7
lea eax, [esp + 0x14]
push eax
call fcn.40054188
add esp, 4
mov edi, eax
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 0x28]
mov ebp, dword [esp + 0x28]
cmp ebx, 8
mov edx, dword [esp + 0x38]
mov esi, edi
cmovae ecx, ebp
cmp edx, edi
cmovb esi, edx
test esi, esi
je 0x4003fc05
lea edx, [esp + 0x14]
lea esp, [esp]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x4003fc14
add ecx, 2
add edx, 2
dec esi
jne 0x4003fbf0
mov edx, dword [esp + 0x38]
xor eax, eax
test eax, eax
jne 0x4003fc2f
cmp edx, edi
jae 0x4003fc26
or eax, 0xffffffff
jmp 0x4003fc2d
movzx eax, word [ecx]
cmp ax, word [edx]
mov edx, dword [esp + 0x38]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4003fc07
xor eax, eax
cmp edx, edi
setne al
test eax, eax
sete al
test al, al
je 0x4003fc46
mov ecx, dword [esp + 0x18]
xor eax, eax
xor esi, esi
mov word [ecx], ax
jmp 0x4003fdb8
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x22]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x41
push eax
lea eax, [esp + 0x48]
push eax
call fcn.40035370
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x26]
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x7c], 1
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x2c], 0x3b
push eax
call fcn.40035370
mov edx, dword [esp + 0x38]
xor edi, edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x28]
test edx, edx
js 0x4003fccc
mov esi, dword [esp + 0x40]
cmp edi, dword [esp + 0x50]
jg 0x4003fccc
cmp ebx, 8
lea eax, [esp + 0x28]
lea ecx, [esp + 0x40]
cmovae eax, ebp
cmp dword [esp + 0x54], 8
cmovae ecx, esi
mov ax, word [eax + edi*2]
cmp ax, word [ecx + edi*2]
jne 0x4003fccc
inc edi
cmp edi, edx
jle 0x4003fca1
dec edi
js 0x4003fd48
cmp ebx, 8
lea eax, [esp + 0x28]
cmovae eax, ebp
movzx eax, word [eax + edi*2]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x4003fd32
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.400403e0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.400403e0
cmp eax, esi
jne 0x4003fd2e
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x58]
call fcn.400403e0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.400403e0
cmp eax, esi
jne 0x4003fd2e
mov eax, dword [esp + 0x1c]
mov esi, 2
jmp 0x4003fd4d
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x50]
jne 0x4003fd48
cmp edx, dword [esp + 0x68]
jne 0x4003fd48
lea eax, [edi + 1]
mov esi, 1
jmp 0x4003fd4d
xor eax, eax
lea esi, [eax + 3]
cmp dword [esp + 0x6c], 8
mov ecx, dword [esp + 0x18]
mov word [ecx], ax
jb 0x4003fd6f
push dword [esp + 0x58]
call fcn.40053016
mov ebx, dword [esp + 0x40]
add esp, 4
mov ebp, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x6c], 7
cmp dword [esp + 0x54], 8
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
jb 0x4003fda1
push dword [esp + 0x40]
call fcn.40053016
mov ebx, dword [esp + 0x40]
add esp, 4
mov ebp, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], ax
cmp ebx, 8
jb 0x4003fdc6
push ebp
call fcn.40053016
add esp, 4
mov ecx, dword [esp + 0x70]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret