Function at 0x14004cc40
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x340
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x140110040]
xor rax, rsp
mov qword [rbp + 0x190], rax
xor edi, edi
cmp byte [0x1413e697e], dil
je 0x14004e26c
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm10, xmm10
cmp byte [0x1413f5a69], dil
je 0x14004ccea
xorps xmm1, xmm1
jmp 0x14004cd00
mov rdx, qword [0x1413f5c20]
add rdx, 0x4cc
call fcn.14008d580
movaps xmm1, xmm0
movss dword [0x1413f5cd8], xmm1
movd xmm13, ebx
cvtdq2ps xmm13, xmm13
movaps xmm14, xmm13
subss xmm14, dword [0x140103e00]
movss dword [rsp + 0x50], xmm14
mov dword [rsp + 0x54], 0x42c80000
comiss xmm1, xmm10
jbe 0x14004e26c
movaps xmm0, xmm1
movss xmm6, dword [0x140103de8]
divss xmm0, xmm6
xorps xmm11, xmm11
maxss xmm11, xmm0
xorps xmm7, xmm7
cvtss2sd xmm7, xmm1
movups xmm0, xmmword [0x140102f00]
movups xmmword [rbp + 0x50], xmm0
mov eax, dword [str._dlq_6F]
mov dword [rbp + 0x60], eax
movzx eax, word [0x140102f14]
mov word [rbp + 0x64], ax
movzx eax, byte [0x140102f16]
mov byte [rbp + 0x66], al
mov r8d, edi
movdqa xmm15, xmmword [0x140103fe0]
mov r15d, dword [0x140110090]
cmp r15d, 2
jl 0x14004cec1
movdqa xmm4, xmmword [0x140103fa0]
movdqa xmm3, xmmword [0x140104360]
movdqa xmm5, xmmword [0x140103fc0]
movdqa xmm0, xmmword [0x140104000]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rbp + 0x70]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14004cdd0
cmp r8d, 0x17
jge 0x14004cf03
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x14004ced0
movaps xmm3, xmm7
movq r9, xmm7
lea r8, [rbp + 0x50]
mov edx, 0x40
lea rcx, [rbp + 0x90]
call fcn.14003ffb0
movss xmm12, dword [0x1413f5cd8]
divss xmm12, xmm6
mov rax, qword [0x1413f5c20]
add rax, 0x4fc
mov dword [rbp - 0x10], edi
mov dword [rbp + 0x39], edi
mov word [rbp + 0x3d], di
mov byte [rbp + 0x3f], dil
mov dword [rbp + 0x18], 0x993f78d
mov qword [rbp + 0x20], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], 4
mov eax, dword [0x1413f5c80]
mov dword [rbp + 0x1c], eax
mov byte [rbp + 0x38], dil
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r9d, 0x28
lea r8, [rbp + 0x18]
mov edx, 0x260f84
mov rcx, qword [0x1414275b0]
call qword [0x141427000]
mov eax, dword [0x140102670]
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140102674]
mov byte [rbp - 0x20], 0x4e
xor byte [rbp - 0x1f], 0x31
xor byte [rbp - 0x1e], 0x32
xor byte [rbp - 0x1d], 0x33
xor al, 0x34
mov byte [rbp - 0x1c], al
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
lea rax, [rbp - 0x20]
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], dil
jne 0x14004cfe2
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 8]
call fcn.14008eb40
nop
mov eax, dword [rbp - 0x10]
test eax, eax
jne 0x14004d041
movzx eax, word [0x140102fc4]
mov word [rbp - 0x10], ax
cmp byte [0x140102fc5], 0
je 0x14004d01c
mov byte [rbp - 0x10], 0x41
xor byte [rbp - 0xf], 0x31
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
lea rax, [rbp - 0x10]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x14004d032
jmp 0x14004d0da
cmp eax, 1
jne 0x14004d08c
movzx eax, word [0x140102080]
mov word [rbp - 0x10], ax
cmp byte [0x140102081], 0
je 0x14004d062
mov byte [rbp - 0x10], 0x42
xor byte [rbp - 0xf], 0x31
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
lea rax, [rbp - 0x10]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004d080
jmp 0x14004d0da
cmp eax, 2
jne 0x14004d132
movzx eax, word [0x14010172c]
mov word [rbp - 0x10], ax
cmp byte [0x14010172d], 0
je 0x14004d0b1
mov byte [rbp - 0x10], 0x43
xor byte [rbp - 0xf], 0x31
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
lea rax, [rbp - 0x10]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004d0d0
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x50]
call fcn.14008eb40
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x14004d122
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d11d
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e221
call fcn.1400906f0
movups xmm0, xmmword [rbp + 0x50]
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm1
mov r14, qword [0x1413f5a70]
mov rbx, qword [r14 + 0x18f0]
movss xmm6, dword [r14 + 0x18f8]
mov qword [rsp + 0x30], rdi
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x140103ec0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140103e94]
movaps xmm2, xmm6
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14002b150
divss xmm6, dword [rbx]
movss xmm0, dword [rbp - 0x20]
comiss xmm0, xmm10
jbe 0x14004d192
subss xmm0, xmm6
addss xmm0, dword [0x140103ce8]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
lea rcx, [r14 + 0x1e18]
movaps xmm8, xmm14
addss xmm8, dword [0x140103e38]
movss dword [rbp - 0x20], xmm8
mov dword [rbp - 0x1c], 0x42f00000
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm10
mov r9d, 0x645a5a5a
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
call fcn.1400271f0
mov rax, qword [0x1413f5a70]
lea r10, [rax + 0x1e18]
movss xmm7, dword [0x140103cec]
mov dword [rbp + 0x70], 0x3f800000
movss dword [rbp + 0x74], xmm12
mov dword [rbp + 0x78], 0
movss xmm0, dword [rax + 0x1550]
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.14000ad80
mulss xmm11, dword [0x140103e38]
addss xmm11, xmm14
movss dword [rbp - 0x20], xmm11
mov dword [rbp - 0x1c], 0x42f00000
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.1400271f0
mov rcx, qword [0x1413f5a70]
add rcx, 0x1e18
movss dword [rbp - 0x20], xmm8
mov dword [rbp - 0x1c], 0x42f00000
movss dword [rsp + 0x30], xmm7
mov dword [rsp + 0x28], 0xf
movss dword [rsp + 0x20], xmm10
mov r9d, 0xffffffff
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
call fcn.1400270b0
mov rax, qword [0x1413f5a70]
lea rbx, [rax + 0x1e18]
mov dword [rbp + 0x70], 0x42480000
mov dword [rbp + 0x74], 0x42480000
mov dword [rbp + 0x78], 0x42480000
movss xmm0, dword [rax + 0x1550]
mulss xmm0, dword [0x140103e48]
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.14000ad80
mov r14d, eax
mulss xmm9, dword [0x140103cb8]
subss xmm13, xmm9
movss dword [rsp + 0x50], xmm13
mov dword [rsp + 0x54], 0x42cc0000
test eax, 0xff000000
je 0x14004d5b9
lea rcx, [rbp + 0x90]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x14004d323
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
movsd xmm6, qword [rsp + 0x50]
cmp rax, rcx
je 0x14004d3a2
mov rax, qword [rbx + 0x38]
movsxd r8, dword [rbx + 0x60]
add r8, r8
mov rdx, qword [rbx + 0x68]
movups xmm0, xmmword [rdx + r8*8 - 0x10]
movups xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
movq r9, xmm6
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.14002b370
lea rcx, [rbp + 0x90]
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14004d3b0
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
cmp rax, rcx
je 0x14004d429
mov rax, qword [rbx + 0x38]
movsxd r8, dword [rbx + 0x60]
add r8, r8
mov rdx, qword [rbx + 0x68]
movups xmm0, xmmword [rdx + r8*8 - 0x10]
movups xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
movq r9, xmm6
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.14002b370
lea rcx, [rbp + 0x90]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x14004d433
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
cmp rax, rcx
je 0x14004d4ac
mov rax, qword [rbx + 0x38]
movsxd r8, dword [rbx + 0x60]
add r8, r8
mov rdx, qword [rbx + 0x68]
movups xmm0, xmmword [rdx + r8*8 - 0x10]
movups xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
movq r9, xmm6
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.14002b370
lea rcx, [rbp + 0x90]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x14004d4b6
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
cmp rax, rcx
je 0x14004d52f
mov rax, qword [rbx + 0x38]
movsxd r8, dword [rbx + 0x60]
add r8, r8
mov rdx, qword [rbx + 0x68]
movups xmm0, xmmword [rdx + r8*8 - 0x10]
movups xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
movq r9, xmm6
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.14002b370
lea rcx, [rbp + 0x90]
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14004d540
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
cmp rax, rcx
je 0x14004d5b9
mov rax, qword [rbx + 0x38]
movsxd r9, dword [rbx + 0x60]
add r9, r9
mov r8, qword [rbx + 0x68]
movups xmm0, xmmword [r8 + r9*8 - 0x10]
movups xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
movq r9, xmm6
movss xmm2, dword [rax + 0x10]
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.14002b370
mov rdx, qword [0x1413f5c20]
add rdx, 0x238
call fcn.14008d270
mov qword [rbp + 0x40], 0
mov dword [rbp + 0x48], 0
lea rdx, [rax + 0x164]
mov r9d, 0xc
lea r8, [rbp + 0x40]
call fcn.1400456f0
movsd xmm0, qword [rbp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x20]
call fcn.140047420
mov rdx, qword [0x1413f5c20]
add rdx, 0x4cc
call fcn.14008d580
movaps xmm7, xmm0
mov rdx, qword [0x1413f5c20]
add rdx, 0x4e8
call fcn.14008d1c0
movaps xmm6, xmm0
mov rdx, qword [0x1413f5c20]
add rdx, 0x4e8
call fcn.14008d1c0
mulss xmm6, dword [0x140103e10]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
divsd xmm1, qword [0x140103d48]
cvtpd2ps xmm2, xmm1
movzx eax, word [0x1401020b4]
mov word [rbp - 0x10], ax
cmp byte [0x1401020b5], 0
je 0x14004d687
mov byte [rbp - 0x10], 0x25
xor byte [rbp - 0xf], 0x31
cvttss2si r8d, xmm2
lea r9, [rbp + 0x65]
test r8d, r8d
jns 0x14004d6e0
neg r8d
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004d6a0
dec r9
mov byte [r9], 0x2d
jmp 0x14004d70a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004d6e0
lea r8, [rbp + 0x65]
mov rdx, r9
lea rcx, [rbp - 0x40]
call fcn.14008f550
nop
cvttss2si ebx, xmm7
lea r9, [rbp + 0x65]
mov r8d, ebx
test ebx, ebx
jns 0x14004d770
neg r8d
nop dword [rax]
lea r9, [r9 - 1]
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004d730
lea rdx, [r9 - 1]
mov byte [rdx], 0x2d
jmp 0x14004d79d
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14004d770
mov rdx, r9
lea r8, [rbp + 0x65]
lea rcx, [rbp - 0x60]
call fcn.14008f550
mov eax, dword [0x140103b20]
mov dword [rbp + 0x38], eax
movzx eax, word [0x140103b24]
movups xmm1, xmmword [str.e21I]
movups xmm0, xmmword [str.r_Q]
mov word [rbp + 0x3c], ax
movups xmmword [rbp + 0x28], xmm1
movups xmmword [rbp + 0x18], xmm0
mov r8d, edi
cmp r15d, 2
jl 0x14004d901
movdqa xmm4, xmmword [0x140103fa0]
movdqa xmm3, xmmword [0x140104360]
movdqa xmm5, xmmword [0x140103fc0]
movdqa xmm0, xmmword [0x140104000]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x1c]
mov edx, dword [rbp + 0x70]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x14004d810
cmp r8d, 0x26
jge 0x14004d943
movsxd rax, r8d
lea r9, [rbp + 0x18]
add r9, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x26
jl 0x14004d910
movups xmm9, xmmword [rbp - 0x40]
movaps xmmword [rbp - 0x80], xmm9
movups xmm7, xmmword [rbp - 0x30]
movaps xmmword [rbp - 0x70], xmm7
movups xmm8, xmmword [rbp - 0x60]
movaps xmmword [rsp + 0x60], xmm8
movups xmm6, xmmword [rbp - 0x50]
movaps xmmword [rsp + 0x70], xmm6
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0xd0]
call fcn.14008d6f0
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0xf
jbe 0x14004d9d1
inc rdx
movq rcx, xmm8
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d9cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004d9cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
nop
psrldq xmm7, 8
movq rdx, xmm7
cmp rdx, 0xf
jbe 0x14004da16
inc rdx
movq rcx, xmm9
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004da11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004da11
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
lea r9, [rbp + 0x85]
test ebx, ebx
jns 0x14004da60
neg ebx
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x14004da30
dec r9
mov byte [r9], 0x2d
jmp 0x14004da86
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x14004da60
lea r8, [rbp + 0x85]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.14008f550
movups xmm0, xmmword [0x140103690]
movups xmmword [rbp + 0x50], xmm0
mov eax, dword [str.e21CcESA4]
mov dword [rbp + 0x60], eax
cmp byte [0x1401036a3], 0
je 0x14004dc33
mov r8d, edi
cmp r15d, 2
jl 0x14004dbf1
movdqa xmm4, xmmword [0x140103fa0]
movdqa xmm3, xmmword [0x140104360]
movdqa xmm5, xmmword [0x140103fc0]
movdqa xmm0, xmmword [0x140104000]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x54]
mov edx, dword [rbp + 0x70]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14004db00
cmp r8d, 0x14
jge 0x14004dc33
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x14004dc00
movups xmm7, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x80], xmm7
movups xmm6, xmmword [rsp + 0x70]
movaps xmmword [rbp - 0x70], xmm6
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x150]
call fcn.14008d6f0
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0xf
jbe 0x14004dc9e
inc rdx
movq rcx, xmm7
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dc99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004dc99
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
movups xmm0, xmmword [0x140102160]
movups xmmword [rbp + 0x50], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14004de23
cmp r15d, 2
jl 0x14004ddde
movdqa xmm4, xmmword [0x140103fa0]
mov edx, edi
movdqa xmm3, xmmword [0x140104360]
movdqa xmm5, xmmword [0x140103fc0]
movdqa xmm0, xmmword [0x140104000]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x54]
mov r8d, dword [rbp + 0x70]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14004dcf3
jmp 0x14004de23
lea r9, [rbp + 0x50]
mov r8d, edi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14004ddf0
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
lea rax, [rbp + 0x50]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004de40
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.14008eb40
nop
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 0xf
cmova rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
lea rcx, [rbp + 0x70]
call fcn.14008bcd0
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movsd xmm0, qword [str.cXFV]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x140103738]
mov dword [rsp + 0x58], eax
movzx eax, word [0x14010373c]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x14010373e]
mov byte [rsp + 0x5e], al
cmp r15d, 2
jl 0x14004dfaf
movdqa xmm4, xmmword [0x140104360]
movdqa xmm3, xmmword [0x140103fa0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140103fc0]
psubd xmm3, xmm0
andps xmm3, xmm15
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov eax, dword [0x140104000]
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.cXFV]
xorps xmm3, xmm0
movd dword [rsp + 0x50], xmm3
movdqa xmm2, xmmword [0x140103fb0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140103fc0]
psubd xmm2, xmm0
andps xmm2, xmm15
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, dil
sub al, cl
add al, 0x30
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xf
jl 0x14004dfc0
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x70], xmm6
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x110]
call fcn.14008d6f0
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0xf
jbe 0x14004e055
inc rdx
movq rcx, xmm7
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e04f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004e04f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x14004e096
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e091
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004e091
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
movdqa xmm0, xmmword [0x1401042d0]
movups xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x50]
call fcn.14000ad80
mov ebx, eax
movss xmm1, dword [rbp - 0x1c]
subss xmm1, dword [0x140103de0]
movss xmm0, dword [rbp - 0x20]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x50], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
lea rax, [rbp + 0xd0]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x14004e0e4
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x50]
call fcn.14008eb40
nop
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movss xmm6, dword [0x140103dc0]
movaps xmm3, xmm6
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x50]
mov rcx, qword [0x1413f5c78]
call fcn.140045810
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x14004e164
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e15f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e221
call fcn.1400906f0
movdqa xmm0, xmmword [0x1401042d0]
movups xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x50]
call fcn.14000ad80
mov ebx, eax
addss xmm14, dword [0x140103de4]
movss dword [rsp + 0x50], xmm14
mov dword [rsp + 0x54], 0x43070000
xorps xmm1, xmm1
movups xmmword [rbp + 0x50], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
lea rax, [rbp + 0x110]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14004e1b0
mov r8, rsi
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x50]
call fcn.14008eb40
nop
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm6
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x50]
mov rcx, qword [0x1413f5c78]
call fcn.140045810
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x14004e22e
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e228
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004e228
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x14004e26c
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e267
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004e267
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400906f0
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140090680
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rbp
ret