Function at 0x101a5fd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101f21a0
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x102289dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x11c], ecx
test edx, edx
jne 0x101a621c
mov ax, word [eax]
mov edi, dword [esi + 0x28]
sar ax, cl
dec edi
and ax, 1
mov dword [esi + 0x28], edi
movzx eax, ax
mov ecx, edi
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x140], eax
cmp edi, 0x10
jg 0x101a620b
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a609d
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x140], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x114], ecx
mov edx, ecx
mov eax, dword [ebp - 0x114]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x140]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a61ad
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a6104
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6126
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6148
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a616a
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a618c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a61f4
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a61f4
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ecx, dword [ebp - 0x11c]
mov edx, 1
mov dword [ebp - 0x12c], edx
cmp edx, dword [ebp + 0x14]
jg 0x101a874b
xor esi, esi
movsx ebx, cx
mov edi, edx
nop dword [eax]
mov eax, dword [edi*4 + 0x10211fe0]
mov ecx, dword [ebp + 8]
movsx eax, word [ecx + eax*2]
mov cl, bl
cdq
xor eax, edx
sub eax, edx
movzx eax, ax
movsx edx, ax
mov eax, edi
sar edx, cl
cmp edx, 1
mov dword [ebp + edi*4 - 0x110], edx
cmovne eax, esi
inc edi
mov esi, eax
cmp edi, dword [ebp + 0x14]
jle 0x101a6230
xor ebx, ebx
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
push 0x40
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], ebx
call fcn.10052140
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x12c]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x13c], edx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebp + edi*4 - 0x110]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x101a62e7
inc ebx
jmp 0x101a7a3a
cmp ebx, 0xf
jle 0x101a6d55
cmp edi, dword [ebp - 0x150]
jg 0x101a6d4f
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebx]
test eax, eax
jle 0x101a6700
bsr eax, eax
mov ebx, 0x1f
sub ebx, eax
mov eax, dword [ebp - 0x124]
xor ebx, 0x1f
mov edi, ebx
mov dword [ebp - 0x120], ebx
shl edi, 4
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edi*4 + 0x400]
mov ecx, dword [ecx + edi*4]
cdq
test ecx, ecx
jne 0x101a6343
mov byte [esi], cl
jmp 0x101a6511
sub dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x128], eax
jg 0x101a650b
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a639d
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x128], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x114], ecx
mov edx, ecx
mov eax, dword [ebp - 0x114]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x128]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a64ad
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a6404
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6426
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6448
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a646a
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a648c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a64f4
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a64f4
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x120]
test ebx, ebx
jle 0x101a66f4
mov edx, dword [ebp - 0x124]
mov ecx, ebx
mov eax, 1
shl eax, cl
dec eax
and eax, dword [edx]
sub dword [esi + 0x28], ebx
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x120], eax
jg 0x101a66f4
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a6586
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x120], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x114], ecx
mov edx, ecx
mov eax, dword [ebp - 0x114]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x120]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a6696
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a65ed
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a660f
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6631
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6653
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6675
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a66dd
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a66dd
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x124]
mov dword [ebx], 0
mov eax, dword [ebx + 0xc]
xor edx, edx
mov ecx, dword [ebx + 8]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x128], edx
test eax, eax
je 0x101a6912
nop dword [eax + eax]
mov eax, dword [ecx + edx*4]
dec dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x120], eax
jg 0x101a68ec
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a677e
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x120], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x114], ecx
mov edx, ecx
mov eax, dword [ebp - 0x114]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x120]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a688e
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a67e5
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6807
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6829
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a684b
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a686d
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a68d5
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a68d5
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x128]
inc edx
mov dword [ebp - 0x128], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x101a6720
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x7c0]
mov ecx, dword [ecx + 0x3c0]
cdq
test ecx, ecx
jne 0x101a6930
mov byte [esi], cl
jmp 0x101a6af8
sub dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x120], eax
jg 0x101a6af8
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a698a
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x120], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x114], ecx
mov edx, ecx
mov eax, dword [ebp - 0x114]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x120]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a6a9a
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a69f1
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6a13
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6a35
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6a57
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6a79
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6ae1
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a6ae1
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x13c]
sub ebx, 0x10
mov eax, edx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x11c], edx
cmp edx, dword [ebp - 0x134]
je 0x101a6d32
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x24]
nop word [eax + eax]
mov eax, dword [eax]
dec ecx
cdq
mov dword [ebp - 0x114], ecx
mov dword [esi + 0x28], ecx
call fcn.101e8c40
mov ecx, dword [ebp - 0x114]
or ebx, eax
or edi, edx
mov dword [esi + 0x20], ebx
mov eax, edi
mov dword [esi + 0x24], edi
shr eax, 0x18
mov dword [ebp - 0x128], eax
cmp ecx, 0x10
jg 0x101a6d0b
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x120], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a6b9c
push esi
call fcn.101a8e80
mov eax, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x120], eax
mov eax, edi
shr eax, 0x18
mov byte [ebp - 0x128], al
mov eax, dword [esi + 0x14]
not ebx
or ebx, 0xffff
not edi
mov edx, ebx
mov ecx, edi
add edx, 0xfefefeff
not edi
not ebx
adc ecx, 0xfefefefe
and edx, ebx
mov ebx, dword [ebp - 0x128]
and ecx, edi
mov edi, dword [ebp - 0x120]
and edx, 0x80808080
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a6ca6
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a6bfd
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6c1f
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6c41
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6c63
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6c85
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6ced
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a6ced
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov ebx, eax
mov ecx, dword [esi + 0x28]
mov edi, edx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edi
mov eax, dword [ebp - 0x11c]
add eax, 4
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebp - 0x134]
jne 0x101a6b30
mov ebx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x12c]
mov ecx, edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], ecx
cmp ebx, 0xf
jg 0x101a62f0
mov eax, dword [ebp - 0x118]
cmp eax, 1
jle 0x101a6dbd
and eax, 1
mov dword [ebp - 0x118], eax
cmp ecx, dword [ebp - 0x140]
je 0x101a6d81
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], ecx
jmp 0x101a7a40
lea eax, [ebp - 0x118]
push eax
push ecx
lea ecx, [ebp - 0x14c]
call fcn.1004f260
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x13c], edx
jmp 0x101a7a40
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebx]
test eax, eax
jle 0x101a71f3
bsr eax, eax
mov ecx, 0x1f
sub ecx, eax
xor ecx, 0x1f
mov edi, ecx
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 0x24]
shl edi, 4
mov eax, dword [ecx + edi*4 + 0x400]
cdq
mov dword [ebp - 0x118], eax
mov eax, dword [ecx + edi*4]
mov ecx, dword [esi + 0x28]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0x128], ecx
test eax, eax
jne 0x101a6e13
mov byte [esi], al
jmp 0x101a6ff0
sub ecx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x128], ecx
mov dword [esi + 0x28], ecx
call fcn.101e8c40
or edi, eax
or ebx, edx
cmp dword [ebp - 0x128], 0x10
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
jg 0x101a6ff0
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x120], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a6e72
push esi
call fcn.101a8e80
mov eax, dword [esi + 0x18]
add esp, 4
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0x120], eax
mov eax, ebx
shr eax, 0x18
jmp 0x101a6e75
mov al, byte [esi + 0x27]
not edi
mov dword [ebp - 0x11c], eax
mov eax, dword [esi + 0x14]
or edi, 0xffff
mov edx, edi
not ebx
add edx, 0xfefefeff
mov ecx, ebx
not edi
not ebx
adc ecx, 0xfefefefe
and edx, edi
mov edi, dword [ebp - 0x120]
and ecx, ebx
mov ebx, dword [ebp - 0x11c]
and edx, 0x80808080
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a6f85
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a6edc
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6efe
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6f20
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6f42
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6f64
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a6fcc
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a6fcc
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov edi, eax
mov eax, dword [esi + 0x28]
mov ebx, edx
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x114]
test ecx, ecx
jle 0x101a71e7
mov edx, dword [ebp - 0x124]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x128]
dec eax
sub ecx, dword [ebp - 0x114]
and eax, dword [edx]
cdq
mov dword [ebp - 0x128], ecx
mov dword [esi + 0x28], ecx
call fcn.101e8c40
mov ecx, eax
or ecx, edi
mov edi, edx
or edi, ebx
mov dword [esi + 0x20], ecx
mov ebx, edi
mov dword [esi + 0x24], edi
shr ebx, 0x18
cmp dword [ebp - 0x128], 0x10
jg 0x101a71e7
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x114], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a7079
push esi
call fcn.101a8e80
mov edi, dword [esi + 0x24]
add esp, 4
mov eax, dword [esi + 0x18]
mov ebx, edi
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x114], eax
shr ebx, 0x18
not ecx
not edi
or ecx, 0xffff
mov edx, ecx
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
add edx, 0xfefefeff
mov ecx, edi
not eax
adc ecx, 0xfefefefe
not edi
and edx, eax
and ecx, edi
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov edi, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a7189
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a70e0
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7102
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7124
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7146
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7168
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a71d0
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a71d0
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x124]
mov dword [ebx], 0
mov eax, dword [ebx + 0xc]
xor edx, edx
mov ecx, dword [ebx + 8]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x11c], edx
test eax, eax
je 0x101a7402
nop
mov eax, dword [ecx + edx*4]
dec dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
jg 0x101a73dc
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a726e
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x118], ecx
mov edx, ecx
mov eax, dword [ebp - 0x118]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a737e
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a72d5
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a72f7
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7319
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a733b
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a735d
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a73c5
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a73c5
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x11c]
inc edx
mov dword [ebp - 0x11c], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x101a7210
mov edx, dword [ebp - 0x12c]
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebp - 0x130]
mov ebx, dword [ebp + 0xc]
mov eax, dword [edx*4 + 0x10211fe0]
mov edx, dword [ebp + 8]
mov edi, dword [esi + 0x24]
shl ecx, 4
mov dword [ebp - 0x128], edi
mov ax, word [edx + eax*2]
not ax
shr ax, 0xf
movzx eax, ax
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + ecx*4 + 0x404]
cdq
mov dword [ebp - 0x118], eax
mov eax, dword [ebx + ecx*4 + 4]
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x20]
test eax, eax
jne 0x101a7461
mov byte [esi], al
jmp 0x101a7649
sub ecx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x130], ecx
mov dword [esi + 0x28], ecx
call fcn.101e8c40
mov ecx, dword [ebp - 0x130]
or edi, edx
or ebx, eax
mov dword [ebp - 0x128], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edi
cmp ecx, 0x10
jg 0x101a7649
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x11c], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a74c8
push esi
call fcn.101a8e80
mov eax, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x24]
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x11c], eax
mov eax, edi
shr eax, 0x18
jmp 0x101a74cb
mov al, byte [esi + 0x27]
not ebx
mov dword [ebp - 0x114], eax
mov eax, dword [esi + 0x14]
or ebx, 0xffff
mov edx, ebx
not edi
add edx, 0xfefefeff
mov ecx, edi
not edi
not ebx
adc ecx, 0xfefefefe
and edx, ebx
mov ebx, dword [ebp - 0x114]
and ecx, edi
mov edi, dword [ebp - 0x11c]
and edx, 0x80808080
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a75db
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a7532
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7554
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7576
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7598
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a75ba
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7622
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a7622
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x28]
mov cl, 0x30
mov edx, dword [esi + 0x24]
add eax, 0x30
mov dword [ebp - 0x130], eax
mov eax, dword [esi + 0x20]
call fcn.101e8c40
mov ecx, dword [ebp - 0x130]
mov ebx, eax
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x120]
lea edi, [ecx - 1]
movzx eax, ax
mov ecx, edi
cdq
mov dword [esi + 0x28], edi
call fcn.101e8c40
mov ecx, eax
or ecx, ebx
mov ebx, edx
or ebx, dword [ebp - 0x128]
mov eax, ebx
mov dword [esi + 0x20], ecx
shr eax, 0x18
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
cmp edi, 0x10
jg 0x101a781e
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a76b0
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x118], ecx
mov edx, ecx
mov eax, dword [ebp - 0x118]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a77c0
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a7717
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7739
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a775b
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a777d
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a779f
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7807
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a7807
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov edx, dword [ebp - 0x13c]
mov eax, edx
mov dword [ebp - 0x11c], edx
cmp eax, dword [ebp - 0x134]
je 0x101a7a24
mov eax, dword [eax]
dec dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
jg 0x101a7a03
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a7895
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x118], ecx
mov edx, ecx
mov eax, dword [ebp - 0x118]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a79a5
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a78fc
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a791e
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7940
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7962
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7984
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a79ec
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a79ec
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov eax, dword [ebp - 0x11c]
add eax, 4
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebp - 0x134]
jne 0x101a7838
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x12c]
mov ecx, edx
mov dword [ebp - 0x134], ecx
xor ebx, ebx
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x130], ebx
inc edi
mov dword [ebp - 0x12c], edi
cmp edi, dword [ebp + 0x14]
jle 0x101a62d0
test ebx, ebx
jg 0x101a7a5c
cmp edx, ecx
je 0x101a872f
mov edi, dword [ebp - 0x124]
mov eax, dword [edi]
test eax, eax
jne 0x101a7a6e
mov ebx, dword [ebp + 0xc]
mov dword [edi + 4], ebx
push dword [ebp - 0x138]
inc eax
lea ebx, [edi + 8]
push ecx
push edx
mov dword [edi], eax
mov ecx, ebx
push dword [edi + 0xc]
call fcn.101a1fc0
mov ecx, dword [edi]
cmp ecx, 0x7fff
je 0x101a7aa3
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 2
cmp eax, 0xffc1
jbe 0x101a810a
test ecx, ecx
jle 0x101a7efb
bsr eax, ecx
mov ecx, 0x1f
sub ecx, eax
mov eax, dword [ebp - 0x124]
xor ecx, 0x1f
mov edi, ecx
mov dword [ebp - 0x150], ecx
shl edi, 4
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edi*4 + 0x400]
mov ecx, dword [ecx + edi*4]
cdq
test ecx, ecx
jne 0x101a7ae2
mov byte [esi], cl
jmp 0x101a7cd9
mov edi, dword [esi + 0x28]
sub edi, ecx
mov ecx, edi
mov dword [esi + 0x28], edi
call fcn.101e8c40
or eax, dword [esi + 0x20]
mov ecx, edx
or ecx, dword [esi + 0x24]
mov dword [ebp - 0x118], eax
mov dword [esi + 0x20], eax
mov eax, ecx
shr eax, 0x18
mov dword [esi + 0x24], ecx
mov dword [ebp - 0x12c], eax
cmp edi, 0x10
jg 0x101a7cd9
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x114], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a7b51
push esi
call fcn.101a8e80
mov eax, dword [esi + 0x18]
add esp, 4
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0x114], eax
mov eax, ecx
shr eax, 0x18
mov byte [ebp - 0x12c], al
jmp 0x101a7b57
mov edi, dword [ebp - 0x118]
not edi
not ecx
or edi, 0xffff
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
mov edx, edi
add edx, 0xfefefeff
not edi
not eax
adc ecx, 0xfefefefe
and edx, edi
mov edi, dword [ebp - 0x114]
and ecx, eax
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov dword [ebp - 0x118], edx
and ecx, 0x80808080
mov edx, dword [ebp - 0x12c]
mov byte [edi + eax], dl
mov edx, dword [ebp - 0x118]
or edx, ecx
mov edx, dword [esi + 0x18]
je 0x101a7c7b
inc edx
cmp byte [ebp - 0x12c], 0xff
mov dword [esi + 0x18], edx
jne 0x101a7bd2
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7bf4
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7c16
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7c38
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7c5a
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7cc2
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a7cc2
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ecx, dword [ebp - 0x150]
test ecx, ecx
jle 0x101a7eef
mov edx, dword [ebp - 0x124]
mov eax, 1
mov edi, dword [esi + 0x28]
shl eax, cl
sub edi, ecx
dec eax
mov ecx, edi
and eax, dword [edx]
cdq
mov dword [esi + 0x28], edi
call fcn.101e8c40
or eax, dword [esi + 0x20]
mov ecx, edx
or ecx, dword [esi + 0x24]
mov dword [ebp - 0x118], eax
mov dword [esi + 0x20], eax
mov eax, ecx
shr eax, 0x18
mov dword [esi + 0x24], ecx
mov dword [ebp - 0x12c], eax
cmp edi, 0x10
jg 0x101a7eef
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x114], eax
add eax, 0xc
cmp eax, 0x4000
jbe 0x101a7d67
push esi
call fcn.101a8e80
mov eax, dword [esi + 0x18]
add esp, 4
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
mov dword [ebp - 0x114], eax
mov eax, ecx
shr eax, 0x18
mov byte [ebp - 0x12c], al
jmp 0x101a7d6d
mov edi, dword [ebp - 0x118]
not edi
not ecx
or edi, 0xffff
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
mov edx, edi
add edx, 0xfefefeff
not edi
not eax
adc ecx, 0xfefefefe
and edx, edi
mov edi, dword [ebp - 0x114]
and ecx, eax
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov dword [ebp - 0x118], edx
and ecx, 0x80808080
mov edx, dword [ebp - 0x12c]
mov byte [edi + eax], dl
mov edx, dword [ebp - 0x118]
or edx, ecx
mov edx, dword [esi + 0x18]
je 0x101a7e91
inc edx
cmp byte [ebp - 0x12c], 0xff
mov dword [esi + 0x18], edx
jne 0x101a7de8
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7e0a
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7e2c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7e4e
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7e70
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7ed8
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a7ed8
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov edi, dword [ebp - 0x124]
mov dword [edi], 0
mov eax, dword [ebx + 4]
xor edx, edx
mov ecx, dword [ebx]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x11c], edx
test eax, eax
je 0x101a8107
mov eax, dword [ecx + edx*4]
dec dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
jg 0x101a80e1
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a7f73
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x118], ecx
mov edx, ecx
mov eax, dword [ebp - 0x118]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a8083
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a7fda
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a7ffc
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a801e
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8040
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8062
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a80ca
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a80ca
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov edi, dword [ebp - 0x124]
mov edx, dword [ebp - 0x11c]
inc edx
mov dword [ebp - 0x11c], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x101a7f15
mov dword [edi + 0xc], ecx
cmp dword [ebp - 0x138], 0
jg 0x101a8729
mov eax, dword [edi]
test eax, eax
jle 0x101a8519
mov ebx, dword [ebp - 0x124]
mov ecx, 0x1f
bsr eax, eax
sub ecx, eax
xor ecx, 0x1f
mov edi, ecx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebx + 4]
shl edi, 4
mov eax, dword [ecx + edi*4 + 0x400]
mov ecx, dword [ecx + edi*4]
cdq
test ecx, ecx
jne 0x101a8158
mov byte [esi], cl
jmp 0x101a8329
mov edi, dword [esi + 0x28]
sub edi, ecx
mov ecx, edi
mov dword [esi + 0x28], edi
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
cmp edi, 0x10
jg 0x101a8323
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a81b5
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x138], ecx
mov edx, ecx
mov eax, dword [ebp - 0x138]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a82c5
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a821c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a823e
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8260
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8282
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a82a4
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a830c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a830c
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov ebx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x118]
test ecx, ecx
jle 0x101a850d
mov edi, dword [esi + 0x28]
mov eax, 1
shl eax, cl
sub edi, ecx
dec eax
mov ecx, edi
and eax, dword [ebx]
cdq
mov dword [esi + 0x28], edi
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
cmp edi, 0x10
jg 0x101a850d
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a839f
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x138], ecx
mov edx, ecx
mov eax, dword [ebp - 0x138]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a84af
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a8406
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8428
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a844a
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a846c
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a848e
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a84f6
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a84f6
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov edi, dword [ebp - 0x124]
mov dword [edi], 0
mov eax, dword [edi + 0xc]
xor edx, edx
mov ecx, dword [edi + 8]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x11c], edx
test eax, eax
je 0x101a8726
mov eax, dword [ecx + edx*4]
dec dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
cdq
call fcn.101e8c40
mov ebx, edx
mov ecx, eax
or ebx, dword [esi + 0x24]
or ecx, dword [esi + 0x20]
mov eax, ebx
shr eax, 0x18
cmp dword [esi + 0x28], 0x10
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x114], eax
jg 0x101a8700
mov edi, dword [esi + 0x18]
lea eax, [edi + 0xc]
cmp eax, 0x4000
jbe 0x101a8592
push esi
call fcn.101a8e80
mov ebx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [esi + 0x20]
mov eax, ebx
mov edi, dword [esi + 0x18]
shr eax, 0x18
mov byte [ebp - 0x114], al
not ecx
not ebx
or ecx, 0xffff
mov dword [ebp - 0x138], ecx
mov edx, ecx
mov eax, dword [ebp - 0x138]
add edx, 0xfefefeff
mov ecx, ebx
not eax
adc ecx, 0xfefefefe
not ebx
and edx, eax
and ecx, ebx
mov eax, dword [esi + 0x14]
and edx, 0x80808080
mov ebx, dword [ebp - 0x114]
and ecx, 0x80808080
or edx, ecx
mov byte [edi + eax], bl
mov edx, dword [esi + 0x18]
je 0x101a86a2
inc edx
mov dword [esi + 0x18], edx
cmp bl, 0xff
jne 0x101a85f9
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x26]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a861b
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x25]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a863d
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x24]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a865f
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x23]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a8681
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x22]
mov byte [edx + eax], cl
mov edx, dword [esi + 0x18]
inc edx
mov dword [esi + 0x18], edx
cmp cl, 0xff
jne 0x101a86e9
mov eax, dword [esi + 0x14]
mov byte [edx + eax], 0
inc dword [esi + 0x18]
jmp 0x101a86e9
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x26]
mov byte [edx + ecx + 1], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x25]
mov byte [edx + ecx + 2], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x24]
mov byte [edx + ecx + 3], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x23]
mov byte [edx + ecx + 4], al
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
movzx eax, byte [esi + 0x22]
mov byte [edx + ecx + 5], al
add dword [esi + 0x18], 6
mov eax, dword [esi + 0x20]
mov cl, 0x30
mov edx, dword [esi + 0x24]
call fcn.101e8c40
add dword [esi + 0x28], 0x30
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov edi, dword [ebp - 0x124]
mov edx, dword [ebp - 0x11c]
inc edx
mov dword [ebp - 0x11c], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x101a8534
mov dword [edi + 0xc], ecx
mov edx, dword [ebp - 0x13c]
test edx, edx
je 0x101a874b
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x14c]
sub eax, edx
sar eax, 2
push eax
push edx
call fcn.10075300
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101e8c02
mov esp, ebp
pop ebp
ret