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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x6670f4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x11c], edx
mov ecx, dword [eax + 0x3c0]
movsx eax, byte [eax + 0x4f0]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x128], eax
cmp eax, 0x100
jae 0x4a3a19
lea edi, [ebp - 0x104]
jmp 0x4a3a1b
mov edi, dword [edi]
movsx eax, word [edx]
sub eax, dword [ebp + 8]
mov edx, eax
mov ecx, eax
sar edx, 0x1f
add eax, edx
mov dword [ebp - 0x110], eax
mov eax, edx
xor eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x631600]
mov eax, dword [ebp + 0xc]
movsx ecx, byte [edx + eax + 0x400]
shl esi, cl
add ebx, ecx
or esi, dword [eax + edx*4]
cmp ebx, 0xf
jle 0x4a3a7a
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3a66
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3a7a
mov byte [edi], 0
inc edi
xor eax, eax
mov ecx, edx
inc eax
shl esi, cl
shl eax, cl
add ebx, edx
dec eax
and eax, dword [ebp - 0x110]
or eax, esi
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3ac5
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3aa9
mov byte [edi], 0
inc edi
mov esi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3ac7
mov byte [edi], 0
inc edi
jmp 0x4a3ac7
mov esi, eax
mov eax, dword [ebp - 0x11c]
movsx edx, word [eax + 2]
test edx, edx
jne 0x4a3ae7
push 2
mov dword [ebp - 0x110], 0x10
pop edx
jmp 0x4a3bbf
mov ecx, edx
sar ecx, 0x1f
lea eax, [ecx + edx]
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, edx
sub eax, ecx
movzx esi, byte [eax + 0x631600]
mov eax, dword [ebp + 0x10]
mov ecx, esi
movsx edx, byte [esi + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl eax, cl
mov ecx, dword [ebp + 0x10]
or eax, dword [ecx + esi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3b66
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3b48
mov byte [edi], 0
inc edi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a3b66
mov byte [edi], 0
inc edi
mov ecx, esi
add ebx, esi
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3ba9
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3b8d
mov byte [edi], 0
inc edi
mov esi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3baf
mov byte [edi], 0
inc edi
jmp 0x4a3baf
mov esi, dword [ebp - 0x108]
and dword [ebp - 0x110], 0
xor edx, edx
mov eax, dword [ebp - 0x11c]
inc edx
movsx eax, word [eax + 0x10]
test eax, eax
je 0x4a3cae
mov esi, dword [ebp - 0x11c]
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
movsx edx, word [esi + 0x10]
mov esi, dword [ebp - 0x110]
xor eax, edx
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov eax, dword [ebp + 0x10]
add esi, ecx
mov dword [ebp - 0x118], ecx
movsx edx, byte [esi + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl eax, cl
mov ecx, dword [ebp + 0x10]
or eax, dword [ecx + esi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3c5f
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3c41
mov byte [edi], 0
inc edi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a3c5f
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x118]
add ebx, ecx
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3ca6
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3c8a
mov byte [edi], 0
inc edi
mov esi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3cac
mov byte [edi], 0
inc edi
jmp 0x4a3cac
mov esi, dword [ebp - 0x108]
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx ecx, word [eax + 0x20]
mov eax, edx
shl eax, 4
mov dword [ebp - 0x118], eax
test ecx, ecx
jne 0x4a3cd8
lea ecx, [eax + 0x10]
add edx, 2
mov dword [ebp - 0x110], ecx
jmp 0x4a3dc2
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x118]
sar ecx, 0x1f
movsx edx, word [eax + 0x20]
lea eax, [ecx + edx]
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, edx
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov eax, dword [ebp + 0x10]
add esi, ecx
mov dword [ebp - 0x110], ecx
movsx edx, byte [esi + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl eax, cl
mov ecx, dword [ebp + 0x10]
or eax, dword [ecx + esi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3d6b
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3d4d
mov byte [edi], 0
inc edi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a3d6b
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3db2
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3d96
mov byte [edi], 0
inc edi
mov esi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3db8
mov byte [edi], 0
inc edi
jmp 0x4a3db8
mov esi, dword [ebp - 0x108]
and dword [ebp - 0x110], 0
xor edx, edx
inc edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x12]
test eax, eax
je 0x4a3eb7
mov esi, dword [ebp - 0x11c]
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
movsx edx, word [esi + 0x12]
mov esi, dword [ebp - 0x110]
xor eax, edx
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov eax, dword [ebp + 0x10]
add esi, ecx
mov dword [ebp - 0x118], ecx
movsx edx, byte [esi + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl eax, cl
mov ecx, dword [ebp + 0x10]
or eax, dword [ecx + esi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3e68
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3e4a
mov byte [edi], 0
inc edi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a3e68
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x118]
add ebx, ecx
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x4a3eaf
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3e93
mov byte [edi], 0
inc edi
mov esi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3eb5
mov byte [edi], 0
inc edi
jmp 0x4a3eb5
mov esi, dword [ebp - 0x108]
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 4]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a3ed1
inc edx
jmp 0x4a3f91
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov eax, dword [ebp + 0x10]
add edx, ecx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x118], ecx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a3f54
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3f40
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3f54
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x118]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a3f8f
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3f7b
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a3f8f
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 6]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a3fab
inc edx
jmp 0x4a40e0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4044
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4033
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4013
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4033
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a3ff2
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a40a3
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a408f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a40a3
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a40de
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a40ca
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a40de
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x14]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a40fa
inc edx
jmp 0x4a422f
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4193
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4182
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4162
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4182
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4141
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a41f2
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a41de
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a41f2
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a422d
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4219
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a422d
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4249
inc edx
jmp 0x4a437e
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a42e2
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a42d1
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a42b1
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a42d1
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4290
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4341
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a432d
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4341
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a437c
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4368
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a437c
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x30]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4398
inc edx
jmp 0x4a44cd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4431
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4420
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4400
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4420
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a43df
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4490
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a447c
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4490
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a44cb
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a44b7
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a44cb
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x40]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a44e7
inc edx
jmp 0x4a461c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4580
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a456f
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a454f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a456f
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a452e
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a45df
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a45cb
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a45df
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a461a
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4606
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a461a
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4636
inc edx
jmp 0x4a476b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a46cf
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a46be
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a469e
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a46be
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a467d
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a472e
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a471a
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a472e
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4769
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4755
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4769
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x24]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4785
inc edx
jmp 0x4a48ba
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a481e
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a480d
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a47ed
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a480d
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a47cc
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a487d
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4869
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a487d
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a48b8
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a48a4
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a48b8
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x16]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a48d4
inc edx
jmp 0x4a4a09
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a496d
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a495c
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a493c
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a495c
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a491b
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a49cc
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a49b8
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a49cc
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4a07
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a49f3
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4a07
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 8]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4a23
inc edx
jmp 0x4a4b58
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4abc
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4aab
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4a8b
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4aab
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4a6a
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4b1b
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4b07
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4b1b
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4b56
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4b42
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4b56
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4b72
inc edx
jmp 0x4a4ca7
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4c0b
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4bfa
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4bda
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4bfa
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4bb9
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4c6a
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4c56
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4c6a
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4ca5
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4c91
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4ca5
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x18]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4cc1
inc edx
jmp 0x4a4df6
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4d5a
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4d49
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4d29
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4d49
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4d08
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4db9
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4da5
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4db9
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4df4
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4de0
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4df4
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x26]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4e10
inc edx
jmp 0x4a4f45
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4ea9
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4e98
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4e78
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4e98
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4e57
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a4f08
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4ef4
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4f08
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a4f43
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4f2f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4f43
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x34]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a4f5f
inc edx
jmp 0x4a5094
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a4ff8
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a4fe7
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a4fc7
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a4fe7
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a4fa6
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5057
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5043
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5057
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5092
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a507e
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5092
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x42]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a50ae
inc edx
jmp 0x4a51e3
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5147
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5136
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5116
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5136
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a50f5
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a51a6
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5192
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a51a6
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a51e1
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a51cd
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a51e1
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x50]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a51fd
inc edx
jmp 0x4a5332
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5296
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5285
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5265
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5285
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5244
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a52f5
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a52e1
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a52f5
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5330
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a531c
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5330
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x60]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a534c
inc edx
jmp 0x4a5481
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a53e5
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a53d4
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a53b4
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a53d4
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5393
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5444
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5430
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5444
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a547f
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a546b
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a547f
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x52]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a549b
inc edx
jmp 0x4a55d0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5534
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5523
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5503
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5523
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a54e2
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5593
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a557f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5593
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a55ce
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a55ba
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a55ce
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x44]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a55ea
inc edx
jmp 0x4a571f
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5683
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5672
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5652
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5672
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5631
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a56e2
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a56ce
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a56e2
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a571d
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5709
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a571d
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x36]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5739
inc edx
jmp 0x4a586e
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a57d2
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a57c1
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a57a1
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a57c1
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5780
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5831
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a581d
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5831
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a586c
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5858
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a586c
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x28]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5888
inc edx
jmp 0x4a59bd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5921
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5910
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a58f0
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5910
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a58cf
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5980
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a596c
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5980
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a59bb
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a59a7
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a59bb
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x1a]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a59d7
inc edx
jmp 0x4a5b0c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5a70
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5a5f
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5a3f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5a5f
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5a1e
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5acf
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5abb
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5acf
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5b0a
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5af6
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5b0a
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0xc]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5b26
inc edx
jmp 0x4a5c5b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5bbf
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5bae
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5b8e
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5bae
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5b6d
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5c1e
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5c0a
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5c1e
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5c59
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5c45
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5c59
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0xe]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5c75
inc edx
jmp 0x4a5daa
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5d0e
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5cfd
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5cdd
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5cfd
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5cbc
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5d6d
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5d59
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5d6d
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5da8
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5d94
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5da8
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x1c]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5dc4
inc edx
jmp 0x4a5ef9
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5e5d
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5e4c
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5e2c
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5e4c
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5e0b
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a5ebc
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5ea8
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5ebc
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a5ef7
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5ee3
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5ef7
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a5f13
inc edx
jmp 0x4a6048
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a5fac
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a5f9b
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5f7b
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a5f9b
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a5f5a
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a600b
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a5ff7
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a600b
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a6046
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6032
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6046
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x38]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a6062
inc edx
jmp 0x4a6197
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a60fb
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a60ea
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a60ca
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a60ea
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a60a9
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a615a
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6146
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a615a
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a6195
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6181
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6195
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x46]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a61b1
inc edx
jmp 0x4a62e6
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jbe 0x4a624a
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a6239
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6219
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a6239
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a61f8
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a62a9
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6295
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a62a9
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a62e4
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a62d0
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a62e4
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x54]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a6300
inc edx
jmp 0x4a6435
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jle 0x4a6399
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a6388
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6368
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x114]
mov byte [edi], al
inc edi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x4a6388
mov byte [edi], 0
inc edi
sub eax, 1
mov dword [ebp - 0x108], eax
jne 0x4a6347
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a63f8
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a63e4
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a63f8
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl esi, cl
or esi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x4a6433
mov eax, esi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a641f
mov byte [edi], 0
inc edi
sub ebx, 0x10
mov eax, esi
mov ecx, ebx
shr eax, cl
mov byte [edi], al
inc edi
cmp al, 0xff
jne 0x4a6433
mov byte [edi], 0
inc edi
xor edx, edx
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x62]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a644f
inc edx
jmp 0x4a6584
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x118]
sub eax, ecx
movzx ecx, byte [eax + 0x631600]
mov dword [ebp - 0x110], ecx
cmp edx, 0xf
jle 0x4a64e8
mov ecx, dword [ebp - 0x114]
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x108], eax
imul eax, eax, 0xfffffff0
add edx, eax
mov eax, dword [ebp - 0x108]
shl esi, cl
add ebx, ecx
or esi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x4a64d7
mov eax, dword [ebp + 0x10]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
xor eax, eax
inc eax
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl esi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x10]
or esi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x4a6547
mov eax, dword [ebp - 0x11c]
movsx eax, word [eax + 0x70]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4a659e