Function at 0x10107796
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [0x10216634]
sub esp, 0x1d4
cmp byte [eax + 0x36af], 0
push ebx
push esi
push edi
mov edi, ecx
je 0x1010821b
mov eax, dword [0x102187c8]
mov ecx, dword [eax]
test ecx, ecx
je 0x1010821b
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1010821b
mov eax, dword [0x1021663c]
mov esi, dword [eax + 0x10]
mov eax, dword [0x102187c8]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea ecx, [esp + 0x88]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
movq xmm0, qword [str.UABV_R_I_]
test al, al
mov al, byte [0x101b0000]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x18], al
je 0x10106b04
mov esi, dword [esp + 0x118]
jmp 0x10106b07
or esi, 0xffffffff
xor ebx, ebx
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 9
jl 0x10106b10
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 0x1010821b
mov eax, dword [str.AFSEQ_:]
xor ebx, ebx
mov dword [esp + 0x10], eax
mov ax, word [0x101b0af8]
mov word [esp + 0x14], ax
mov al, byte [0x101b0afa]
mov byte [esp + 0x16], al
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, 0x34
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 7
jl 0x10106b70
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 0x1010821b
push 0
call fcn.1016d53e
add esp, 4
push eax
call fcn.1016d52c
add esp, 4
call fcn.1016d50b
cdq
mov ecx, 0xc
idiv ecx
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
movups xmmword [esp + 0x70], xmm0
mov byte [esp + 0x70], 0
cmp edx, 0xb
ja case.default.0x10106bf5
jmp dword [edx*4 + 0x10108228]
mov eax, dword [0x101e5130]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmm0, xmmword [0x101e5120]
mov dword [esp + 0x30], eax
mov ax, word [0x101e5134]
mov word [esp + 0x34], ax
mov al, byte [0x101e5136]
movups xmmword [esp + 0x20], xmm0
mov byte [esp + 0x36], al
jl 0x10106d64
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x10106c60
cmp ebx, 0x17
jge 0x10106d8e
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x17
jl 0x10106d64
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106d95
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [str.gAWN]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x101e5274]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x10106f2f
xor ebx, ebx
cmp dword [0x10217ca4], 2
jl 0x10106f05
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x10106e04
jmp 0x10106f2f
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x20
jl 0x10106f05
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106f36
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e54e4]
mov eax, dword [0x101e5504]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], eax
movups xmm0, xmmword [0x101e54f4]
mov al, byte [0x101e5508]
mov byte [esp + 0x44], al
movups xmmword [esp + 0x30], xmm0
jl 0x101070b0
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10106fa4
cmp ebx, 0x25
jge 0x101070da
nop dword [eax + eax]
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x25
jl 0x101070b0
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101070e1
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e50f0]
mov ax, word [0x101e5108]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x38], ax
movq xmm0, qword [0x101e5100]
mov al, byte [0x101e510a]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], al
jl 0x10107257
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x18
jl 0x10107153
cmp ebx, 0x1b
jge 0x10107281
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x1b
jl 0x10107257
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107288
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [str.yTOU_]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x101e4d7c]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e4d8c]
movups xmmword [esp + 0x40], xmm0
jl 0x101073f3
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x30
jl 0x101072f2
jmp 0x1010741d
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x30
jl 0x101073f3
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107424
jmp 0x10107fd9
movups xmm0, xmmword [0x101e5534]
mov eax, dword [0x101e555c]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x48], eax
movups xmm0, xmmword [0x101e5544]
mov al, byte [0x101e5560]
mov byte [esp + 0x4c], al
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101e5554]
movq qword [esp + 0x40], xmm0
jl 0x101075a4
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x101074a0
cmp ebx, 0x2d
jge 0x101075ce
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x2d
jl 0x101075a4
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101075d5
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e5328]
mov ax, word [0x101e5358]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x50], ax
movups xmm0, xmmword [0x101e5338]
mov al, byte [0x101e535a]
mov byte [esp + 0x52], al
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e5348]
movups xmmword [esp + 0x40], xmm0
jl 0x10107755
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x30
jl 0x10107651
cmp ebx, 0x33
jge 0x1010777f
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x33
jl 0x10107755
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107786
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e5460]
mov eax, dword [0x101e5480]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], eax
movups xmm0, xmmword [0x101e5470]
mov ax, word [0x101e5484]
mov word [esp + 0x44], ax
movups xmmword [esp + 0x30], xmm0
jl 0x10107904
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x20
jl 0x10107800
cmp ebx, 0x26
jge 0x1010792e
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x26
jl 0x10107904
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107935
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e538c]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x101e539c]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x10107acf
xor ebx, ebx
cmp dword [0x10217ca4], 2
jl 0x10107aa5
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x20
jl 0x101079a4
jmp 0x10107acf
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x20
jl 0x10107aa5
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107ad6
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e5198]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x101e51a8]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e51b8]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x101e51c8]
movq qword [esp + 0x50], xmm0
jl 0x10107c51
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x38
jl 0x10107b50
jmp 0x10107c7b
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x38
jl 0x10107c51
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107c82
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [str.zUR]
mov ax, word [0x101e54e0]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x48], ax
movups xmm0, xmmword [0x101e54c8]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x101e54d8]
movq qword [esp + 0x40], xmm0
jl 0x10107e04
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x24], xmm1
add ebx, 8
cmp ebx, 0x28
jl 0x10107d00
cmp ebx, 0x2a
jge 0x10107e2e
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x2a
jl 0x10107e04
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107e35
lea eax, [esp + 0x20]
jmp 0x10107fdd
movups xmm0, xmmword [0x101e53f8]
xor ebx, ebx
cmp dword [0x10217ca4], 2
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x101e5408]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x101e5418]
movups xmmword [esp + 0x40], xmm0
jl 0x10107fa1
movaps xmm0, xmmword [str.4444444444444444]
xor ecx, ecx
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed410]
movaps xmm5, xmmword [0x101ed0c0]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop
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 [0x101ed130]
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 [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x24], xmm1
add ecx, 8
cmp ecx, 0x30
jl 0x10107ea0
jmp 0x10107fcb
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, 0x34
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 0x30
jl 0x10107fa1
lea ecx, [esp + 0x20]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107fd2
lea eax, [esp + 0x20]
sub ecx, edx
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.10023790
mov eax, dword [0x101e4e4c]
mov dword [esp + 0x10], eax
mov ax, word [0x101e4e50]
mov word [esp + 0x14], ax
test ah, ah
je 0x10108025
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, 0x34
xor byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 6
jl 0x10108004
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 0x10108044
sub ecx, edx
lea eax, [esp + 0x10]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.100291a0
cmp dword [esp + 0x34], 0xf
lea edx, [esp + 0x20]
xorps xmm0, xmm0
mov dword [esp + 0x68], 0
cmova edx, dword [esp + 0x20]
mov ecx, edx
mov dword [esp + 0x6c], 0
movups xmmword [esp + 0x58], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10108087
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x60]
call fcn.100291a0
mov ecx, dword [esp + 0x34]
cmp ecx, 0xf
jbe 0x101080d1
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101080c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10108222
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x84], 0xf
lea ecx, [esp + 0x70]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
cmova ecx, ebx
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x80]
sub eax, edx
mov dword [esp + 0x10], edx
cmp edi, eax
ja 0x1010812d
cmp dword [esp + 0x6c], 0xf
lea esi, [esp + 0x58]
lea eax, [edi + edx]
cmova esi, dword [esp + 0x58]
push edi
mov dword [esp + 0x6c], eax
push ecx
lea eax, [esi + edx]
push eax
call fcn.10161360
mov ecx, dword [esp + 0x1c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x10108148
mov edi, dword [esp + 0x80]
push edi
push ecx
push dword [esp + 0x18]
lea ecx, [esp + 0x64]
push edi
call fcn.10029d90
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jae 0x1010816f
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x68], eax
lea eax, [esp + 0x58]
cmova eax, dword [esp + 0x58]
mov word [eax + ecx], 0x22
jmp 0x10108180
push 0x22
push dword [esp + 0x14]
lea ecx, [esp + 0x60]
push 1
call fcn.10029c60
mov eax, dword [0x1021663c]
lea edx, [esp + 0x58]
cmp dword [esp + 0x6c], 0xf
push 0
cmova edx, dword [esp + 0x5c]
mov ecx, dword [eax + 0x10]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xf
jbe 0x101081d5
mov edx, dword [esp + 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101081cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10108222
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
mov byte [esp + 0x58], 0
cmp ecx, 0xf
jbe 0x1010821b
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x10108211
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10108222
push ecx
push ebx
call fcn.1015fe24
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10164f66
nop
cld
imul edx, dword [eax], 16
movsd dword es:[edi], dword [esi]
insd dword es:[edi], dx
adc byte [eax], dl
inc esi
outsd dx, dword [esi]
adc byte [eax], dl
int1
jo 269517383
adc byte [eax + 0x30101072], bl
je 0x1010824f
adc ch, ah
jne 0x10108253
adc byte [esi + 0x45101077], dl
jns 0x1010825b
adc byte [ebp + 0x79], al
adc byte [eax], dl
out 0x7a, al
adc byte [eax], dl
xchg edx, eax
jl 269517411
adc dh, ah
jp 0x1010825f
adc byte [edx + 0x4510107c], dl
jle 0x10108267
adc byte [ebp + 0x7e], al
adc byte [eax], dl
int3
adc ah, cl
int3
int3
int3
and esp, 0xfffffff8
movss xmm3, dword [0x101ece2c]
movups xmm3, xmmword [0x101ece2c]
sub esp, 0x14
movaps xmm2, xmm0
xorps xmm1, xmm1
comiss xmm1, xmm2
push esi
mov esi, ecx
jbe 0x10108284
movaps xmm0, xmm3
jmp 0x10108287
xorps xmm0, xmm0
addss xmm0, xmm2
movss xmm2, dword [esi + 0x10]
comiss xmm1, xmm2
jbe 0x10108298
movaps xmm1, xmm3
addss xmm2, xmm1
comiss xmm0, xmm2
movaps xmm1, xmm2
subss xmm1, xmm0
andps xmm1, xmmword [0x101ed3d0]
ja 0x101082b9
movaps xmm0, xmm3
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [esi + 0x24]
subss xmm3, xmm1
movss dword [esp + 4], xmm0
movaps xmm0, xmm3
mulss xmm3, dword [0x101ecaa0]
addss xmm0, dword [0x101ecdc8]
movss dword [esp + 0xc], xmm3
mulss xmm0, dword [0x101ecaa0]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm3
call fcn.10186b10
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 4]
movss dword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x10]
call fcn.10186b10
movss xmm2, dword [esp + 8]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [esi + 0x28]
addss xmm2, xmm1
movss xmm1, dword [esp + 0xc]
cvtps2pd xmm0, xmm1
movss dword [esi + 0x24], xmm2
call fcn.10187d90
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 4]
movss dword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x10]
call fcn.10187d90
movss xmm1, dword [esp + 0xc]
mov ecx, 0xc84de670
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esi + 0x28]
addss xmm1, xmm0
movss dword [esi + 0x28], xmm1
call fcn.100c3de0
mov ecx, dword [0x102187c8]
mov ecx, dword [ecx]
cmp dword [eax + ecx + 1], 9
je 0x101083a5
mov eax, dword [0x10216634]
mov eax, dword [eax + 0x34d0]
test eax, eax
je 0x1010839e
cmp eax, 4
jne 0x101083a5
and dword [esi + 0x30], 0xfffff9e7
pop esi
mov esp, ebp
pop ebp
ret