Function at 0x10156551
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f4
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x1f0], eax
mov eax, dword [0x10240c80]
push ebx
push esi
push edi
cmp byte [eax + 0x35df], 0
mov edi, ecx
je 0x101573ae
mov eax, dword [0x10242574]
mov ecx, dword [eax]
test ecx, ecx
je 0x101573ae
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x101573ae
mov eax, dword [0x10240c88]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [esp + 0xa0]
push ecx
push eax
mov ecx, esi
call edx
movq xmm0, qword [0x1020c358]
test al, al
mov al, byte [0x1020c360]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x18], al
je 0x10155c12
mov esi, dword [esp + 0x130]
jmp 0x10155c15
or esi, 0xffffffff
xor ebx, ebx
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 9
jl 0x10155c17
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jne 0x101573ae
mov eax, dword [0x1020d0bc]
xor ebx, ebx
mov dword [esp + 0x10], eax
mov ax, word [0x1020d0c0]
mov word [esp + 0x14], ax
mov al, byte [0x1020d0c2]
mov byte [esp + 0x16], al
nop
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 7
jl 0x10155c70
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push 0
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
je 0x101573ae
push 0
call fcn.101c37ae
add esp, 4
push eax
call fcn.101c379c
add esp, 4
call fcn.101c377b
cdq
mov ecx, 0xc
idiv ecx
xorps xmm0, xmm0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
movups xmmword [esp + 0x88], xmm0
mov byte [esp + 0x88], 0
cmp edx, 0xb
ja case.default.0x10155cfb
jmp dword [edx*4 + 0x101573c8]
movups xmm0, xmmword [0x1020d5c0]
mov ax, word [0x1020d5f0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x50], ax
movups xmm0, xmmword [0x1020d5d0]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x1020d5e0]
movups xmmword [esp + 0x40], xmm0
jl 0x10155e72
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x10155d70
cmp ebx, 0x32
jge 0x10155e9c
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x32
jl 0x10155e72
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10155ea3
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [0x1020d7b0]
mov al, byte [0x1020d7d8]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov byte [esp + 0x48], al
movups xmm0, xmmword [0x1020d7c0]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x1020d7d0]
movq qword [esp + 0x40], xmm0
jl 0x10156022
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10155f20
cmp ebx, 0x29
jge 0x1015604c
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x29
jl 0x10156022
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156053
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [0x1020d32c]
mov ax, word [0x1020d34c]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x40], ax
movups xmm0, xmmword [0x1020d33c]
mov al, byte [0x1020d34e]
mov byte [esp + 0x42], al
movups xmmword [esp + 0x30], xmm0
jl 0x101561d2
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x101560d0
cmp ebx, 0x23
jge 0x101561fc
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x23
jl 0x101561d2
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156203
jmp 0x1015712a
movups xmm0, xmmword [str.fYZ_VT]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x1020c650]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [str.02_8t.22]
movups xmmword [esp + 0x40], xmm0
jl 0x10156370
movaps xmm0, xmmword [0x10215900]
lea esi, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esi + ecx]
xorps xmm1, xmm0
movd dword [esi + ecx], xmm1
add ecx, 8
cmp ecx, 0x30
jl 0x10156270
jmp 0x1015639a
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x30
jl 0x10156370
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101563a1
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [str.xSSMJ_]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x1020d268]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x1020d278]
movq qword [esp + 0x40], xmm0
jl 0x10156510
movaps xmm0, xmmword [0x10215900]
lea esi, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esi + ecx]
xorps xmm1, xmm0
movd dword [esi + ecx], xmm1
add ecx, 8
cmp ecx, 0x28
jl 0x10156411
jmp 0x1015653a
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x28
jl 0x10156510
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156541
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [str.aWQW_eRR]
mov ax, word [0x1020d6d0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x48], ax
movups xmm0, xmmword [0x1020d6b8]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x1020d6c8]
movq qword [esp + 0x40], xmm0
jl 0x101566c2
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x101565c0
cmp ebx, 0x2a
jge 0x101566ec
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x2a
jl 0x101566c2
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101566f3
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [0x1020d514]
mov eax, dword [0x1020d53c]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x48], eax
movups xmm0, xmmword [0x1020d524]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x1020d534]
movq qword [esp + 0x40], xmm0
jl 0x10156872
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10156770
cmp ebx, 0x2c
jge 0x1015689c
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x2c
jl 0x10156872
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101568a3
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [0x1020cb3c]
mov ax, word [0x1020cb74]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x58], ax
movups xmm0, xmmword [0x1020cb4c]
mov al, byte [0x1020cb76]
mov byte [esp + 0x5a], al
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x1020cb5c]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x1020cb6c]
movq qword [esp + 0x50], xmm0
jl 0x10156a33
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x38
jl 0x10156931
cmp ebx, 0x3b
jge 0x10156a5d
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x3b
jl 0x10156a33
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156a64
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [str.XX_R]
mov eax, dword [0x1020cfb0]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x68], eax
movups xmm0, xmmword [0x1020cf78]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x1020cf88]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [0x1020cf98]
movups xmmword [esp + 0x50], xmm0
movq xmm0, qword [0x1020cfa8]
movq qword [esp + 0x60], xmm0
jl 0x10156bf5
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x48
jl 0x10156af3
cmp ebx, 0x4c
jge 0x10156c1f
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x4c
jl 0x10156bf5
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156c26
lea eax, [esp + 0x20]
jmp 0x1015712e
mov ecx, 0x13
lea edi, [esp + 0x20]
mov esi, 0x1020d4a0
xor ebx, ebx
cmp dword [0x10241d90], 2
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jl 0x10156d82
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x48
jl 0x10156c80
cmp ebx, 0x4d
jge 0x10156dac
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x4d
jl 0x10156d82
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156db3
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [str.SR_]
mov eax, dword [0x1020d108]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x60], eax
movups xmm0, xmmword [0x1020d0d8]
mov al, byte [0x1020d10c]
mov byte [esp + 0x64], al
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x1020d0e8]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [0x1020d0f8]
movups xmmword [esp + 0x50], xmm0
jl 0x10156f42
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x40
jl 0x10156e40
cmp ebx, 0x45
jge 0x10156f6c
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x45
jl 0x10156f42
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10156f73
lea eax, [esp + 0x20]
jmp 0x1015712e
movups xmm0, xmmword [0x1020cd1c]
mov ax, word [0x1020cd3c]
xor ebx, ebx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x40], ax
movups xmm0, xmmword [0x1020cd2c]
mov al, byte [0x1020cd3e]
mov byte [esp + 0x42], al
movups xmmword [esp + 0x30], xmm0
jl 0x101570f2
movaps xmm0, xmmword [0x10215900]
lea edx, [esp + 0x24]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215bf0]
movaps xmm5, xmmword [0x10215820]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x20]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x20], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10156ff0
cmp ebx, 0x23
jge 0x1015711c
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x23
jl 0x101570f2
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10157123
lea eax, [esp + 0x20]
sub ecx, edx
push ecx
push eax
lea ecx, [esp + 0x90]
call fcn.10022b70
mov eax, dword [0x1020d798]
mov dword [esp + 0x10], eax
mov ax, word [0x1020d79c]
mov word [esp + 0x14], ax
test ah, ah
je 0x10157181
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x35
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 6
jl 0x10157160
xorps xmm0, xmm0
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 0
movups xmmword [esp + 0x20], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101571a0
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.10027870
cmp dword [esp + 0x34], 0xf
lea edx, [esp + 0x20]
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
cmova edx, dword [esp + 0x20]
mov ecx, edx
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x70], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101571f0
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x78]
call fcn.10027870
mov ecx, dword [esp + 0x34]
cmp ecx, 0xf
jbe 0x1015723a
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10157230
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101573c3
push ecx
push edx
call fcn.101b60a3
add esp, 8
cmp dword [esp + 0x9c], 0xf
lea ecx, [esp + 0x88]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
cmova ecx, ebx
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x98]
sub eax, edx
mov dword [esp + 0x10], edx
cmp edi, eax
ja 0x101572a8
cmp dword [esp + 0x84], 0xf
lea esi, [esp + 0x70]
lea eax, [edx + edi]
cmova esi, dword [esp + 0x70]
push edi
mov dword [esp + 0x84], eax
push ecx
lea eax, [esi + edx]
push eax
call fcn.101b75d0
mov ecx, dword [esp + 0x1c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x101572c6
mov edi, dword [esp + 0x98]
push edi
push ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x7c]
push edi
call fcn.10028480
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp ecx, edx
jae 0x101572f6
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x80], eax
lea eax, [esp + 0x70]
cmova eax, dword [esp + 0x70]
mov word [eax + ecx], 0x22
jmp 0x10157307
push 0x22
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
push 1
call fcn.10028350
mov eax, dword [0x10240c88]
lea edx, [esp + 0x70]
cmp dword [esp + 0x84], 0xf
push 0
cmova edx, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10157362
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10157358
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101573c3
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
mov byte [esp + 0x70], 0
cmp ecx, 0xf
jbe 0x101573ae
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x101573a4
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101573c3
push ecx
push ebx
call fcn.101b60a3
add esp, 8
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b5daa
mov esp, ebp
pop ebp
ret
call fcn.101bb1d6
add bl, byte [ebp + 0x15]
adc byte [ebx + 1661998430], dh
pushal
adc eax, 0x15620f10
adc byte [ecx + 0x51101563], dh
adc eax, 0x15670310
adc byte [ebx + 0x74101568], dh
push 0x15
adc byte [esi], dh
insb byte es:[edi], dx
adc eax, 0x156dc310
adc byte [ebx - 0x33efea91], al
int3