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

Disassembly:
sub esp, 0x54
mov ecx, dword [esp + 0x60]
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push esi
push edi
mov edi, dword [esp + 0x68]
mov al, byte [edi + 0x14]
mov dl, byte [edi + 2]
mov byte [esp + 0x13], al
mov al, byte [ecx + 0xe]
mov cx, word [edi + 0x12]
mov word [esp + 0x2c], cx
xor cx, cx
mov cl, dl
mov byte [esp + 0x24], al
xor ebx, ebx
mov byte [esp + 0x14], dl
mov dword [esp + 0x18], ebx
lea eax, [ecx*8]
sub eax, ecx
cmp ebp, ebx
jbe 0x466d70
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
and eax, 0xffff
mov dword [esp + 0x30], eax
jmp 0x466ab8
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x68]
add ebx, eax
cmp ebx, ebp
mov dword [esp + 0x20], ebx
ja 0x466d70
xor bl, bl
test dl, dl
mov byte [esp + 0x70], bl
jbe 0x466bb3
mov al, byte [ecx]
mov dl, byte [esp + 0x13]
inc ecx
cmp al, dl
mov byte [esp + 0x34], al
jae 0x466d68
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x70]
and edx, 0xff
movsx ebp, word [edi + edx*4 + 0x16]
lea edx, [edi + edx*4 + 0x16]
movsx edx, word [edx + 2]
and eax, 0xff
shl eax, 2
mov dword [esp + eax + 0x5c], ebp
mov dword [esp + eax + 0x54], edx
mov al, byte [esp + 0x14]
inc bl
cmp bl, al
mov byte [esp + 0x70], bl
jb 0x466ad4
mov ebx, dword [esp + 0x14]
mov edi, ebx
and edi, 0xff
lea eax, [esp + 0x3c]
mov edx, edi
movsx ebp, word [ecx]
mov dword [eax], ebp
add ecx, 2
add eax, 4
dec edx
jne 0x466b32
lea eax, [esp + 0x4c]
mov edx, edi
movsx ebp, word [ecx]
mov dword [eax], ebp
add ecx, 2
add eax, 4
dec edx
jne 0x466b46
lea eax, [esp + 0x44]
mov edx, edi
movsx edi, word [ecx]
mov dword [eax], edi
add ecx, 2
add eax, 4
dec edx
jne 0x466b5a
mov dl, byte [esp + 0x14]
mov dword [esp + 0x6c], ecx
cmp byte [esp + 0x24], 8
jne 0x466bb9
test dl, dl
jbe 0x466bf1
mov ebp, ebx
and ebp, 0xff
lea eax, [esp + 0x44]
mov edi, ebp
mov ebx, dword [eax]
sar ebx, 8
add bl, 0x80
mov byte [esi], bl
inc esi
add eax, 4
dec edi
jne 0x466b89
lea eax, [esp + 0x4c]
mov edi, ebp
mov ebx, dword [eax]
sar ebx, 8
add bl, 0x80
mov byte [esi], bl
inc esi
add eax, 4
dec edi
jne 0x466ba0
jmp 0x466bed
mov ebx, dword [esp + 0x14]
jmp 0x466b70
test dl, dl
jbe 0x466bf1
and ebx, 0xff
lea eax, [esp + 0x44]
mov edi, ebx
mov bp, word [eax]
mov word [esi], bp
add esi, 2
add eax, 4
dec edi
jne 0x466bc9
lea eax, [esp + 0x4c]
mov edi, ebx
mov bx, word [eax]
mov word [esi], bx
add esi, 2
add eax, 4
dec edi
jne 0x466bde
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0x18]
mov eax, 2
add ebx, eax
cmp word [esp + 0x2c], ax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], eax
jbe 0x466d56
test dl, dl
mov byte [esp + 0x70], 0
jbe 0x466d39
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x466c62
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
inc eax
cmp eax, edx
mov dword [esp + 0x20], eax
ja 0x466d70
movsx eax, byte [ecx]
mov esi, eax
sar esi, 4
inc ecx
and esi, 0xf
and eax, 0xf
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], 0
jmp 0x466c6e
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], 1
cmp esi, 8
jl 0x466c76
sub esi, 0x10
mov edx, dword [esp + 0x70]
and edx, 0xff
shl edx, 2
mov edi, dword [esp + edx + 0x3c]
mov eax, esi
and eax, 0xf
mov ecx, dword [eax*4 + 0x4b4d64]
imul ecx, edi
sar ecx, 8
movsx eax, cx
cmp eax, 0x10
mov dword [esp + edx + 0x3c], eax
jge 0x466cad
mov dword [esp + edx + 0x3c], 0x10
mov eax, dword [esp + edx + 0x54]
imul edi, esi
imul eax, dword [esp + edx + 0x44]
mov ecx, dword [esp + edx + 0x4c]
lea ebp, [esp + edx + 0x4c]
lea ebx, [esp + edx + 0x44]
mov edx, dword [esp + edx + 0x5c]
imul edx, ecx
add eax, edx
sar eax, 8
add eax, edi
cmp eax, 0x7fff
jle 0x466ce1
mov eax, 0x7fff
jmp 0x466ced
cmp eax, 0xffff8000
jge 0x466ced
mov eax, 0xffff8000
cmp byte [esp + 0x24], 8
jne 0x466d05
mov esi, dword [esp + 0x74]
mov edx, eax
sar edx, 8
add dl, 0x80
mov byte [esi], dl
inc esi
jmp 0x466d0f
mov esi, dword [esp + 0x74]
mov word [esi], ax
add esi, 2
movsx eax, ax
mov dword [ebp], eax
mov al, byte [esp + 0x70]
mov dword [ebx], ecx
mov cl, byte [esp + 0x14]
inc al
cmp al, cl
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x74], esi
mov byte [esp + 0x70], al
jb 0x466c24
mov dl, byte [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
inc ebp
inc eax
cmp ax, word [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], eax
jb 0x466c17
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jb 0x466ab0
jmp 0x466d70
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
and eax, 0xff
and ecx, 0xff
shr eax, 3
shr ecx, 1
pop edi
shl eax, cl
pop esi
pop ebp
pop ebx
imul eax, dword [esp + 8]
add esp, 0x54
ret 0x14