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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x98
mov cl, byte [eax]
mov dl, cl
and dl, 0xf0
cmp dl, 0xd0
je 0x404650
or eax, 0xffffffff
add esp, 0x98
ret
and cl, 0xf
push esi
movzx si, cl
mov cl, byte [eax + 1]
shl esi, 2
inc eax
mov dl, cl
shr dl, 6
movzx dx, dl
and cl, 0x3f
or si, dx
movzx cx, cl
inc eax
mov word [esp + 0x26], cx
mov word [esp + 0x24], si
mov cl, byte [eax]
mov dl, cl
and cl, 7
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 3
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x28], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
and cl, 3
mov word [esp + 0x2a], si
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 2
and dl, 0xf
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x2c], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x32], cx
mov word [esp + 0x30], dx
mov word [esp + 0x2e], si
mov cl, byte [eax]
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0xc], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
and cl, 0x1f
mov word [esp + 4], si
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 5
and dl, 3
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x14], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x1c], si
movzx dx, dl
mov word [esp + 0x34], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x36], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x3c], cx
mov word [esp + 0x3a], dx
mov word [esp + 0x38], si
mov cl, byte [eax]
mov dl, cl
shr dl, 5
movzx dx, dl
mov word [esp + 0x3e], dx
mov dl, cl
and cl, 3
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 2
and dl, 7
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x40], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x42], si
movzx dx, dl
mov word [esp + 0x44], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x46], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and dl, 7
and cl, 7
movzx dx, dl
movzx cx, cl
mov word [esp + 0x48], si
mov word [esp + 0x4a], dx
mov word [esp + 0x4c], cx
inc eax
mov cl, byte [eax]
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0xe], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
and cl, 0x1f
mov word [esp + 6], si
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 5
and dl, 3
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x16], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x1e], si
movzx dx, dl
mov word [esp + 0x4e], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x50], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x56], cx
mov word [esp + 0x54], dx
mov word [esp + 0x52], si
mov cl, byte [eax]
mov dl, cl
shr dl, 5
movzx dx, dl
mov word [esp + 0x58], dx
mov dl, cl
and cl, 3
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 2
and dl, 7
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x5a], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
mov word [esp + 0x5c], si
shr dl, 4
and dl, 7
movzx dx, dl
mov word [esp + 0x5e], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x60], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x66], cx
mov word [esp + 0x64], dx
mov word [esp + 0x62], si
mov cl, byte [eax]
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x10], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
and cl, 0x1f
mov word [esp + 8], si
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 5
and dl, 3
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x18], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x20], si
movzx dx, dl
mov word [esp + 0x68], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x6a], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and dl, 7
mov word [esp + 0x6c], si
movzx dx, dl
and cl, 7
inc eax
movzx cx, cl
mov word [esp + 0x70], cx
mov cl, byte [eax]
mov word [esp + 0x6e], dx
mov dl, cl
shr dl, 5
movzx dx, dl
mov word [esp + 0x72], dx
mov dl, cl
and cl, 3
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 2
and dl, 7
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x74], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x76], si
movzx dx, dl
mov word [esp + 0x78], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x7a], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x80], cx
mov word [esp + 0x7e], dx
mov word [esp + 0x7c], si
mov cl, byte [eax]
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x12], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
and cl, 0x1f
mov word [esp + 0xa], si
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 5
and dl, 3
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x1a], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov word [esp + 0x22], si
movzx dx, dl
mov word [esp + 0x82], dx
mov dl, cl
and cl, 1
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 1
and dl, 7
shl esi, 2
movzx dx, dl
inc eax
mov word [esp + 0x84], dx
mov dl, cl
shr dl, 6
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 3
and cl, 7
and dl, 7
movzx cx, cl
movzx dx, dl
inc eax
mov word [esp + 0x8a], cx
mov word [esp + 0x88], dx
mov word [esp + 0x86], si
mov cl, byte [eax]
mov dl, cl
shr dl, 5
movzx dx, dl
mov word [esp + 0x8c], dx
mov dl, cl
and cl, 3
movzx si, cl
mov cl, byte [eax + 1]
shr dl, 2
and dl, 7
shl esi, 1
movzx dx, dl
inc eax
mov word [esp + 0x8e], dx
mov dl, cl
shr dl, 7
movzx dx, dl
or si, dx
mov dl, cl
shr dl, 4
and dl, 7
mov al, byte [eax + 1]
movzx dx, dl
mov word [esp + 0x92], dx
mov dl, cl
shr dl, 1
and dl, 7
and cl, 1
movzx dx, dl
mov word [esp + 0x94], dx
mov dl, al
movzx cx, cl
shr dl, 6
movzx dx, dl
shl ecx, 2
or cx, dx
xor dx, dx
mov word [esp + 0x96], cx
mov cl, al
shr cl, 3
and cl, 7
and al, 7
movzx ax, al
mov dl, cl
mov ecx, dword [esp + 0xa8]
mov word [esp + 0x90], si
mov word [esp + 0x98], dx
mov word [esp + 0x9a], ax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x1c]
push edx
mov edx, dword [esp + 0xb4]
lea ecx, [esp + 0x38]
push eax
push ecx
push edx
call fcn.00403fc0
add esp, 0x20
xor eax, eax
pop esi
add esp, 0x98
ret