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

Disassembly:
sub esp, 0x22c
mov eax, dword [0x101e900c]
xor eax, esp
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x230]
mov eax, dword [esp + 0x234]
push ebx
push ebp
mov edx, dword [ecx + 4]
mov ebp, dword [esp + 0x248]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], edx
push esi
lea esi, [esp + 0x34]
push edi
mov edi, dword [esp + 0x24c]
mov dword [esp + 0x14], edi
cmp edx, 0x200
jb 0x100740e0
mov esi, dword [ecx]
movsx edx, word [eax]
sub edx, dword [esp + 0x248]
mov eax, edx
mov ebp, dword [esp + 0x2c]
sar eax, 0x1f
add edx, eax
xor eax, edx
movzx ecx, byte [eax + 0x1016fc00]
mov eax, 1
shl eax, cl
dec eax
and eax, edx
mov edx, 2
mov edi, dword [edi + ecx*4]
shl edi, cl
or edi, eax
mov eax, dword [esp + 0x14]
movsx eax, byte [eax + ecx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100741de
mov ecx, ebx
mov eax, edi
neg ecx
sar eax, cl
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
shl eax, cl
mov ecx, dword [esp + 0x10]
or ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100741be
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x10]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x10]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x10]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100741e5
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x100741e5
mov eax, dword [ebp + 8]
shl eax, cl
or edi, eax
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
movsx ecx, word [eax + 2]
test ecx, ecx
jne 0x100741fd
lea edx, [ecx + 0x10]
jmp 0x10074306
mov eax, ecx
mov dword [esp + 0x20], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x14], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov eax, dword [ebp + ecx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x14]
or dword [esp + 0x10], eax
movsx eax, byte [ecx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100742fa
mov eax, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [esp + 0x20]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100742d6
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074300
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x10074300
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x10]
test ecx, ecx
jne 0x10074316
add edx, 0x10
jmp 0x10074420
mov eax, ecx
mov dword [esp + 0x14], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
add edx, ecx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074414
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
mov dword [esp + 0x18], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100743f0
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007441a
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x1007441a
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x20]
test ecx, ecx
jne 0x10074430
add edx, 0x10
jmp 0x1007453a
mov eax, ecx
mov dword [esp + 0x14], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
add edx, ecx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007452e
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
mov dword [esp + 0x18], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007450a
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074534
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10074534
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x12]
test ecx, ecx
jne 0x1007454a
add edx, 0x10
jmp 0x10074654
mov eax, ecx
mov dword [esp + 0x14], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
add edx, ecx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074648
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
mov dword [esp + 0x18], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10074624
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007464e
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x1007464e
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 4]
test ecx, ecx
jne 0x10074664
add edx, 0x10
jmp 0x1007476e
mov eax, ecx
mov dword [esp + 0x14], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
add edx, ecx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074762
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
mov dword [esp + 0x18], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007473e
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074768
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10074768
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 6]
test ecx, ecx
jne 0x1007477e
add edx, 0x10
jmp 0x1007499f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100748a9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x20], ebx
sub ebx, ecx
jns 0x10074892
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x20]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007486c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074896
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10074896
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100747c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x24], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074993
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x24]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007496f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074999
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10074999
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x14]
test ecx, ecx
jne 0x100749af
add edx, 0x10
jmp 0x10074bcf
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10074ad9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10074ac2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10074a9c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074ac6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10074ac6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100749f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074bc3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10074b9f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074bc9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10074bc9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x22]
test ecx, ecx
jne 0x10074bdf
add edx, 0x10
jmp 0x10074dff
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10074d09
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10074cf2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10074ccc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074cf6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10074cf6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10074c20
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10074df3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10074dcf
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074df9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10074df9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x30]
test ecx, ecx
jne 0x10074e0f
add edx, 0x10
jmp 0x1007502f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10074f39
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10074f22
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10074efc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10074f26
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10074f26
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10074e50
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075023
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10074fff
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075029
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075029
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x40]
test ecx, ecx
jne 0x1007503f
add edx, 0x10
jmp 0x1007525f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10075169
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10075152
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007512c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075156
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10075156
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075080
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075253
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007522f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075259
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075259
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x32]
test ecx, ecx
jne 0x1007526f
add edx, 0x10
jmp 0x1007548f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10075399
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10075382
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007535c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075386
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10075386
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100752b0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075483
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007545f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075489
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075489
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x24]
test ecx, ecx
jne 0x1007549f
add edx, 0x10
jmp 0x100756bf
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100755c9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100755b2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007558c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100755b6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100755b6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100754e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100756b3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007568f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100756b9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100756b9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x16]
test ecx, ecx
jne 0x100756cf
add edx, 0x10
jmp 0x100758ef
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100757f9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100757e2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100757bc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100757e6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100757e6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075710
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100758e3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100758bf
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100758e9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100758e9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 8]
test ecx, ecx
jne 0x100758ff
add edx, 0x10
jmp 0x10075b23
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10075a29
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10075a12
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100759ec
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075a16
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10075a16
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075940
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075b17
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10075af3
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075b1d
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075b1d
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x10075b33
add edx, 0x10
jmp 0x10075d57
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10075c5d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10075c46
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10075c20
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075c4a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10075c4a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075b70
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075d4b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10075d27
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075d51
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075d51
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x18]
test ecx, ecx
jne 0x10075d67
add edx, 0x10
jmp 0x10075f97
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10075e9d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10075e86
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10075e60
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075e8a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10075e8a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075db0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10075f8b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10075f67
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10075f91
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10075f91
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x26]
test ecx, ecx
jne 0x10075fa7
add edx, 0x10
jmp 0x100761cf
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100760d9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100760c2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007609c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100760c6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100760c6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10075ff0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100761c3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007619f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100761c9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100761c9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x34]
test ecx, ecx
jne 0x100761df
add edx, 0x10
jmp 0x10076403
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10076309
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100762f2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100762cc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100762f6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100762f6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076220
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100763f7
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100763d3
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100763fd
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100763fd
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x42]
test ecx, ecx
jne 0x10076413
add edx, 0x10
jmp 0x10076637
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x1007653d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10076526
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10076500
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007652a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007652a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076450
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007662b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10076607
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076631
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10076631
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x50]
test ecx, ecx
jne 0x10076647
add edx, 0x10
jmp 0x10076877
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x1007677d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10076766
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10076740
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007676a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007676a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076690
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007686b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10076847
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076871
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10076871
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x60]
test ecx, ecx
jne 0x10076887
add edx, 0x10
jmp 0x10076aaf
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100769b9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100769a2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007697c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100769a6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100769a6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100768d0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10076aa3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10076a7f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076aa9
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10076aa9
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x52]
test ecx, ecx
jne 0x10076abf
add edx, 0x10
jmp 0x10076ce3
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10076be9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10076bd2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10076bac
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076bd6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10076bd6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076b00
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10076cd7
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10076cb3
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076cdd
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10076cdd
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x44]
test ecx, ecx
jne 0x10076cf3
add edx, 0x10
jmp 0x10076f17
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10076e1d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10076e06
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10076de0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076e0a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10076e0a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076d30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10076f0b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10076ee7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10076f11
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10076f11
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x36]
test ecx, ecx
jne 0x10076f27
add edx, 0x10
jmp 0x10077157
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x1007705d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077046
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10077020
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007704a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007704a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10076f70
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007714b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10077127
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077151
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10077151
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x28]
test ecx, ecx
jne 0x10077167
add edx, 0x10
jmp 0x1007738f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x10077299
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077282
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007725c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077286
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10077286
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100771b0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10077383
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007735f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077389
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10077389
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x1a]
test ecx, ecx
jne 0x1007739f
add edx, 0x10
jmp 0x100775c3
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100774c9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100774b2
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007748c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100774b6
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100774b6
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100773e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100775b7
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10077593
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100775bd
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100775bd
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0xc]
test ecx, ecx
jne 0x100775d3
add edx, 0x10
jmp 0x100777f7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x100776fd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100776e6
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100776c0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100776ea
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100776ea
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10077610
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100777eb
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100777c7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100777f1
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100777f1
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0xe]
test ecx, ecx
jne 0x10077807
add edx, 0x10
jmp 0x10077a37
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jb 0x1007793d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077926
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10077900
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007792a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007792a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10077850
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10077a2b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10077a07
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077a31
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10077a31
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x1c]
test ecx, ecx
jne 0x10077a47
add edx, 0x10
jmp 0x10077c6f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10077b79
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077b62
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10077b3c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077b66
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10077b66
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10077a90
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10077c63
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10077c3f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077c69
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10077c69
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x2a]
test ecx, ecx
jne 0x10077c7f
add edx, 0x10
jmp 0x10077ea3
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10077da9
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077d92
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10077d6c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077d96
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10077d96
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10077cc0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10077e97
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10077e73
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077e9d
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10077e9d
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x38]
test ecx, ecx
jne 0x10077eb3
add edx, 0x10
jmp 0x100780d7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10077fdd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10077fc6
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10077fa0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10077fca
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10077fca
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10077ef0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100780cb
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100780a7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100780d1
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100780d1
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x46]
test ecx, ecx
jne 0x100780e7
add edx, 0x10
jmp 0x10078317
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x1007821d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078206
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100781e0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007820a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007820a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10078130
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007830b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100782e7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078311
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10078311
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x54]
test ecx, ecx
jne 0x10078327
add edx, 0x10
jmp 0x1007854f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10078459
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078442
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007841c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078446
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10078446
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10078370
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10078543
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x1007851f
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078549
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10078549
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x62]
test ecx, ecx
jne 0x1007855f
add edx, 0x10
jmp 0x10078783
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10078689
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078672
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007864c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078676
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10078676
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100785a0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10078777
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10078753
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007877d
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x1007877d
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x70]
test ecx, ecx
jne 0x10078793
add edx, 0x10
jmp 0x100789b7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x100788bd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100788a6
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10078880
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100788aa
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100788aa
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100787d0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100789ab
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10078987
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100789b1
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100789b1
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x72]
test ecx, ecx
jne 0x100789c7
add edx, 0x10
jmp 0x10078bf7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10078afd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078ae6
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10078ac0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078aea
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10078aea
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10078a10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10078beb
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10078bc7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078bf1
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10078bf1
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x64]
test ecx, ecx
jne 0x10078c07
add edx, 0x10
jmp 0x10078e2f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10078d39
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078d22
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10078cfc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078d26
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10078d26
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10078c50
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10078e23
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10078dff
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078e29
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10078e29
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x56]
test ecx, ecx
jne 0x10078e3f
add edx, 0x10
jmp 0x10079063
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10078f69
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10078f52
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10078f2c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10078f56
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10078f56
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10078e80
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10079057
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10079033
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007905d
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x1007905d
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x48]
test ecx, ecx
jne 0x10079073
add edx, 0x10
jmp 0x10079297
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x1007919d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10079186
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10079160
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007918a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x1007918a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100790b0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x1007928b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10079267
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079291
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10079291
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x3a]
test ecx, ecx
jne 0x100792a7
add edx, 0x10
jmp 0x100794d7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x100793dd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x100793c6
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100793a0
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100793ca
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x100793ca
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x100792f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100794cb
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100794a7
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100794d1
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x100794d1
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x2c]
test ecx, ecx
jne 0x100794e7
add edx, 0x10
jmp 0x1007970f
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10079619
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10079602
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x100795dc
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079606
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10079606
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10079530
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10079703
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100796df
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079709
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10079709
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x1e]
test ecx, ecx
jne 0x1007971f
add edx, 0x10
jmp 0x10079943
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10079849
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10079832
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x1007980c
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079836
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10079836
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10079760
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10079937
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10079913
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x1007993d
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x1007993d
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x2e]
test ecx, ecx
jne 0x10079953
add edx, 0x10
jmp 0x10079b77
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10079a7d
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10079a66
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x10079a40
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079a6a
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [ebp + 0x3c0]
add ebx, 0x20
jmp 0x10079a6a
shl edi, cl
or edi, eax
sub dword [esp + 0x14], 1
jne 0x10079990
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10079b6b
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x1c]
shl edi, cl
or edx, edi
mov dword [esp + 0x14], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x10079b47
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [esp + 0x10]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x14]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x10079b71
mov edi, dword [esp + 0x10]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x10079b71
shl edi, cl
or edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor edx, edx
movsx ecx, word [eax + 0x3c]
test ecx, ecx
jne 0x10079b87
add edx, 0x10
jmp 0x10079db7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax + 0x1016fc00]
mov dword [esp + 0x24], ecx
cmp edx, 0x100
jl 0x10079cbd
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, 2
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x1c], ebx
sub ebx, ecx
jns 0x10079ca6
add edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x10079dab
movsx ecx, word [eax + 0x4a]
test ecx, ecx
jne 0x10079dc7