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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x22c
mov dword [ebp - 0x22c], edx
mov esi, ecx
mov eax, dword [0x1043db14]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, 0x200
lea ebx, [ebp - 0x210]
push edi
push 0xff
push ebx
call fcn.1023abb0
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x214], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x220], ebx
mov ebx, esi
mov dword [ebp - 0x234], eax
cmp eax, edi
jb 0x1020c9a2
mov eax, dword [ebx]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax]
sub ecx, dword [ebp + 8]
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov esi, ecx
neg esi
cmovs esi, ecx
movzx ecx, byte [esi + 0x1040f340]
xor esi, esi
dec esi
shl esi, cl
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + ecx*4]
shl edi, cl
not esi
and esi, eax
or edi, esi
mov dword [ebp - 0x238], ebx
mov esi, dword [ebx + 8]
movsx ebx, byte [edx + ecx + 0x400]
add ebx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
js 0x1020ca12
mov dword [ebp - 0x214], eax
mov ecx, ebx
shl esi, cl
or edi, esi
mov dword [ebp - 0x218], edi
mov esi, dword [ebp - 0x220]
jmp 0x1020cabf
shl esi, cl
mov edx, edi
mov edi, eax
mov ecx, eax
neg cl
mov dword [ebp - 0x218], edx
mov eax, edx
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020ca9f
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea esi, [edx + ecx]
add esi, 2
jmp 0x1020cab4
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov esi, eax
mov eax, edi
add eax, 0x20
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 2]
test ecx, ecx
je 0x1020cb34
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + ecx*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + ecx + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020cb4f
mov dword [ebp - 0x220], esi
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020cc0c
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020cc0c
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020cbda
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020cbed
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x10]
test ecx, ecx
je 0x1020cc81
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020cc93
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020cd52
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020cd52
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020cd20
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020cd33
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x20]
test ecx, ecx
je 0x1020cdc9
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020cddb
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020ce9e
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020ce9e
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020ce6c
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020ce7f
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x12]
test ecx, ecx
je 0x1020cf13
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020cf25
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020cfe4
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020cfe4
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020cfb2
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020cfc5
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 4]
test ecx, ecx
je 0x1020d05b
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020d06d
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020d130
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020d130
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d0fe
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d111
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 6]
test ecx, ecx
je 0x1020d1a5
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020d1b7
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020d276
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020d276
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d244
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d257
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x14]
test ecx, ecx
je 0x1020d2ed
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020d2ff
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020d3c2
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020d3c2
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d390
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d3a3
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x22]
test ecx, ecx
je 0x1020d437
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020d449
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020d508
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020d508
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d4d6
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d4e9
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x30]
test ecx, ecx
je 0x1020d57f
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020d591
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020d654
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020d654
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d622
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d635
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x40]
test ecx, ecx
je 0x1020d6c9
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020d6db
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020d79a
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020d79a
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d768
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d77b
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x32]
test ecx, ecx
je 0x1020d811
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020d823
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020d8e6
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020d8e6
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d8b4
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020d8c7
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x24]
test ecx, ecx
je 0x1020d95b
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020d96d
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020da2c
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020da2c
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020d9fa
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020da0d
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x16]
test ecx, ecx
je 0x1020daa3
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + esi*4]
shl edi, cl
or edi, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020dab5
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020db78
add dword [ebp - 0x21c], 0x10
mov edi, dword [ebp - 0x218]
jmp 0x1020db78
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, edi
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020db46
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov byte [ecx + esi + 2], bl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], bl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], bl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020db59
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov ebx, dword [ebp - 0x214]
add ebx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 8]
test ecx, ecx
je 0x1020dbed
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edx
movsx edx, byte [ebx + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020dbff
mov ecx, edx
shl edi, cl
or eax, edi
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
jmp 0x1020dcbe
add dword [ebp - 0x21c], 0x10
mov dword [ebp - 0x218], edi
jmp 0x1020dcbe
shl edi, cl
mov dword [ebp - 0x214], ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020dc8c
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020dc9f
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0xa]
test ecx, ecx
je 0x1020dd35
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
not edx
and edx, eax
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + esi*4]
shl ebx, cl
or ebx, edx
movsx edx, byte [eax + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, edx
js 0x1020dd47
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
or ebx, eax
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edx
jmp 0x1020de11
add dword [ebp - 0x21c], 0x10
mov ebx, dword [ebp - 0x218]
jmp 0x1020de11
mov edx, dword [ebp - 0x218]
shl edx, cl
mov dword [ebp - 0x214], eax
mov ecx, eax
neg cl
mov eax, ebx
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020dddf
xor ecx, ecx
mov byte [esi + 1], cl
xor ecx, ecx
cmp edx, 0xff
sete cl
mov edx, eax
shr edx, 0x10
mov byte [ecx + esi + 1], dl
lea edx, [ecx + esi]
mov edi, ecx
xor ecx, ecx
mov byte [edi + esi + 2], cl
mov esi, eax
not esi
mov ecx, esi
and ecx, 0xff0000
cmp ecx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov ecx, 0
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020ddf2
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov edi, dword [ebp - 0x214]
add edi, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax + 0x18]
test ecx, ecx
je 0x1020de93
mov dword [ebp - 0x218], ebx
mov eax, ecx
sar eax, 0x1f
add eax, ecx
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, byte [edx + 0x1040f340]
mov esi, dword [ebp - 0x21c]
add esi, ecx
xor edx, edx
dec edx
shl edx, cl
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + esi*4]
shl edi, cl
not edx
and edx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, edx
movsx edx, byte [edi + esi + 0x400]
add edx, ecx
mov ecx, dword [ebp - 0x214]
mov ebx, ecx
sub ebx, edx
js 0x1020dea1
mov ecx, edx
mov edx, dword [ebp - 0x218]
shl edx, cl
or eax, edx
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ebx
mov edx, eax
jmp 0x1020df62
add dword [ebp - 0x21c], 0x10
mov edx, ebx
jmp 0x1020df62
mov edx, dword [ebp - 0x218]
shl edx, cl
mov edi, ebx
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], eax
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020df30
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020df43
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x218]
add edi, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], edi
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x26]
test eax, eax
je 0x1020dfd4
mov dword [ebp - 0x218], edx
mov edx, eax
sar edx, 0x1f
add edx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx ebx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020dfe0
mov dword [ebp - 0x228], ebx
mov esi, dword [ebp + 0x10]
movsx ecx, byte [esi + 0x4f0]
mov eax, dword [ebp - 0x214]
mov ebx, eax
sub ebx, ecx
mov dword [ebp - 0x224], ebx
mov ebx, dword [esi + 0x3c0]
js 0x1020dff1
mov eax, dword [ebp - 0x218]
shl eax, cl
or ebx, eax
mov dword [ebp - 0x218], ebx
jmp 0x1020e0b6
add dword [ebp - 0x21c], 0x10
jmp 0x1020e1e3
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x224], eax
jmp 0x1020e0c6
mov ecx, eax
mov eax, dword [ebp - 0x218]
shl eax, cl
mov ecx, dword [ebp - 0x224]
neg cl
shr ebx, cl
or ebx, eax
mov eax, 0xfefefefe
sub eax, ebx
and eax, ebx
mov ecx, ebx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020e087
xor eax, eax
mov byte [esi + 1], al
mov edi, ebx
xor ebx, ebx
cmp ecx, 0xff
sete bl
mov ecx, edi
shr ecx, 0x10
mov byte [ebx + esi + 1], cl
lea ecx, [ebx + esi]
xor eax, eax
mov byte [ebx + esi + 2], al
mov ebx, edi
mov esi, edi
not esi
mov eax, esi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and esi, 0xff00
cmp esi, 1
mov byte [ecx + 1], bh
mov eax, 0
mov byte [ecx + 2], al
adc ecx, 1
mov byte [ecx + 1], bl
mov byte [ecx + 2], al
xor eax, eax
cmp bl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020e09a
mov eax, ebx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], bh
mov byte [esi + 3], bl
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
add dword [ebp - 0x224], 0x20
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x3c0]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], 0
mov ebx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x21c]
add esi, ebx
xor eax, eax
dec eax
mov ecx, ebx
shl eax, cl
not eax
and edx, eax
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + esi*4]
shl eax, cl
or eax, edx
mov edx, eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, ebx
mov ebx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1020e11a
mov eax, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x21c], 0
jmp 0x1020e1e3
mov ecx, ebx
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, eax
neg cl
mov dword [ebp - 0x218], edx
mov eax, edx
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020e1ab
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020e1be
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x218]
add eax, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x34]
test eax, eax
je 0x1020e261
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020e26d
mov dword [ebp - 0x230], edx
mov edx, dword [ebp + 0x10]
movsx ebx, byte [edx + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edx + 0x3c0]
js 0x1020e27e
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
mov edx, dword [ebp - 0x230]
jmp 0x1020e340
add dword [ebp - 0x21c], 0x10
jmp 0x1020e47f
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020e358
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020e309
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020e31c
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x230]
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x3c0]
mov dword [ebp - 0x218], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020e3b2
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020e47f
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020e447
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020e45a
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x42]
test eax, eax
je 0x1020e4f7
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020e503
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020e514
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020e5d0
add dword [ebp - 0x21c], 0x10
jmp 0x1020e715
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020e5ee
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020e59f
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020e5b2
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020e648
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020e715
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020e6dd
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020e6f0
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x50]
test eax, eax
je 0x1020e78d
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020e799
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020e7aa
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020e866
add dword [ebp - 0x21c], 0x10
jmp 0x1020e9ab
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020e884
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020e835
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020e848
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020e8de
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020e9ab
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020e973
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020e986
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x60]
test eax, eax
je 0x1020ea23
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020ea2f
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020ea40
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020eafc
add dword [ebp - 0x21c], 0x10
jmp 0x1020ec41
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020eb1a
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020eacb
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020eade
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020eb74
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020ec41
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020ec09
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020ec1c
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x52]
test eax, eax
je 0x1020ecb9
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020ecc5
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020ecd6
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020ed92
add dword [ebp - 0x21c], 0x10
jmp 0x1020eed7
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020edb0
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020ed61
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020ed74
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020ee0a
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020eed7
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020ee9f
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020eeb2
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x44]
test eax, eax
je 0x1020ef4f
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020ef5b
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020ef6c
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020f028
add dword [ebp - 0x21c], 0x10
jmp 0x1020f16d
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020f046
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020eff7
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020f00a
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020f0a0
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020f16d
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020f135
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020f148
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x36]
test eax, eax
je 0x1020f1e5
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020f1f1
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020f202
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020f2be
add dword [ebp - 0x21c], 0x10
jmp 0x1020f403
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020f2dc
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020f28d
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020f2a0
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
mov esi, dword [ebp - 0x21c]
add esi, edx
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020f336
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020f403
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020f3cb
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020f3de
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x28]
test eax, eax
je 0x1020f47b
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020f487
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020f498
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020f554
add dword [ebp - 0x21c], 0x10
jmp 0x1020f699
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020f572
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020f523
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020f536
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020f5cc
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020f699
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020f661
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020f674
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x1a]
test eax, eax
je 0x1020f711
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020f71d
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020f72e
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020f7ea
add dword [ebp - 0x21c], 0x10
jmp 0x1020f92f
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020f808
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020f7b9
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020f7cc
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020f862
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020f92f
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020f8f7
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020f90a
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0xc]
test eax, eax
je 0x1020f9a7
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020f9b3
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020f9c4
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020fa80
add dword [ebp - 0x21c], 0x10
jmp 0x1020fbc5
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020fa9e
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020fa4f
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020fa62
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020faf8
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020fbc5
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020fb8d
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020fba0
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0xe]
test eax, eax
je 0x1020fc3d
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020fc49
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020fc5a
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020fd16
add dword [ebp - 0x21c], 0x10
jmp 0x1020fe5b
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020fd34
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020fce5
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020fcf8
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x1020fd8e
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1020fe5b
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1020fe23
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1020fe36
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x1c]
test eax, eax
je 0x1020fed3
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1020fedf
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1020fef0
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1020ffac
add dword [ebp - 0x21c], 0x10
jmp 0x102100f1
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1020ffca
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1020ff7b
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x1020ff8e
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x10210024
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x102100f1
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102100b9
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102100cc
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x2a]
test eax, eax
je 0x10210169
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x10210175
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x10210186
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x10210242
add dword [ebp - 0x21c], 0x10
jmp 0x10210387
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x10210260
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x10210211
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x10210224
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x102102ba
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x10210387
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1021034f
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10210362
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x38]
test eax, eax
je 0x102103ff
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x1021040b
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x1021041c
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x102104d8
add dword [ebp - 0x21c], 0x10
jmp 0x1021061d
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x102104f6
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x102104a7
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x102104ba
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x10210550
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x1021061d
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102105e5
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102105f8
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x46]
test eax, eax
je 0x10210695
mov dword [ebp - 0x218], edx
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x224], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx edx, byte [ecx + 0x1040f340]
cmp dword [ebp - 0x21c], 0x100
jb 0x102106a1
mov dword [ebp - 0x230], edx
mov edi, dword [ebp + 0x10]
movsx ebx, byte [edi + 0x4f0]
mov ecx, dword [ebp - 0x214]
mov eax, ecx
sub eax, ebx
mov edx, dword [edi + 0x3c0]
js 0x102106b2
mov edi, edx
mov edx, dword [ebp - 0x218]
mov ecx, ebx
shl edx, cl
or edi, edx
mov dword [ebp - 0x218], edi
mov ebx, eax
jmp 0x1021076e
add dword [ebp - 0x21c], 0x10
jmp 0x102108b3
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
jmp 0x1021078c
mov ebx, dword [ebp - 0x218]
shl ebx, cl
mov dword [ebp - 0x228], eax
mov ecx, eax
neg cl
shr edx, cl
or edx, ebx
mov eax, 0xfefefefe
sub eax, edx
and eax, edx
mov ecx, edx
shr ecx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], cl
test eax, 0x80808080
je 0x1021073d
xor ebx, ebx
mov byte [esi + 1], bl
xor eax, eax
cmp ecx, 0xff
sete al
mov ecx, edx
shr ecx, 0x10
mov byte [eax + esi + 1], cl
lea ecx, [eax + esi]
mov byte [eax + esi + 2], bl
mov edi, edx
not edi
mov eax, edi
and eax, 0xff0000
cmp eax, 1
adc ecx, 1
and edi, 0xff00
cmp edi, 1
mov byte [ecx + 1], dh
mov byte [ecx + 2], bl
adc ecx, 1
mov byte [ecx + 1], dl
mov byte [ecx + 2], bl
xor eax, eax
cmp dl, 0xff
sete al
add eax, ecx
add eax, 2
jmp 0x10210750
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov byte [esi + 2], dh
mov byte [esi + 3], dl
mov eax, esi
add eax, 4
mov ebx, dword [ebp - 0x228]
add ebx, 0x20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x3c0]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x220], eax
add dword [ebp - 0x21c], 0xffffff00
mov eax, ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x214], ebx
mov edx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
add esi, edx
xor eax, eax
dec eax
mov ecx, edx
shl eax, cl
not eax
mov edi, dword [ebp - 0x224]
and edi, eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + esi*4]
shl eax, cl
or eax, edi
mov edi, eax
movsx ecx, byte [ebx + esi + 0x400]
add ecx, edx
mov ebx, dword [ebp - 0x214]
sub ebx, ecx
mov dword [ebp - 0x214], ebx
js 0x102107e6
mov eax, dword [ebp - 0x218]
shl eax, cl
or edi, eax
mov dword [ebp - 0x21c], 0
mov edx, edi
jmp 0x102108b3
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x218]
shl esi, cl
mov ecx, ebx
neg cl
mov dword [ebp - 0x218], edi
mov eax, edi
sar eax, cl
or eax, esi
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1021087b
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021088e
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x54]
test eax, eax
je 0x102109fe
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10210a0a
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10210923
shl edx, cl
or edx, eax
jmp 0x102109e0
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102109bd
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102109d4
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102108fc
jmp 0x10210a10
add dword [ebp - 0x21c], 0x10
jmp 0x10210b42
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10210a81
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10210b42
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10210b0a
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10210b1d
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x62]
test eax, eax
je 0x10210c8d
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10210c99
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10210bb2
shl edx, cl
or edx, eax
jmp 0x10210c6f
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10210c4c
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10210c63
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10210b8b
jmp 0x10210c9f
add dword [ebp - 0x21c], 0x10
jmp 0x10210dd1
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10210d10
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10210dd1
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10210d99
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10210dac
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x70]
test eax, eax
je 0x10210f1c
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10210f28
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10210e41
shl edx, cl
or edx, eax
jmp 0x10210efe
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10210edb
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10210ef2
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10210e1a
jmp 0x10210f2e
add dword [ebp - 0x21c], 0x10
jmp 0x10211060
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10210f9f
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10211060
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10211028
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021103b
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x72]
test eax, eax
je 0x102111ab
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x102111b7
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102110d0
shl edx, cl
or edx, eax
jmp 0x1021118d
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021116a
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10211181
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102110a9
jmp 0x102111bd
add dword [ebp - 0x21c], 0x10
jmp 0x102112ef
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021122e
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x102112ef
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102112b7
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102112ca
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x64]
test eax, eax
je 0x1021143a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10211446
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021135f
shl edx, cl
or edx, eax
jmp 0x1021141c
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102113f9
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10211410
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10211338
jmp 0x1021144c
add dword [ebp - 0x21c], 0x10
jmp 0x1021157e
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102114bd
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x1021157e
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10211546
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10211559
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x56]
test eax, eax
je 0x102116c9
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x102116d5
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102115ee
shl edx, cl
or edx, eax
jmp 0x102116ab
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10211688
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x1021169f
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102115c7
jmp 0x102116db
add dword [ebp - 0x21c], 0x10
jmp 0x1021180d
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021174c
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x1021180d
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102117d5
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102117e8
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x48]
test eax, eax
je 0x10211958
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10211964
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021187d
shl edx, cl
or edx, eax
jmp 0x1021193a
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10211917
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x1021192e
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10211856
jmp 0x1021196a
add dword [ebp - 0x21c], 0x10
jmp 0x10211a9c
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102119db
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10211a9c
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10211a64
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10211a77
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x3a]
test eax, eax
je 0x10211be7
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10211bf3
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10211b0c
shl edx, cl
or edx, eax
jmp 0x10211bc9
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10211ba6
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10211bbd
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10211ae5
jmp 0x10211bf9
add dword [ebp - 0x21c], 0x10
jmp 0x10211d2b
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10211c6a
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10211d2b
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10211cf3
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10211d06
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x2c]
test eax, eax
je 0x10211e76
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10211e82
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10211d9b
shl edx, cl
or edx, eax
jmp 0x10211e58
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10211e35
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10211e4c
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10211d74
jmp 0x10211e88
add dword [ebp - 0x21c], 0x10
jmp 0x10211fba
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10211ef9
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10211fba
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10211f82
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10211f95
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x1e]
test eax, eax
je 0x10212105
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10212111
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021202a
shl edx, cl
or edx, eax
jmp 0x102120e7
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102120c4
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102120db
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212003
jmp 0x10212117
add dword [ebp - 0x21c], 0x10
jmp 0x10212249
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10212188
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10212249
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10212211
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10212224
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x2e]
test eax, eax
je 0x10212394
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x102123a0
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102122b9
shl edx, cl
or edx, eax
jmp 0x10212376
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10212353
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x1021236a
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212292
jmp 0x102123a6
add dword [ebp - 0x21c], 0x10
jmp 0x102124d8
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10212417
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x102124d8
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102124a0
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102124b3
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x3c]
test eax, eax
je 0x10212623
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x1021262f
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10212548
shl edx, cl
or edx, eax
jmp 0x10212605
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102125e2
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102125f9
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212521
jmp 0x10212635
add dword [ebp - 0x21c], 0x10
jmp 0x10212767
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102126a6
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10212767
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1021272f
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10212742
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x4a]
test eax, eax
je 0x102128b2
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x102128be
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102127d7
shl edx, cl
or edx, eax
jmp 0x10212894
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10212871
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10212888
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102127b0
jmp 0x102128c4
add dword [ebp - 0x21c], 0x10
jmp 0x102129f6
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10212935
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x102129f6
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102129be
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102129d1
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x58]
test eax, eax
je 0x10212b41
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10212b4d
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10212a66
shl edx, cl
or edx, eax
jmp 0x10212b23
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10212b00
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10212b17
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212a3f
jmp 0x10212b53
add dword [ebp - 0x21c], 0x10
jmp 0x10212c85
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10212bc4
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10212c85
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10212c4d
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10212c60
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x66]
test eax, eax
je 0x10212dd0
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10212ddc
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10212cf5
shl edx, cl
or edx, eax
jmp 0x10212db2
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10212d8f
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10212da6
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212cce
jmp 0x10212de2
add dword [ebp - 0x21c], 0x10
jmp 0x10212f14
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10212e53
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10212f14
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10212edc
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10212eef
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x74]
test eax, eax
je 0x1021305f
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x1021306b
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10212f84
shl edx, cl
or edx, eax
jmp 0x10213041
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021301e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10213035
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10212f5d
jmp 0x10213071
add dword [ebp - 0x21c], 0x10
jmp 0x102131a3
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102130e2
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x102131a3
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x1021316b
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021317e
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x76]
test eax, eax
je 0x102132ee
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x102132fa
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10213213
shl edx, cl
or edx, eax
jmp 0x102132d0
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102132ad
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102132c4
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102131ec
jmp 0x10213300
add dword [ebp - 0x21c], 0x10
jmp 0x10213432
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10213371
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10213432
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102133fa
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021340d
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x68]
test eax, eax
je 0x1021357d
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10213589
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102134a2
shl edx, cl
or edx, eax
jmp 0x1021355f
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021353c
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10213553
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x1021347b
jmp 0x1021358f
add dword [ebp - 0x21c], 0x10
jmp 0x102136c1
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10213600
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x102136c1
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10213689
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021369c
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x5a]
test eax, eax
je 0x1021380c
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10213818
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10213731
shl edx, cl
or edx, eax
jmp 0x102137ee
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102137cb
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102137e2
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x1021370a
jmp 0x1021381e
add dword [ebp - 0x21c], 0x10
jmp 0x10213950
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021388f
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10213950
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10213918
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x1021392b
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x4c]
test eax, eax
je 0x10213a9b
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10213aa7
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102139c0
shl edx, cl
or edx, eax
jmp 0x10213a7d
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10213a5a
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10213a71
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10213999
jmp 0x10213aad
add dword [ebp - 0x21c], 0x10
jmp 0x10213bdf
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10213b1e
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
mov dword [ebp - 0x21c], 0
mov edx, eax
jmp 0x10213bdf
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10213ba7
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10213bba
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x3e]
test eax, eax
je 0x10213d2a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x21c], 0x100
mov dword [ebp - 0x218], ebx
jb 0x10213d38
mov ebx, dword [ebp - 0x214]
add dword [ebp - 0x21c], 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10213c4f
shl edx, cl
or edx, eax
jmp 0x10213d0c
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10213ce9
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10213d00
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
mov eax, dword [ebp - 0x21c]
add eax, 0x100
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10213c28
jmp 0x10213d3e
mov esi, dword [ebp - 0x21c]
add esi, 0x10
jmp 0x10213e60
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x21c]
add esi, dword [ebp - 0x224]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x224]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x224]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x224]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10213da7
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10213e60
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10213e30
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10213e43
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x4e]
test eax, eax
je 0x10213faa
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10213fb2
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10213ec8
shl edx, cl
or edx, eax
jmp 0x10213f91
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10213f6e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], esi
mov esi, ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, esi
mov esi, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10213f85
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10213ea5
jmp 0x10213fb8
add esi, 0x10
jmp 0x102140d4
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021401b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x102140d4
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102140a4
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102140b7
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x5c]
test eax, eax
je 0x1021421a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214222
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021413c
shl edx, cl
or edx, eax
jmp 0x10214201
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102141de
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102141f5
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214119
jmp 0x10214228
add esi, 0x10
jmp 0x10214344
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021428b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10214344
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10214314
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214327
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x6a]
test eax, eax
je 0x1021448a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214492
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x102143ac
shl edx, cl
or edx, eax
jmp 0x10214471
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021444e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10214465
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214389
jmp 0x10214498
add esi, 0x10
jmp 0x102145b4
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102144fb
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x102145b4
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10214584
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214597
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x78]
test eax, eax
je 0x102146fa
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214702
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021461c
shl edx, cl
or edx, eax
jmp 0x102146e1
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102146be
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x102146d5
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x102145f9
jmp 0x10214708
add esi, 0x10
jmp 0x10214824
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021476b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10214824
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102147f4
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214807
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x7a]
test eax, eax
je 0x1021496a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214972
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021488c
shl edx, cl
or edx, eax
jmp 0x10214951
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021492e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10214945
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214869
jmp 0x10214978
add esi, 0x10
jmp 0x10214a94
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x102149db
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10214a94
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10214a64
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214a77
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x6c]
test eax, eax
je 0x10214bda
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214be2
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10214afc
shl edx, cl
or edx, eax
jmp 0x10214bc1
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10214b9e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10214bb5
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214ad9
jmp 0x10214be8
add esi, 0x10
jmp 0x10214d04
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10214c4b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10214d04
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10214cd4
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214ce7
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x5e]
test eax, eax
je 0x10214e4a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10214e52
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10214d6c
shl edx, cl
or edx, eax
jmp 0x10214e31
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x10214e0e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10214e25
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214d49
jmp 0x10214e58
add esi, 0x10
jmp 0x10214f74
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x10214ebb
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10214f74
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10214f44
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x10214f57
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x6e]
test eax, eax
je 0x102150ba
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x102150c2
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x10214fdc
shl edx, cl
or edx, eax
jmp 0x102150a1
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x1021507e
xor edx, edx
mov byte [edi + 1], dl
xor edx, edx
cmp ecx, 0xff
sete dl
mov ecx, eax
shr ecx, 0x10
mov byte [edx + edi + 1], cl
lea ecx, [edx + edi]
mov dword [ebp - 0x214], ebx
xor ebx, ebx
mov byte [edx + edi + 2], bl
mov ebx, dword [ebp - 0x214]
mov edi, eax
not edi
mov edx, edi
and edx, 0xff0000
cmp edx, 1
adc ecx, 1
mov byte [ecx + 1], ah
xor edx, edx
mov byte [ecx + 2], dl
and edi, 0xff00
cmp edi, 1
adc ecx, 1
mov byte [ecx + 1], al
xor edx, edx
cmp al, 0xff
mov eax, 0
mov byte [ecx + 2], al
sete dl
lea eax, [ecx + edx]
add eax, 2
mov dword [ebp - 0x220], eax
jmp 0x10215095
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov byte [edi + 2], ah
mov byte [edi + 3], al
add edi, 4
mov dword [ebp - 0x220], edi
add ebx, 0x20
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x3c0]
lea eax, [esi + 0x100]
mov dword [ebp - 0x214], ebx
cmp eax, 0x1ff
ja 0x10214fb9
jmp 0x102150c8
add esi, 0x10
jmp 0x102151e4
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021512b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x102151e4
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x102151b4
xor ecx, ecx
mov byte [esi + 1], cl
xor ebx, ebx
cmp edx, 0xff
sete bl
mov edx, eax
shr edx, 0x10
mov byte [ebx + esi + 1], dl
lea edx, [ebx + esi]
mov byte [ebx + esi + 2], cl
mov esi, eax
not esi
mov ebx, esi
and ebx, 0xff0000
cmp ebx, 1
adc edx, 1
and esi, 0xff00
cmp esi, 1
mov byte [edx + 1], ah
mov byte [edx + 2], cl
adc edx, 1
mov byte [edx + 1], al
mov byte [edx + 2], cl
xor ecx, ecx
cmp al, 0xff
sete cl
lea eax, [edx + ecx]
add eax, 2
jmp 0x102151c7
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov byte [esi + 2], ah
mov byte [esi + 3], al
mov eax, esi
add eax, 4
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
add ecx, 0x20
xor esi, esi
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x7c]
test eax, eax
je 0x1021532a
mov ebx, eax
sar ebx, 0x1f
add ebx, eax
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
mov dword [ebp - 0x21c], eax
cmp esi, 0x100
mov dword [ebp - 0x218], ebx
jb 0x10215332
mov ebx, dword [ebp - 0x214]
add esi, 0xffffff00
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x4f0]
sub ebx, ecx
mov eax, dword [eax + 0x3c0]
js 0x1021524c
shl edx, cl
or edx, eax
jmp 0x10215311
mov ecx, dword [ebp - 0x214]
shl edx, cl
mov ecx, ebx
neg cl
shr eax, cl
or eax, edx
mov edx, 0xfefefefe
sub edx, eax
and edx, eax
mov ecx, eax
shr ecx, 0x18
mov edi, dword [ebp - 0x220]
mov byte [edi], cl
test edx, 0x80808080
je 0x102152ee
add esi, 0x10
jmp 0x10215454
mov ebx, dword [ebp - 0x214]
add esi, dword [ebp - 0x21c]
xor eax, eax
dec eax
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x21c]
shl edi, cl
not eax
mov ecx, dword [ebp - 0x218]
and ecx, eax
mov eax, edi
mov edi, dword [ebp + 0x10]
or eax, ecx
mov dword [ebp - 0x218], eax
movsx ecx, byte [edi + esi + 0x400]
add ecx, dword [ebp - 0x21c]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x214], eax
js 0x1021539b
shl edx, cl
mov eax, dword [ebp - 0x218]
or eax, edx
xor esi, esi
mov edx, eax
jmp 0x10215454
mov ecx, ebx
shl edx, cl
mov ecx, eax
neg cl
mov eax, dword [ebp - 0x218]
sar eax, cl
or eax, edx
mov ecx, 0xfefefefe
sub ecx, eax
and ecx, eax
mov edx, eax
shr edx, 0x18
mov esi, dword [ebp - 0x220]
mov byte [esi], dl
test ecx, 0x80808080
je 0x10215424
mov eax, dword [ebp - 0x22c]
movsx eax, word [eax + 0x7e]
test eax, eax
je 0x10215599
mov ecx, eax
sar ecx, 0x1f
add ecx, eax
mov dword [ebp - 0x21c], ecx
mov ecx, eax
neg ecx
cmovs ecx, eax
movzx eax, byte [ecx + 0x1040f340]
cmp esi, 0x100
mov dword [ebp - 0x22c], eax
jb 0x102155bb
mov esi, edx
mov edx, dword [ebp + 0x10]
movsx ecx, byte [edx + 0x400]
mov eax, dword [ebp - 0x214]
mov ebx, eax
sub ebx, ecx
mov edx, dword [edx]
js 0x102156bd