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

Disassembly:
sub esp, 0x22c
mov eax, dword [0x104fb780]
xor eax, esp
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x230]
mov eax, dword [esp + 0x234]
push ebx
push ebp
mov ebp, dword [esp + 0x248]
mov ebx, dword [ecx + 0x10]
mov edx, dword [ecx + 8]
push esi
push edi
mov edi, dword [ecx + 0x28]
lea esi, [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x38]
add eax, 2
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], eax
cmp eax, 0x200
jb 0x100c3fb3
mov esi, dword [ecx]
mov eax, dword [esp + 0x28]
movsx ecx, word [eax]
sub ecx, dword [esp + 0x248]
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x1043af40]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x20], ecx
cmp ecx, eax
jle 0x100c4004
mov eax, dword [edi]
mov dword [eax + 0x14], 6
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x24]
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
mov edi, dword [edi + ecx*4]
shl edi, cl
or edi, eax
mov eax, dword [esp + 0x18]
movsx eax, byte [eax + ecx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x100c40df
mov eax, dword [esp + 0x10]
mov ecx, ebx
neg ecx
mov edx, edi
sar edx, cl
mov ecx, dword [esp + 0x14]
shl eax, cl
or edx, eax
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c40bf
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, 2
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c40e3
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 0x100c40e3
shl edx, cl
or edi, edx
mov eax, dword [esp + 0x28]
movsx ecx, word [eax + 2]
test ecx, ecx
jne 0x100c40f7
lea eax, [ecx + 0x10]
jmp 0x100c4213
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x1043af40]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x100c4136
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [ebp + ecx*4]
mov eax, 1
shl eax, cl
dec eax
shl edx, cl
and eax, dword [esp + 0x1c]
or edx, eax
mov dword [esp + 0x14], ebx
movsx eax, byte [ecx + ebp + 0x400]
add ecx, eax
mov dword [esp + 0x1c], edx
sub ebx, ecx
jns 0x100c420d
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c41e9
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x1c]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4211
mov edi, dword [esp + 0x1c]
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 0x100c4211
shl edi, cl
or edi, edx
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x10]
test ecx, ecx
jne 0x100c422b
add eax, 0x10
jmp 0x100c4355
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x1043af40]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x100c426a
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c434d
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c4329
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4353
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 0x100c4353
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x20]
test ecx, ecx
jne 0x100c436d
add eax, 0x10
jmp 0x100c4497
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x1043af40]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x100c43ac
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c448f
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c446b
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4495
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 0x100c4495
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x12]
test ecx, ecx
jne 0x100c44af
add eax, 0x10
jmp 0x100c46eb
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c44ea
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x100c4600
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, dword [esp + 0x14]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c45ef
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c45c9
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c45f3
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 0x100c45f3
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c4512
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c46e3
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c46bf
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c46e9
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 0x100c46e9
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 4]
test ecx, ecx
jne 0x100c4703
add eax, 0x10
jmp 0x100c4949
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c473e
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c485e
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, dword [esp + 0x14]
nop word [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c484d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c4827
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c4851
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 0x100c4851
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c4770
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c4941
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c491d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4947
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 0x100c4947
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 6]
test ecx, ecx
jne 0x100c4961
add eax, 0x10
jmp 0x100c4ba9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c499c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c4abe
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c4aad
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c4a87
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c4ab1
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 0x100c4ab1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c49d0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c4ba1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c4b7d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4ba7
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 0x100c4ba7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x14]
test ecx, ecx
jne 0x100c4bc1
add eax, 0x10
jmp 0x100c4e09
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c4bfc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c4d1e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c4d0d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c4ce7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c4d11
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 0x100c4d11
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c4c30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c4e01
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c4ddd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c4e07
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 0x100c4e07
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x22]
test ecx, ecx
jne 0x100c4e21
add eax, 0x10
jmp 0x100c5069
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c4e5c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c4f7e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c4f6d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c4f47
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c4f71
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 0x100c4f71
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c4e90
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c5061
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c503d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c5067
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 0x100c5067
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x30]
test ecx, ecx
jne 0x100c5081
add eax, 0x10
jmp 0x100c52c9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c50bc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c51de
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c51cd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c51a7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c51d1
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 0x100c51d1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c50f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c52c1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c529d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c52c7
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 0x100c52c7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x40]
test ecx, ecx
jne 0x100c52e1
add eax, 0x10
jmp 0x100c5529
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c531c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c543e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c542d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c5407
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c5431
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 0x100c5431
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c5350
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c5521
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c54fd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c5527
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 0x100c5527
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x32]
test ecx, ecx
jne 0x100c5541
add eax, 0x10
jmp 0x100c5789
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c557c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c569e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c568d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c5667
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c5691
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 0x100c5691
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c55b0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c5781
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c575d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c5787
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 0x100c5787
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x24]
test ecx, ecx
jne 0x100c57a1
add eax, 0x10
jmp 0x100c59e9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c57dc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c58fe
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c58ed
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c58c7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c58f1
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 0x100c58f1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c5810
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c59e1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c59bd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c59e7
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 0x100c59e7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x16]
test ecx, ecx
jne 0x100c5a01
add eax, 0x10
jmp 0x100c5c49
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c5a3c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c5b5e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c5b4d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c5b27
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c5b51
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 0x100c5b51
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c5a70
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c5c41
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c5c1d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c5c47
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 0x100c5c47
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 8]
test ecx, ecx
jne 0x100c5c61
add eax, 0x10
jmp 0x100c5ea9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c5c9c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c5dbe
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c5dad
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c5d87
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c5db1
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 0x100c5db1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c5cd0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c5ea1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c5e7d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c5ea7
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 0x100c5ea7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xa]
test ecx, ecx
jne 0x100c5ec1
add eax, 0x10
jmp 0x100c6109
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c5efc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c601e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c600d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c5fe7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6011
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 0x100c6011
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c5f30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6101
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c60dd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6107
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 0x100c6107
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x18]
test ecx, ecx
jne 0x100c6121
add eax, 0x10
jmp 0x100c6369
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c615c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c627e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c626d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c6247
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6271
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 0x100c6271
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c6190
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6361
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c633d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6367
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 0x100c6367
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x26]
test ecx, ecx
jne 0x100c6381
add eax, 0x10
jmp 0x100c65c9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c63bc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c64de
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c64cd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c64a7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c64d1
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 0x100c64d1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c63f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c65c1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c659d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c65c7
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 0x100c65c7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x34]
test ecx, ecx
jne 0x100c65e1
add eax, 0x10
jmp 0x100c6829
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c661c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c673e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c672d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c6707
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6731
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 0x100c6731
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c6650
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6821
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c67fd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6827
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 0x100c6827
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x42]
test ecx, ecx
jne 0x100c6841
add eax, 0x10
jmp 0x100c6a89
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c687c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c699e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c698d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c6967
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6991
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 0x100c6991
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c68b0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6a81
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c6a5d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6a87
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 0x100c6a87
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x50]
test ecx, ecx
jne 0x100c6aa1
add eax, 0x10
jmp 0x100c6ce9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c6adc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c6bfe
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c6bed
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c6bc7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6bf1
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 0x100c6bf1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c6b10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6ce1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c6cbd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6ce7
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 0x100c6ce7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x60]
test ecx, ecx
jne 0x100c6d01
add eax, 0x10
jmp 0x100c6f49
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c6d3c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c6e5e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c6e4d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c6e27
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c6e51
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 0x100c6e51
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c6d70
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c6f41
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c6f1d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c6f47
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 0x100c6f47
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x52]
test ecx, ecx
jne 0x100c6f61
add eax, 0x10
jmp 0x100c71a9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c6f9c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c70be
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c70ad
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c7087
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c70b1
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 0x100c70b1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c6fd0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c71a1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c717d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c71a7
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 0x100c71a7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x44]
test ecx, ecx
jne 0x100c71c1
add eax, 0x10
jmp 0x100c7409
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c71fc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c731e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c730d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c72e7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c7311
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 0x100c7311
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c7230
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c7401
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c73dd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c7407
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 0x100c7407
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x36]
test ecx, ecx
jne 0x100c7421
add eax, 0x10
jmp 0x100c7669
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c745c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c757e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c756d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c7547
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c7571
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 0x100c7571
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c7490
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c7661
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c763d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c7667
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 0x100c7667
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x28]
test ecx, ecx
jne 0x100c7681
add eax, 0x10
jmp 0x100c78c9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c76bc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c77de
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c77cd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c77a7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c77d1
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 0x100c77d1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c76f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c78c1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c789d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c78c7
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 0x100c78c7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x1a]
test ecx, ecx
jne 0x100c78e1
add eax, 0x10
jmp 0x100c7b29
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c791c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c7a3e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c7a2d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c7a07
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c7a31
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 0x100c7a31
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c7950
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c7b21
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c7afd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c7b27
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 0x100c7b27
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xc]
test ecx, ecx
jne 0x100c7b41
add eax, 0x10
jmp 0x100c7d89
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c7b7c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c7c9e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c7c8d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c7c67
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c7c91
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 0x100c7c91
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c7bb0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c7d81
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c7d5d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c7d87
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 0x100c7d87
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xe]
test ecx, ecx
jne 0x100c7da1
add eax, 0x10
jmp 0x100c7fe9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c7ddc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c7efe
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c7eed
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c7ec7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c7ef1
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 0x100c7ef1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c7e10
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c7fe1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c7fbd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c7fe7
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 0x100c7fe7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x1c]
test ecx, ecx
jne 0x100c8001
add eax, 0x10
jmp 0x100c8249
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c803c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c815e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c814d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c8127
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c8151
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 0x100c8151
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c8070
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c8241
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c821d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c8247
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 0x100c8247
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x2a]
test ecx, ecx
jne 0x100c8261
add eax, 0x10
jmp 0x100c84a9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c829c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c83be
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c83ad
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c8387
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c83b1
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 0x100c83b1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c82d0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c84a1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c847d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c84a7
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 0x100c84a7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x38]
test ecx, ecx
jne 0x100c84c1
add eax, 0x10
jmp 0x100c8709
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c84fc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c861e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c860d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c85e7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
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, 2
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, edi
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, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x100c8611
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 0x100c8611
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c8530
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c8701
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c86dd
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x100c8707
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 0x100c8707
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x46]
test ecx, ecx
jne 0x100c8721
add eax, 0x10
jmp 0x100c8969
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x1043af40]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x100c875c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x100c887e
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, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x100c886d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
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 0x100c8847
shl edi, cl
or edi, eax
sub edx, 1
jne 0x100c8790
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], 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 0x100c8961
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x100c893d
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x54]
test ecx, ecx
jne 0x100c8981