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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x6ab100]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [ecx + 0x3c0]
mov dword [ebp - 0x120], eax
movsx eax, byte [ecx + 0x4f0]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x118], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], eax
push edi
mov edi, dword [esi + 8]
cmp eax, 0x100
jae 0x514359
lea esi, [ebp - 0x104]
jmp 0x51435b
mov esi, dword [esi]
mov eax, dword [ebp + 0xc]
movsx eax, word [eax]
sub eax, dword [ebp + 0x10]
mov edx, eax
mov ecx, eax
sar edx, 0x1f
add eax, edx
mov dword [ebp - 0x114], eax
mov eax, edx
xor eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x62e950]
mov eax, dword [ebp + 0x14]
movsx ecx, byte [edx + eax + 0x400]
shl edi, cl
add ebx, ecx
or edi, dword [eax + edx*4]
cmp ebx, 0xf
jle 0x5143bd
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5143a9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5143bd
mov byte [esi], 0
inc esi
mov eax, 1
mov ecx, edx
mov dword [ebp - 0x11c], eax
add ebx, edx
shl eax, cl
dec eax
shl edi, cl
and eax, dword [ebp - 0x114]
or eax, edi
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x514410
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5143f4
mov byte [esi], 0
inc esi
mov edi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514412
mov byte [esi], 0
inc esi
jmp 0x514412
mov edi, eax
mov eax, dword [ebp + 0xc]
movsx edx, word [eax + 2]
test edx, edx
jne 0x514431
mov dword [ebp - 0x114], 0x10
mov edx, 2
jmp 0x51450e
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 edi, byte [eax + 0x62e950]
mov eax, dword [ebp + 0x18]
mov ecx, edi
movsx edx, byte [edi + eax + 0x400]
mov eax, dword [ebp - 0x11c]
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 + 0x18]
or eax, dword [ecx + edi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5144b3
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514495
mov byte [esi], 0
inc esi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x5144b3
mov byte [esi], 0
inc esi
mov ecx, edi
add ebx, edi
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5144f6
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5144da
mov byte [esi], 0
inc esi
mov edi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5144fc
mov byte [esi], 0
inc esi
jmp 0x5144fc
mov edi, dword [ebp - 0x108]
mov eax, dword [ebp + 0xc]
mov edx, 1
mov dword [ebp - 0x114], 0
movsx eax, word [eax + 0x10]
test eax, eax
je 0x5145fd
mov edi, dword [ebp + 0xc]
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
movsx edx, word [edi + 0x10]
mov edi, dword [ebp - 0x114]
xor eax, edx
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov eax, dword [ebp + 0x18]
add edi, ecx
mov dword [ebp - 0x110], ecx
movsx edx, byte [edi + eax + 0x400]
mov eax, dword [ebp - 0x11c]
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 + 0x18]
or eax, dword [ecx + edi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5145ae
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514590
mov byte [esi], 0
inc esi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x5145ae
mov byte [esi], 0
inc esi
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 0x5145f5
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5145d9
mov byte [esi], 0
inc esi
mov edi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5145fb
mov byte [esi], 0
inc esi
jmp 0x5145fb
mov edi, dword [ebp - 0x108]
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx ecx, word [eax + 0x20]
mov eax, edx
shl eax, 4
mov dword [ebp - 0x110], eax
test ecx, ecx
jne 0x514624
lea ecx, [eax + 0x10]
add edx, 2
mov dword [ebp - 0x114], ecx
jmp 0x514713
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x110]
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 + 0x62e950]
mov eax, dword [ebp + 0x18]
add edi, ecx
mov dword [ebp - 0x114], ecx
movsx edx, byte [edi + eax + 0x400]
mov eax, dword [ebp - 0x11c]
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 + 0x18]
or eax, dword [ecx + edi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5146b7
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514699
mov byte [esi], 0
inc esi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x5146b7
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl eax, cl
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5146fe
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5146e2
mov byte [esi], 0
inc esi
mov edi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514704
mov byte [esi], 0
inc esi
jmp 0x514704
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x114], 0
mov edx, 1
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x12]
test eax, eax
je 0x514805
mov edi, dword [ebp + 0xc]
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
movsx edx, word [edi + 0x12]
mov edi, dword [ebp - 0x114]
xor eax, edx
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov eax, dword [ebp + 0x18]
add edi, ecx
mov dword [ebp - 0x110], ecx
movsx edx, byte [edi + eax + 0x400]
mov eax, dword [ebp - 0x11c]
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 + 0x18]
or eax, dword [ecx + edi*4]
mov dword [ebp - 0x108], eax
cmp ebx, 0xf
jle 0x5147b6
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514798
mov byte [esi], 0
inc esi
mov eax, dword [ebp - 0x108]
sub ebx, 0x10
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x108]
jne 0x5147b6
mov byte [esi], 0
inc esi
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 0x5147fd
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5147e1
mov byte [esi], 0
inc esi
mov edi, dword [ebp - 0x108]
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514803
mov byte [esi], 0
inc esi
jmp 0x514803
mov edi, dword [ebp - 0x108]
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 4]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x51481c
inc edx
jmp 0x5148df
mov ecx, eax
shl edx, 4
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov eax, dword [ebp + 0x18]
add edx, ecx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x110], ecx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5148a2
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51488e
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5148a2
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x110]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5148dd
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5148c9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5148dd
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 6]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5148f6
inc edx
jmp 0x514a32
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x514993
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x514982
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514968
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x514982
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514945
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5149f5
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5149e1
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5149f5
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x514a30
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514a1c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514a30
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x14]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x514a49
inc edx
jmp 0x514b85
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x514ae6
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x514ad5
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514abb
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x514ad5
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514a98
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x514b48
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514b34
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514b48
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x514b83
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514b6f
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514b83
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x514b9c
inc edx
jmp 0x514cdd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x514c3e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax + eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x514c2d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514c13
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x514c2d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514bf0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x514ca0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514c8c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514ca0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x514cdb
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514cc7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514cdb
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x30]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x514cf4
inc edx
jmp 0x514e30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x514d91
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x514d80
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514d66
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x514d80
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514d43
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x514df3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514ddf
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514df3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x514e2e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514e1a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514e2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x40]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x514e47
inc edx
jmp 0x514f83
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x514ee4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x514ed3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514eb9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x514ed3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514e96
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x514f46
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514f32
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514f46
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x514f81
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514f6d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x514f81
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x514f9a
inc edx
jmp 0x5150dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51503e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51502d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515013
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51502d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x514ff0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5150a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51508c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5150a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5150db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5150c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5150db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x24]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5150f4
inc edx
jmp 0x515230
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515191
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515180
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515166
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515180
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515143
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5151f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5151df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5151f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x51522e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51521a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51522e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x16]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515247
inc edx
jmp 0x515383
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x5152e4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x5152d3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5152b9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x5152d3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515296
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515346
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515332
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515346
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515381
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51536d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515381
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 8]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x51539a
inc edx
jmp 0x5154dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51543e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51542d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515413
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51542d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5153f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5154a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51548c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5154a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5154db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5154c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5154db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5154f4
inc edx
jmp 0x515630
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515591
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515580
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515566
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515580
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515543
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5155f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5155df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5155f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x51562e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51561a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51562e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x18]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515647
inc edx
jmp 0x515783
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x5156e4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x5156d3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5156b9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x5156d3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515696
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515746
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515732
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515746
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515781
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51576d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515781
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x26]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x51579a
inc edx
jmp 0x5158dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51583e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51582d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515813
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51582d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5157f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5158a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51588c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5158a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5158db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5158c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5158db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x34]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5158f4
inc edx
jmp 0x515a30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515991
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515980
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515966
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515980
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515943
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5159f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5159df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5159f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515a2e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515a1a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515a2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x42]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515a47
inc edx
jmp 0x515b83
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515ae4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515ad3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515ab9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515ad3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515a96
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515b46
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515b32
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515b46
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515b81
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515b6d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515b81
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x50]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515b9a
inc edx
jmp 0x515cdd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515c3e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515c2d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515c13
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515c2d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515bf0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515ca0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515c8c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515ca0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515cdb
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515cc7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515cdb
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x60]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515cf4
inc edx
jmp 0x515e30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515d91
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515d80
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515d66
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515d80
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515d43
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515df3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515ddf
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515df3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515e2e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515e1a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515e2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x52]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515e47
inc edx
jmp 0x515f83
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x515ee4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x515ed3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515eb9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x515ed3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515e96
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x515f46
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515f32
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515f46
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x515f81
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515f6d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x515f81
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x44]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x515f9a
inc edx
jmp 0x5160dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51603e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51602d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516013
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51602d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x515ff0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5160a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51608c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5160a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5160db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5160c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5160db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x36]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5160f4
inc edx
jmp 0x516230
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x516191
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516180
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516166
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516180
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516143
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5161f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5161df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5161f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x51622e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51621a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51622e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x28]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516247
inc edx
jmp 0x516383
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x5162e4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x5162d3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5162b9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x5162d3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516296
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516346
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516332
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516346
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516381
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51636d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516381
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1a]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x51639a
inc edx
jmp 0x5164dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51643e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51642d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516413
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51642d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5163f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5164a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51648c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5164a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5164db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5164c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5164db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xc]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5164f4
inc edx
jmp 0x516630
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x516591
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516580
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516566
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516580
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516543
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5165f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5165df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5165f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x51662e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51661a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51662e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xe]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516647
inc edx
jmp 0x516783
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x5166e4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x5166d3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5166b9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x5166d3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516696
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516746
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516732
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516746
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516781
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51676d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516781
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1c]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x51679a
inc edx
jmp 0x5168dd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x51683e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x51682d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516813
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x51682d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x5167f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5168a0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x51688c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5168a0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x5168db
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5168c7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5168db
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x5168f4
inc edx
jmp 0x516a30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x516991
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516980
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516966
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516980
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516943
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x5169f3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5169df
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x5169f3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516a2e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516a1a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516a2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x38]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516a47
inc edx
jmp 0x516b83
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x516ae4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516ad3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516ab9
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516ad3
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516a96
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516b46
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516b32
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516b46
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516b81
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516b6d
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516b81
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x46]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516b9a
inc edx
jmp 0x516cdd
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jbe 0x516c3e
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
nop dword [eax]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516c2d
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516c13
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516c2d
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516bf0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516ca0
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516c8c
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516ca0
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516cdb
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516cc7
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516cdb
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x54]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516cf4
inc edx
jmp 0x516e30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x516d91
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516d80
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516d66
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x516d80
mov byte [esi], 0
inc esi
sub edx, 1
jne 0x516d43
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516df3
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516ddf
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516df3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add ebx, ecx
shl edi, cl
or edi, dword [ebp - 0x10c]
cmp ebx, 0xf
jle 0x516e2e
mov eax, edi
lea ecx, [ebx - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516e1a
mov byte [esi], 0
inc esi
sub ebx, 0x10
mov eax, edi
mov ecx, ebx
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x516e2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x62]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516e47
inc edx
jmp 0x516f83
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x62e950]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x516ee4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add ebx, eax
shl edi, cl
or edi, dword [ebp - 0x120]
cmp ebx, 0xf
jle 0x516ed3
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add ebx, edx
shl eax, cl
mov ecx, edx
dec eax
shl edi, cl
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + 0x18]
or edi, dword [ecx + eax*4]
cmp ebx, 0xf
jle 0x516f46
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x70]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x516f9a