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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov eax, dword [edx + 4]
mov esi, ecx
mov edi, 0xffff
mov ecx, eax
shr ecx, 0xc
and ecx, 0xf
mov dword [esi + 8], ecx
mov ecx, eax
and ecx, edi
mov dword [esi + 0xc], ecx
mov ecx, dword [edx + 8]
mov dword [esi + 0x10], ecx
mov ecx, dword [edx + 0x48]
test cl, 0x40
jne 0x408643
and edi, ecx
jmp 0x40867b
mov edi, ecx
test cl, 2
jne 0x408652
and edi, 0xffbf
jmp 0x40867b
test cl, 1
jne 0x408664
test cx, cx
js 0x40866f
and edi, 0xffbd
jmp 0x40867b
and edi, 0xffbc
or edi, 0x40
jmp 0x40867b
and edi, 0x7f3d
or edi, 0x80
sar ecx, 0x10
mov dword [esi + 0x38], edi
mov dword [esi + 0x34], ecx
mov ecx, dword [edx + 0x18]
movzx edx, cx
sar ecx, 0x10
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x408848
mov edx, dword [ecx + 0x60]
movsx edi, ax
mov byte [esi + 0x3c], 0
mov dword [esi + 0x40], 0
cmp edi, 0x3000
jle 0x4086df
lea edx, [eax - 0x4001]
cmp dx, 7
jbe 0x408717
lea edx, [eax - 0x3001]
cmp dx, 5
jb case.0x4086ee.2
add eax, 0xffff9fff
cmp ax, 4
jb case.0x4086ee.2
jmp 0x40881d
lea edi, [eax - 0x2001]
cmp di, 9
ja case.default.0x4086ee
movzx eax, di
jmp dword [eax*4 + 0x44f6b8]
cmp dword [ecx], 1
jne 0x40881d
cmp dword [ecx + 0x20], 5
je 0x40870e
cmp dword [ecx + 0x24], 5
jne 0x40881d
mov byte [esi + 0x3c], 1
jmp 0x40881d
movzx eax, dx
jmp dword [eax*4 + 0x44f6e0]
mov byte [esi + 0x3c], 1
mov dword [esi + 0x40], 0
jmp 0x40881d
lea ecx, [eax - 0x1003]
cmp cx, 2
jae 0x408775
mov byte [esi + 0x3c], 1
movzx eax, byte [esi + 0x29]
neg eax
jmp case.default.0x4087b9
cmp dword [ecx], 1
jne 0x40881d
cmp dword [ecx + 0x20], 5
je 0x408765
cmp dword [ecx + 0x24], 5
jne 0x40881d
mov byte [esi + 0x3c], 1
mov dword [esi + 0x40], 1
jmp 0x40881d
movzx eax, ax
cmp eax, 0x1005
jne 0x40881d
mov byte [esi + 0x3c], 1
movzx eax, byte [esi + 0x29]
jmp case.default.0x4087b9
cmp dword [ecx], 1
jne 0x40881d
cmp dword [ecx + 0x20], 5
je 0x4087a5
cmp dword [ecx + 0x24], 5
jne 0x40881d
mov byte [esi + 0x3c], 1
xor eax, eax
cmp dword [edx], 2
jne case.default.0x4087b9
mov ecx, dword [edx + 4]
dec ecx
cmp ecx, 3
ja case.default.0x4087b9
jmp dword [ecx*4 + 0x44f710]
mov eax, dword [edx + 0x10]
jmp case.default.0x4087b9
cmp dword [ecx], 1
jne 0x40881d
cmp dword [ecx + 0x20], 5
je 0x4087d6
cmp dword [ecx + 0x24], 5
jne 0x40881d
mov byte [esi + 0x3c], 1
xor eax, eax
cmp dword [edx], 2
jne case.default.0x4087f2
mov ecx, dword [edx + 4]
dec ecx
cmp ecx, 3
ja case.default.0x4087f2
jmp dword [ecx*4 + 0x44f700]
mov eax, dword [edx + 0x10]
jmp case.default.0x4087f2
mov byte [esi + 0x3c], 1
cmp dword [ecx], 1
jne 0x408816
cmp dword [ecx + 0x20], 5
je 0x40881d
cmp dword [ecx + 0x24], 5
je 0x40881d
movzx eax, byte [esi + 0x2a]
mov dword [esi + 0x40], eax
lea edi, [esi + 0x68]
push edi
push 0x4541e3
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x408844
push edi
push 0x454600
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
jne 0x408848
mov byte [esi + 0x3c], 1
pop esi
pop edi
pop ebp
ret
movsx eax, byte [edx + 0x10]
jmp case.default.0x4087b9
movsx eax, word [edx + 0x10]
jmp case.default.0x4087b9
movsx eax, byte [edx + 0x10]
jmp case.default.0x4087f2
movsx eax, word [edx + 0x10]
jmp case.default.0x4087f2