Function at 0x1004f450
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa0
mov eax, dword [0x10259b00]
xor eax, esp
mov dword [esp + 0x9c], eax
push ebp
mov ebp, dword [esp + 0xb0]
push esi
mov esi, dword [esp + 0xac]
push edi
cmp byte [esi + 0x288], 0
je 0x100502fa
mov cl, byte [esi + 0x289]
test cl, cl
sete al
mov byte [esi + 0x289], al
mov eax, dword [esp + 0xb4]
movzx edi, byte [eax]
lea edx, [eax + 1]
test cl, cl
jne 0x1004fbeb
movzx ecx, byte [edx]
mov eax, edi
mov dword [esp + 0xc], eax
and eax, 0x3f
mov word [esp + 0x30], ax
shl cx, 2
movzx eax, di
shr ax, 6
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 0x3f
mov word [esp + 0x32], ax
movzx eax, word [esp + 0xc]
movzx ecx, byte [edx + 1]
shr ax, 6
shl cx, 4
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 0x1f
mov cx, word [esp + 0xc]
mov word [esp + 0x34], ax
shr cx, 5
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 0x1f
shr cx, 5
mov word [esp + 0x36], ax
movzx eax, byte [edx + 2]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0xf
mov cx, word [esp + 0xc]
mov word [esp + 0x38], ax
shr cx, 4
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 0xf
shr cx, 4
mov word [esp + 0x3a], ax
movzx eax, byte [edx + 3]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x3c], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x3e], ax
movzx eax, byte [edx + 4]
shl ax, 4
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x7f
mov cx, word [esp + 0xc]
mov word [esp + 0x28], ax
shr cx, 7
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x20], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x18], ax
movzx eax, byte [edx + 5]
add ax, ax
or ax, cx
movzx ecx, ax
mov eax, ecx
and eax, 0x3f
shr ecx, 6
mov word [esp + 0x10], ax
and ecx, 7
movzx eax, byte [edx + 6]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x42], ax
mov word [esp + 0x40], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x44], ax
movzx eax, byte [edx + 7]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x46], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x48], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x4a], ax
movzx eax, byte [edx + 8]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x4c], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x4e], ax
and ecx, 7
movzx eax, byte [edx + 9]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x52], ax
mov word [esp + 0x50], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x54], ax
movzx eax, byte [edx + 0xa]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x56], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x58], ax
movzx eax, byte [edx + 0xb]
shl ax, 4
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x7f
mov cx, word [esp + 0xc]
mov word [esp + 0x2a], ax
shr cx, 7
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x22], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x1a], ax
movzx eax, byte [edx + 0xc]
add ax, ax
or ax, cx
movzx ecx, ax
mov eax, ecx
shr ecx, 6
and eax, 0x3f
and ecx, 7
mov word [esp + 0x12], ax
movzx eax, byte [edx + 0xd]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x5c], ax
mov word [esp + 0x5a], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x5e], ax
movzx eax, byte [edx + 0xe]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x60], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x62], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x64], ax
movzx eax, byte [edx + 0xf]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x66], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x68], ax
and ecx, 7
movzx eax, byte [edx + 0x10]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x6a], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0x6c], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
mov word [esp + 0x6e], ax
movzx eax, byte [edx + 0x11]
shl ax, 2
shr cx, 3
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x70], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x72], ax
movzx eax, byte [edx + 0x12]
shl ax, 4
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x7f
mov cx, word [esp + 0xc]
mov word [esp + 0x2c], ax
shr cx, 7
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x24], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x1c], ax
movzx eax, byte [edx + 0x13]
add ax, ax
or ax, cx
movzx ecx, ax
mov eax, ecx
shr ecx, 6
and eax, 0x3f
and ecx, 7
mov word [esp + 0x14], ax
movzx eax, byte [edx + 0x14]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x76], ax
mov word [esp + 0x74], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x78], ax
movzx eax, byte [edx + 0x15]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x7a], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x7c], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x7e], ax
movzx eax, byte [edx + 0x16]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x80], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x82], ax
and ecx, 7
movzx eax, byte [edx + 0x17]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x86], ax
mov word [esp + 0x84], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x88], ax
movzx eax, byte [edx + 0x18]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x8a], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x8c], ax
movzx eax, byte [edx + 0x19]
shl ax, 4
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x7f
mov cx, word [esp + 0xc]
mov word [esp + 0x2e], ax
shr cx, 7
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x26], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x1e], ax
movzx eax, byte [edx + 0x1a]
add ax, ax
or ax, cx
movzx ecx, ax
mov eax, ecx
shr ecx, 6
and eax, 0x3f
and ecx, 7
mov word [esp + 0x16], ax
movzx eax, byte [edx + 0x1b]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x8e], cx
mov cx, word [esp + 0xc]
mov word [esp + 0x90], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x92], ax
movzx eax, byte [edx + 0x1c]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov word [esp + 0x94], ax
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x96], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x98], ax
movzx eax, byte [edx + 0x1d]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x9a], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x9c], ax
and ecx, 7
movzx eax, byte [edx + 0x1e]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0xa0], ax
mov word [esp + 0x9e], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0xa2], ax
movzx eax, byte [edx + 0x1f]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0xc]
and eax, 7
mov word [esp + 0xa6], ax
mov al, byte [esp + 0xc]
shr al, 3
and al, 0xf
mov byte [esi + 0x28a], al
jmp 0x100508eb
movzx eax, byte [esi + 0x28a]
shl edi, 4
or ax, di
movzx ecx, ax
mov eax, ecx
shr ecx, 6
and eax, 0x3f
and ecx, 0x3f
mov word [esp + 0x30], ax
movzx eax, byte [edx]
mov dword [esp + 0xc], eax
and eax, 0x1f
mov word [esp + 0x34], ax
movzx eax, word [esp + 0xc]
shr ax, 5
mov word [esp + 0x32], cx
movzx ecx, byte [edx + 1]
shl cx, 3
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 0x1f
mov cx, word [esp + 0xc]
mov word [esp + 0x36], ax
shr cx, 5
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 0xf
shr cx, 4
mov word [esp + 0x38], ax
movzx eax, byte [edx + 2]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0xf
shr word [esp + 0xc], 4
mov ecx, dword [esp + 0xc]
mov word [esp + 0x3a], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x3c], ax
and ecx, 7
movzx eax, byte [edx + 3]
mov dword [esp + 0xc], eax
and eax, 0x7f
mov word [esp + 0x28], ax
movzx eax, word [esp + 0xc]
shr ax, 7
mov word [esp + 0x3e], cx
movzx ecx, byte [edx + 4]
add cx, cx
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 3
mov cx, word [esp + 0xc]
mov word [esp + 0x20], ax
shr cx, 2
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x18], ax
movzx eax, byte [edx + 5]
shl ax, 5
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x3f
mov cx, word [esp + 0xc]
shr cx, 6
mov word [esp + 0xc], cx
mov word [esp + 0x10], ax
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0xc], cx
mov word [esp + 0x40], ax
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x42], ax
movzx eax, byte [edx + 6]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x44], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x46], ax
and ecx, 7
movzx eax, byte [edx + 7]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x4a], ax
mov word [esp + 0x48], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x4c], ax
movzx eax, byte [edx + 8]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x4e], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x50], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x52], ax
movzx eax, byte [edx + 9]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x54], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x56], ax
and ecx, 7
movzx eax, byte [edx + 0xa]
mov dword [esp + 0xc], eax
and eax, 0x7f
mov word [esp + 0x2a], ax
movzx eax, word [esp + 0xc]
mov word [esp + 0x58], cx
movzx ecx, byte [edx + 0xb]
shr ax, 7
add cx, cx
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 3
mov cx, word [esp + 0xc]
shr cx, 2
mov word [esp + 0x22], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
mov word [esp + 0x1a], ax
movzx eax, byte [edx + 0xc]
shl ax, 5
shr cx, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x3f
mov cx, word [esp + 0xc]
mov word [esp + 0x12], ax
shr cx, 6
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x5a], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x5c], ax
movzx eax, byte [edx + 0xd]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x5e], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x60], ax
and ecx, 7
movzx eax, byte [edx + 0xe]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x64], ax
mov word [esp + 0x62], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x66], ax
movzx eax, byte [edx + 0xf]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x68], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x6a], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x6c], ax
movzx eax, byte [edx + 0x10]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x6e], ax
mov eax, ecx
and eax, 7
shr ecx, 3
and ecx, 7
mov word [esp + 0x70], ax
mov word [esp + 0x72], cx
movzx eax, byte [edx + 0x11]
mov dword [esp + 0xc], eax
and eax, 0x7f
mov word [esp + 0x2c], ax
movzx eax, word [esp + 0xc]
movzx ecx, byte [edx + 0x12]
shr ax, 7
add cx, cx
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 3
mov cx, word [esp + 0xc]
mov word [esp + 0x24], ax
shr cx, 2
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x1c], ax
movzx eax, byte [edx + 0x13]
shl ax, 5
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x3f
mov cx, word [esp + 0xc]
mov word [esp + 0x14], ax
shr cx, 6
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x74], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x76], ax
movzx eax, byte [edx + 0x14]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x78], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x7a], ax
and ecx, 7
movzx eax, byte [edx + 0x15]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x7c], cx
mov cx, word [esp + 0xc]
mov word [esp + 0x7e], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x80], ax
movzx eax, byte [edx + 0x16]
shl ax, 2
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0xc], cx
mov word [esp + 0x82], ax
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0xc], cx
mov word [esp + 0x84], ax
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x86], ax
movzx eax, byte [edx + 0x17]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x88], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x8a], ax
and ecx, 7
movzx eax, byte [edx + 0x18]
mov dword [esp + 0xc], eax
and eax, 0x7f
mov word [esp + 0x2e], ax
movzx eax, word [esp + 0xc]
shr ax, 7
mov word [esp + 0x8c], cx
movzx ecx, byte [edx + 0x19]
add cx, cx
or cx, ax
movzx eax, cx
mov dword [esp + 0xc], eax
and eax, 3
mov cx, word [esp + 0xc]
mov word [esp + 0x26], ax
shr cx, 2
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 3
shr cx, 2
mov word [esp + 0x1e], ax
movzx eax, byte [edx + 0x1a]
shl ax, 5
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 0x3f
mov cx, word [esp + 0xc]
mov word [esp + 0x16], ax
shr cx, 6
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x8e], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x90], ax
movzx eax, byte [edx + 0x1b]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0x92], ax
mov eax, ecx
and eax, 7
shr ecx, 3
mov word [esp + 0x94], ax
and ecx, 7
movzx eax, byte [edx + 0x1c]
mov dword [esp + 0xc], eax
and eax, 7
mov word [esp + 0x96], cx
mov cx, word [esp + 0xc]
shr cx, 3
mov word [esp + 0x98], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
mov word [esp + 0x9a], ax
movzx eax, byte [edx + 0x1d]
shl ax, 2
shr cx, 3
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
mov cx, word [esp + 0xc]
mov word [esp + 0x9c], ax
shr cx, 3
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0x9e], ax
mov word [esp + 0xc], cx
mov eax, dword [esp + 0xc]
and eax, 7
shr cx, 3
mov word [esp + 0xa0], ax
movzx eax, byte [edx + 0x1e]
add ax, ax
or ax, cx
movzx eax, ax
mov dword [esp + 0xc], eax
and eax, 7
shr word [esp + 0xc], 3
mov ecx, dword [esp + 0xc]
mov word [esp + 0xa2], ax
mov eax, ecx
and eax, 7
shr ecx, 3
and ecx, 7
mov word [esp + 0xa4], ax
mov word [esp + 0xa6], cx
jmp 0x100508eb
mov edi, dword [esp + 0xb4]
mov cl, byte [edi]
mov al, cl
and al, 0xf0
cmp al, 0xd0
je 0x10050328
pop edi
pop esi
mov eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x9c]
xor ecx, esp
call fcn.1009fd88
add esp, 0xa0
ret
mov dl, byte [edi + 1]
and cl, 0xf
movzx ecx, cl
mov al, dl
shr al, 6
and dl, 0x3f
movzx eax, al
shl cx, 2
or cx, ax
movzx eax, dl
mov word [esp + 0x32], ax
mov word [esp + 0x30], cx
mov cl, byte [edi + 2]
mov al, cl
mov dl, byte [edi + 4]
shr al, 3
and cl, 7
movzx eax, al
mov word [esp + 0x34], ax
movzx ecx, cl
shl cx, 2
push ebx
mov bl, byte [edi + 3]
mov al, bl
shr al, 6
movzx eax, al
or cx, ax
mov al, bl
shr al, 2
and bl, 3
and al, 0xf
mov word [esp + 0x3a], cx
movzx eax, al
mov word [esp + 0x3c], ax
mov al, dl
shr al, 6
movzx eax, al
movzx ecx, bl
shl cx, 2
or cx, ax
mov bl, byte [edi + 7]
mov al, dl
mov word [esp + 0x3e], cx
mov cl, byte [edi + 5]
and dl, 7
shr al, 3
and al, 7
movzx eax, al
mov word [esp + 0x40], ax
movzx eax, dl
mov dl, byte [edi + 6]
mov word [esp + 0x42], ax
mov al, cl
shr al, 1
and cl, 1
movzx eax, al
mov word [esp + 0x2c], ax
mov al, dl
shr al, 7
movzx eax, al
movzx ecx, cl
add cx, cx
or cx, ax
mov al, dl
shr al, 5
and dl, 0x1f
and al, 3
mov word [esp + 0x24], cx
movzx eax, al
mov word [esp + 0x1c], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, dl
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x14], cx
movzx eax, al
mov word [esp + 0x44], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
mov dl, byte [edi + 8]
movzx eax, al
mov word [esp + 0x46], ax
mov al, dl
shr al, 6
movzx eax, al
movzx ecx, bl
shl cx, 2
or cx, ax
mov bl, byte [edi + 0xa]
mov al, dl
mov word [esp + 0x48], cx
shr al, 3
and dl, 7
and al, 7
mov cl, byte [edi + 9]
movzx eax, al
mov word [esp + 0x4a], ax
movzx eax, dl
mov word [esp + 0x4c], ax
mov al, cl
shr al, 5
movzx eax, al
mov word [esp + 0x4e], ax
mov al, cl
shr al, 2
and cl, 3
and al, 7
mov dl, byte [edi + 0xb]
movzx eax, al
mov word [esp + 0x50], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, cl
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x52], cx
movzx eax, al
mov word [esp + 0x54], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x56], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov al, dl
shr al, 3
and dl, 7
and al, 7
mov word [esp + 0x58], cx
mov cl, byte [edi + 0xc]
movzx eax, al
mov word [esp + 0x5a], ax
movzx eax, dl
mov dl, byte [edi + 0xd]
mov word [esp + 0x5c], ax
mov al, cl
shr al, 1
and cl, 1
movzx eax, al
mov word [esp + 0x2e], ax
mov al, dl
movzx ecx, cl
add cx, cx
shr al, 7
movzx eax, al
or cx, ax
mov bl, byte [edi + 0xe]
mov al, dl
mov word [esp + 0x26], cx
shr al, 5
and dl, 0x1f
and al, 3
movzx ecx, dl
movzx eax, al
add cx, cx
mov word [esp + 0x1e], ax
mov al, bl
shr al, 7
movzx eax, al
or cx, ax
mov dl, byte [edi + 0xf]
mov al, bl
mov word [esp + 0x16], cx
shr al, 4
and al, 7
movzx eax, al
mov word [esp + 0x5e], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x60], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov bl, byte [edi + 0x11]
mov al, dl
mov word [esp + 0x62], cx
mov cl, byte [edi + 0x10]
and dl, 7
shr al, 3
and al, 7
movzx eax, al
mov word [esp + 0x64], ax
movzx eax, dl
mov word [esp + 0x66], ax
mov al, cl
shr al, 5
movzx eax, al
mov word [esp + 0x68], ax
mov al, cl
shr al, 2
and cl, 3
and al, 7
mov dl, byte [edi + 0x12]
movzx eax, al
mov word [esp + 0x6a], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, cl
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x6c], cx
movzx eax, al
mov word [esp + 0x6e], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x70], ax
mov al, dl
shr al, 6
shl cx, 2
movzx eax, al
or cx, ax
mov word [esp + 0x72], cx
mov cl, byte [edi + 0x13]
mov al, dl
shr al, 3
and dl, 7
and al, 7
mov bl, byte [edi + 0x15]
movzx eax, al
mov word [esp + 0x74], ax
movzx eax, dl
mov word [esp + 0x76], ax
mov al, cl
shr al, 1
and cl, 1
movzx eax, al
mov word [esp + 0x30], ax
mov dl, byte [edi + 0x14]
movzx ecx, cl
mov al, dl
shr al, 7
add cx, cx
movzx eax, al
or cx, ax
mov al, dl
shr al, 5
and dl, 0x1f
and al, 3
mov word [esp + 0x28], cx
movzx eax, al
mov word [esp + 0x20], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, dl
mov dl, byte [edi + 0x16]
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x18], cx
movzx eax, al
mov word [esp + 0x78], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x7a], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov bl, byte [edi + 0x18]
mov al, dl
mov word [esp + 0x7c], cx
mov cl, byte [edi + 0x17]
and dl, 7
shr al, 3
and al, 7
movzx eax, al
mov word [esp + 0x7e], ax
movzx eax, dl
mov word [esp + 0x80], ax
mov al, cl
shr al, 5
movzx eax, al
mov word [esp + 0x82], ax
mov al, cl
shr al, 2
and cl, 3
and al, 7
movzx ecx, cl
movzx eax, al
add cx, cx
mov word [esp + 0x84], ax
mov al, bl
shr al, 7
movzx eax, al
or cx, ax
mov dl, byte [edi + 0x19]
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x86], cx
movzx eax, al
mov word [esp + 0x88], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x8a], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov bl, byte [edi + 0x1c]
mov al, dl
mov word [esp + 0x8c], cx
shr al, 3
and dl, 7
and al, 7
mov cl, byte [edi + 0x1a]
movzx eax, al
mov word [esp + 0x8e], ax
movzx eax, dl
mov dl, byte [edi + 0x1b]
mov word [esp + 0x90], ax
mov al, cl
shr al, 1
and cl, 1
movzx eax, al
mov word [esp + 0x32], ax
mov al, dl
shr al, 7
movzx eax, al
movzx ecx, cl
add cx, cx
or cx, ax
mov al, dl
shr al, 5
and dl, 0x1f
and al, 3
mov word [esp + 0x2a], cx
movzx eax, al
mov word [esp + 0x22], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, dl
mov dl, byte [edi + 0x1d]
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0x1a], cx
movzx eax, al
mov word [esp + 0x92], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0x94], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov al, dl
shr al, 3
and al, 7
mov word [esp + 0x96], cx
movzx eax, al
and dl, 7
mov word [esp + 0x98], ax
mov cl, byte [edi + 0x1e]
mov bl, byte [edi + 0x1f]
movzx eax, dl
mov word [esp + 0x9a], ax
mov al, cl
shr al, 5
movzx eax, al
mov word [esp + 0x9c], ax
mov al, cl
shr al, 2
and cl, 3
and al, 7
mov dl, byte [edi + 0x20]
movzx eax, al
mov word [esp + 0x9e], ax
mov al, bl
shr al, 7
movzx eax, al
movzx ecx, cl
add cx, cx
or cx, ax
mov al, bl
shr al, 4
and al, 7
mov word [esp + 0xa0], cx
movzx eax, al
mov word [esp + 0xa2], ax
mov al, bl
shr al, 1
and bl, 1
and al, 7
movzx ecx, bl
movzx eax, al
mov word [esp + 0xa4], ax
mov al, dl
shr al, 6
movzx eax, al
shl cx, 2
or cx, ax
mov al, dl
shr al, 3
and al, 7
mov word [esp + 0xa6], cx
movzx eax, al
and dl, 7
mov word [esp + 0xa8], ax
movzx eax, dl
mov word [esp + 0xaa], ax
pop ebx
push ebp
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
push esi
call fcn.10054c10
mov ecx, dword [esp + 0xc8]
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.1009fd88
add esp, 0xa0
ret