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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x1005d1b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x214], edx
mov edx, dword [eax + 8]
xor ebx, ebx
cmp dword [eax + 4], 0x200
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x208], edx
jae 0x1001753d
mov dword [ebp - 0x220], 1
lea eax, [ebp - 0x204]
jmp 0x1001753f
mov eax, dword [eax]
movsx edx, word [ecx]
sub edx, dword [ebp + 0xc]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
xor ecx, edx
movzx ecx, byte [ecx + 0x10036c98]
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x214]
mov edx, dword [edx + ecx*4]
shl edx, cl
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x218], edx
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x218]
dec edx
and edx, dword [ebp - 0x20c]
or ecx, edx
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x210]
movsx edx, byte [edx + ecx + 0x400]
add ecx, edx
sub esi, ecx
mov edx, dword [ebp - 0x208]
jns 0x1001768b
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
mov dword [ebp - 0x218], edx
mov edx, dword [ebp - 0x20c]
sar edx, cl
mov ecx, dword [ebp - 0x218]
or ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10017663
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10017693
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
add esi, 0x20
jmp 0x10017693
shl edx, cl
or edx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 2]
cmp ecx, ebx
jne 0x100176b0
mov dword [ebp - 0x208], 0x10
jmp 0x100177ee
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [edi + ecx*4]
shl ebx, cl
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x210]
movsx ebx, byte [edi + ecx + 0x400]
add ecx, ebx
sub esi, ecx
jns 0x100177de
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x100177b4
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x100177e8
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x100177e8
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x10]
cmp ecx, ebx
jne 0x10017808
add dword [ebp - 0x208], 0x10
jmp 0x10017a71
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001793b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov edi, edi
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001791b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x100178f5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10017923
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10017923
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10017850
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10017a61
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10017a37
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10017a6b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10017a6b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x20]
cmp ecx, ebx
jne 0x10017a8b
add dword [ebp - 0x208], 0x10
jmp 0x10017cf6
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10017bbc
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10017b9c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10017b76
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10017ba4
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10017ba4
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10017ad1
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10017ce6
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10017cbc
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10017cf0
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10017cf0
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x12]
cmp ecx, ebx
jne 0x10017d10
add dword [ebp - 0x208], 0x10
jmp 0x10017f81
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10017e4b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10017d60
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10017e2b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10017e05
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10017e33
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10017e33
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10017d60
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10017f71
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10017f47
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10017f7b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10017f7b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 4]
cmp ecx, ebx
jne 0x10017f9b
add dword [ebp - 0x208], 0x10
jmp 0x10018202
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x100180cc
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x100180ac
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018086
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x100180b4
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x100180b4
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10017fe1
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x100181f2
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x100181c8
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x100181fc
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x100181fc
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 6]
cmp ecx, ebx
jne 0x1001821c
add dword [ebp - 0x208], 0x10
jmp 0x10018491
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001835b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10018270
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001833b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018315
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10018343
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10018343
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10018270
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10018481
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10018457
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001848b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001848b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x14]
cmp ecx, ebx
jne 0x100184ab
add dword [ebp - 0x208], 0x10
jmp 0x10018712
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x100185dc
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x100185bc
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018596
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x100185c4
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x100185c4
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x100184f1
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10018702
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x100186d8
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001870c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001870c
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x22]
cmp ecx, ebx
jne 0x1001872c
add dword [ebp - 0x208], 0x10
jmp 0x100189a5
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001886b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10018780
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001884b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018825
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10018853
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10018853
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10018780
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10018995
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001896b
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001899f
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001899f
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x30]
cmp ecx, ebx
jne 0x100189bf
add dword [ebp - 0x208], 0x10
jmp 0x10018c31
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10018afb
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10018a10
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10018adb
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018ab5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10018ae3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10018ae3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10018a10
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10018c21
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10018bf7
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10018c2b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10018c2b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x40]
cmp ecx, ebx
jne 0x10018c4b
add dword [ebp - 0x208], 0x10
jmp 0x10018eb2
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10018d7c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10018d5c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018d36
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10018d64
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10018d64
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10018c91
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10018ea2
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10018e78
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10018eac
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10018eac
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x32]
cmp ecx, ebx
jne 0x10018ecc
add dword [ebp - 0x208], 0x10
jmp 0x10019145
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001900b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10018f20
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10018feb
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10018fc5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10018ff3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10018ff3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10018f20
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10019135
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001910b
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001913f
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001913f
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x24]
cmp ecx, ebx
jne 0x1001915f
add dword [ebp - 0x208], 0x10
jmp 0x100193d1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001929b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x100191b0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001927b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10019255
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019283
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019283
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x100191b0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x100193c1
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10019397
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x100193cb
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x100193cb
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x16]
cmp ecx, ebx
jne 0x100193eb
add dword [ebp - 0x208], 0x10
jmp 0x10019652
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001951c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x100194fc
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x100194d6
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019504
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019504
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10019431
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10019642
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10019618
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001964c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001964c
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 8]
cmp ecx, ebx
jne 0x1001966c
add dword [ebp - 0x208], 0x10
jmp 0x100198e1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x100197ab
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x100196c0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001978b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10019765
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019793
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019793
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x100196c0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x100198d1
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x100198a7
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x100198db
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x100198db
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xa]
cmp ecx, ebx
jne 0x100198fb
add dword [ebp - 0x208], 0x10
jmp 0x10019b62
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10019a2c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10019a0c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x100199e6
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019a14
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019a14
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10019941
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10019b52
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10019b28
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10019b5c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10019b5c
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x18]
cmp ecx, ebx
jne 0x10019b7c
add dword [ebp - 0x208], 0x10
jmp 0x10019df5
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10019cbb
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10019bd0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10019c9b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10019c75
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019ca3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019ca3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10019bd0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x10019de5
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x10019dbb
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x10019def
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x10019def
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x26]
cmp ecx, ebx
jne 0x10019e0f
add dword [ebp - 0x208], 0x10
jmp 0x1001a081
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x10019f4b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x10019e60
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x10019f2b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x10019f05
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x10019f33
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x10019f33
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x10019e60
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001a071
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001a047
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001a07b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001a07b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x34]
cmp ecx, ebx
jne 0x1001a09b
add dword [ebp - 0x208], 0x10
jmp 0x1001a302
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001a1cc
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001a1ac
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001a186
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001a1b4
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001a1b4
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001a0e1
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001a2f2
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001a2c8
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001a2fc
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001a2fc
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x42]
cmp ecx, ebx
jne 0x1001a31c
add dword [ebp - 0x208], 0x10
jmp 0x1001a595
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001a45b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001a370
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001a43b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001a415
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001a443
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001a443
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001a370
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001a585
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001a55b
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001a58f
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001a58f
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x50]
cmp ecx, ebx
jne 0x1001a5af
add dword [ebp - 0x208], 0x10
jmp 0x1001a821
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001a6eb
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001a600
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001a6cb
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001a6a5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001a6d3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001a6d3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001a600
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001a811
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001a7e7
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001a81b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001a81b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x60]
cmp ecx, ebx
jne 0x1001a83b
add dword [ebp - 0x208], 0x10
jmp 0x1001aaa2
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001a96c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001a94c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001a926
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001a954
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001a954
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001a881
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001aa92
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001aa68
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001aa9c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001aa9c
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x52]
cmp ecx, ebx
jne 0x1001aabc
add dword [ebp - 0x208], 0x10
jmp 0x1001ad31
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001abfb
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001ab10
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001abdb
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001abb5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001abe3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001abe3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001ab10
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001ad21
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001acf7
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001ad2b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001ad2b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x44]
cmp ecx, ebx
jne 0x1001ad4b
add dword [ebp - 0x208], 0x10
jmp 0x1001afb2
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001ae7c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001ae5c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001ae36
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001ae64
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001ae64
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001ad91
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001afa2
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001af78
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001afac
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001afac
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x36]
cmp ecx, ebx
jne 0x1001afcc
add dword [ebp - 0x208], 0x10
jmp 0x1001b245
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001b10b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001b020
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001b0eb
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001b0c5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001b0f3
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001b0f3
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001b020
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001b235
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001b20b
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001b23f
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001b23f
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x28]
cmp ecx, ebx
jne 0x1001b25f
add dword [ebp - 0x208], 0x10
jmp 0x1001b4d1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001b39b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001b2b0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001b37b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001b355
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001b383
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001b383
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001b2b0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001b4c1
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001b497
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001b4cb
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001b4cb
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1a]
cmp ecx, ebx
jne 0x1001b4eb
add dword [ebp - 0x208], 0x10
jmp 0x1001b752
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001b61c
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001b5fc
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001b5d6
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001b604
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001b604
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001b531
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001b742
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001b718
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001b74c
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001b74c
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xc]
cmp ecx, ebx
jne 0x1001b76c
add dword [ebp - 0x208], 0x10
jmp 0x1001b9eb
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001b8ae
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001b7c0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001b88e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001b865
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001b896
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001b896
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001b7c0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001b9db
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001b9ae
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001b9e5
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001b9e5
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xe]
cmp ecx, ebx
jne 0x1001ba09
add dword [ebp - 0x208], 0x10
jmp 0x1001bc71
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001bb3b
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
nop
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001bb1b
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001baf5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001bb23
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001bb23
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001ba50
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001bc61
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001bc37
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001bc6b
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001bc6b
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1c]
cmp ecx, ebx
jne 0x1001bc8b
add dword [ebp - 0x208], 0x10
jmp 0x1001bef2
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001bdbc
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001bd9c
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001bd76
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001bda4
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001bda4
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001bcd1
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001bee2
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001beb8
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001beec
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001beec
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2a]
cmp ecx, ebx
jne 0x1001bf0c
add dword [ebp - 0x208], 0x10
jmp 0x1001c187
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001c04e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001bf60
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001c02e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001c005
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001c036
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001c036
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001bf60
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001c177
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001c14a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001c181
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001c181
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x38]
cmp ecx, ebx
jne 0x1001c1a5
add dword [ebp - 0x208], 0x10
jmp 0x1001c417
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001c2de
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001c1f0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001c2be
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001c295
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001c2c6
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001c2c6
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001c1f0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001c407
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001c3da
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001c411
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001c411
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x46]
cmp ecx, ebx
jne 0x1001c435
add dword [ebp - 0x208], 0x10
jmp 0x1001c6ab
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001c56e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001c480
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001c54e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001c525
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001c556
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001c556
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001c480
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001c69b
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001c66e
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001c6a5
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001c6a5
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x54]
cmp ecx, ebx
jne 0x1001c6c9
add dword [ebp - 0x208], 0x10
jmp 0x1001c937
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001c7fe
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
nop
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001c7de
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001c7b5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001c7e6
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001c7e6
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001c710
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001c927
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001c8fa
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001c931
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001c931
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x62]
cmp ecx, ebx
jne 0x1001c955
add dword [ebp - 0x208], 0x10
jmp 0x1001cbc7
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001ca8e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001c9a0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001ca6e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001ca45
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001ca76
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001ca76
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001c9a0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001cbb7
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001cb8a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001cbc1
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001cbc1
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x70]
cmp ecx, ebx
jne 0x1001cbe5
add dword [ebp - 0x208], 0x10
jmp 0x1001ce5b
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001cd1e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001cc30
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001ccfe
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001ccd5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001cd06
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001cd06
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001cc30
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001ce4b
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001ce1e
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001ce55
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001ce55
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x72]
cmp ecx, ebx
jne 0x1001ce79
add dword [ebp - 0x208], 0x10
jmp 0x1001d0e7
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001cfae
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
nop
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001cf8e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001cf65
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001cf96
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001cf96
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001cec0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001d0d7
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001d0aa
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001d0e1
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001d0e1
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x64]
cmp ecx, ebx
jne 0x1001d105
add dword [ebp - 0x208], 0x10
jmp 0x1001d377
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001d23e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001d150
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001d21e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001d1f5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001d226
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001d226
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001d150
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001d367
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001d33a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001d371
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001d371
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x56]
cmp ecx, ebx
jne 0x1001d395
add dword [ebp - 0x208], 0x10
jmp 0x1001d607
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001d4ce
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001d3e0
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001d4ae
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001d485
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001d4b6
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001d4b6
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001d3e0
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001d5f7
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001d5ca
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001d601
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001d601
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x48]
cmp ecx, ebx
jne 0x1001d625
add dword [ebp - 0x208], 0x10
jmp 0x1001d897
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001d75e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001d670
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001d73e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001d715
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001d746
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001d746
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001d670
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001d887
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001d85a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001d891
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001d891
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x3a]
cmp ecx, ebx
jne 0x1001d8b5
add dword [ebp - 0x208], 0x10
jmp 0x1001db2b
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001d9ee
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001d900
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001d9ce
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001d9a5
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001d9d6
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001d9d6
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001d900
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001db1b
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001daee
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001db25
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001db25
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2c]
cmp ecx, ebx
jne 0x1001db49
add dword [ebp - 0x208], 0x10
jmp 0x1001ddb7
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001dc7e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
nop
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001dc5e
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001dc35
shr ecx, 0x18
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov ecx, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], 0
mov ebx, 2
sub ebx, ecx
add eax, ebx
mov byte [eax], dl
cmp dl, 0xff
sbb edx, edx
neg edx
mov ecx, 2
sub ecx, edx
mov byte [eax + 1], 0
mov edx, dword [edi + 0x3c0]
add eax, ecx
add esi, 0x20
jmp 0x1001dc66
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [edi + 0x3c0]
add eax, 4
add esi, 0x20
jmp 0x1001dc66
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001db90
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x208]
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001dda7
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001dd7a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001ddb1
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001ddb1
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1e]
cmp ecx, ebx
jne 0x1001ddd5
add dword [ebp - 0x208], 0x10
jmp 0x1001e047
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001df0e
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x214], ecx
neg ecx
shl ecx, 8
add ebx, ecx
mov dword [ebp - 0x208], ebx
jmp 0x1001de20
movsx ecx, byte [edi + 0x4f0]
sub esi, ecx
jns 0x1001deee
mov ebx, dword [edi + 0x3c0]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
shr ebx, cl
or edx, ebx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x1001dec5
shl edx, cl
or edx, dword [edi + 0x3c0]
dec dword [ebp - 0x214]
jne 0x1001de20
add ebx, ecx
mov dword [ebp - 0x208], ebx
mov ebx, dword [edi + ebx*4]
shl ebx, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x218], ebx
mov ebx, 1
shl ebx, cl
mov ecx, dword [ebp - 0x218]
dec ebx
and ebx, dword [ebp - 0x20c]
or ecx, ebx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x208]
movsx ebx, byte [edi + ecx + 0x400]
mov ecx, dword [ebp - 0x210]
add ecx, ebx
sub esi, ecx
jns 0x1001e037
mov ebx, dword [ebp - 0x20c]
add ecx, esi
shl edx, cl
mov ecx, esi
neg ecx
sar ebx, cl
or edx, ebx
mov ecx, edx
lea edx, [ecx + 0x1010101]
not edx
and edx, ecx
mov dword [ebp - 0x208], ecx
test edx, 0x80808080
je 0x1001e00a
shr ecx, 0x18
mov byte [eax], cl
xor ebx, ebx
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 0x10
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov byte [eax + 1], bl
mov edx, 2
sub edx, ecx
mov ecx, dword [ebp - 0x208]
add eax, edx
shr ecx, 8
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
movzx ecx, byte [ebp - 0x208]
mov byte [eax + 1], bl
add eax, edx
mov byte [eax], cl
cmp cl, 0xff
sbb ecx, ecx
neg ecx
mov edx, 2
sub edx, ecx
mov byte [eax + 1], bl
add eax, edx
mov edx, dword [ebp - 0x20c]
add esi, 0x20
jmp 0x1001e041
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20c]
mov byte [eax + 3], cl
add eax, 4
xor ebx, ebx
add esi, 0x20
jmp 0x1001e041
shl edx, cl
or edx, dword [ebp - 0x20c]
xor ebx, ebx
mov dword [ebp - 0x208], ebx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2e]
cmp ecx, ebx
jne 0x1001e065
add dword [ebp - 0x208], 0x10
jmp 0x1001e2de
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
xor ebx, ecx
mov dword [ebp - 0x20c], ecx
movzx ecx, byte [ebx + 0x10036c98]
mov ebx, dword [ebp - 0x208]
mov dword [ebp - 0x210], ecx
cmp ebx, 0x100
jl 0x1001e1a1