Function at 0x14006d360
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm12
movaps xmmword [rsp + 0xc0], xmm11
movaps xmmword [rsp + 0xb0], xmm10
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1406c4a98]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov eax, dword [0x1406cda80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406cda84], 0xa
setl al
or al, cl
test al, al
je 0x14006d3e0
mov r12, qword [0x1406c4b40]
mov rax, qword [r12 + 0x3ea8]
mov byte [rax + 0x98], 1
mov rbx, qword [r12 + 0x3ea8]
cmp byte [rbx + 0x9b], 0
je 0x14006d442
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
xor esi, esi
cmp eax, 0xa
jl 0x14006d679
test ecx, ecx
je 0x14006d679
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x14006d440
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.14000b220
mov ebp, eax
cmp dword [0x1406cdc24], 0xa
jl 0x14006d46c
mov eax, dword [0x1406cdc20]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006d4a1
mov dword [rsp + 0x20], 0xbf800000
lea rcx, [rsp + 0x58]
mov rdx, rsi
xor r8d, r8d
mov r9b, 1
call fcn.140008340
cmp dword [0x1406cdc24], 0xa
jl 0x14006d4be
mov eax, dword [0x1406cdc20]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d4be
mov dword [rsp + 0x20], 0xbf800000
lea rcx, [rsp + 0x58]
mov rdx, rsi
xor r8d, r8d
mov r9b, 1
call fcn.140008340
jmp 0x14006d46c
call fcn.14002fa90
movaps xmm6, xmm0
mov r13d, dword [rbx + 0xe0]
mov r15d, dword [rbx + 0xe4]
movss xmm1, dword [r12 + 0x3838]
movaps xmm0, xmm1
addss xmm0, xmm1
addss xmm0, dword [rsp + 0x5c]
mov eax, dword [0x1406cdc20]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406cdc24], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x14006d510
movss xmm3, dword [rsp + 0x58]
xorps xmm2, xmm2
ucomiss xmm3, xmm2
jbe 0x14006d52f
addss xmm3, dword [r12 + 0x384c]
movaps xmm2, xmm3
cmp dword [0x1406cda8c], 0xa
jl 0x14006d552
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d552
nop dword [rax]
jmp 0x14006d550
cmp dword [0x1406cda94], 0xa
jl 0x14006d572
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d572
nop dword [rax]
jmp 0x14006d570
cmp dword [0x1406cda9c], 0xa
jl 0x14006d592
mov eax, dword [0x1406cda98]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d592
nop dword [rax]
jmp 0x14006d590
addss xmm2, xmm6
movd xmm7, r13d
movd xmm9, r15d
addss xmm0, xmm9
addss xmm2, xmm7
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], r15d
movss dword [rsp + 0x50], xmm2
movss dword [rsp + 0x54], xmm0
cmp dword [0x1406cdb90], 0xa
jl 0x14006d5e2
mov eax, dword [0x1406cdb94]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d5e2
nop dword [rax]
jmp 0x14006d5e0
subss xmm2, xmm7
subss xmm0, xmm9
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x60]
call fcn.140022ca0
cmp dword [0x1406cdad8], 0xa
jl 0x14006d622
mov eax, dword [0x1406cdadc]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d622
nop dword [rax + rax]
jmp 0x14006d620
lea rcx, [rsp + 0x48]
mov edx, ebp
xor r8d, r8d
xor r9d, r9d
call fcn.140022ec0
test al, al
je 0x14006d662
cmp dword [0x1406cdc24], 0xa
jl 0x14006d692
mov eax, dword [0x1406cdc20]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d692
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x14006d660
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
xor esi, esi
cmp eax, 0xa
jl 0x14006dd84
test ecx, ecx
je 0x14006dd84
nop word [rax + rax]
jmp 0x14006d690
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x48]
lea r8, [rsp + 0x47]
lea r9, [rsp + 0x46]
mov edx, ebp
call fcn.1400698f0
mov r14d, eax
cmp dword [0x1406cdc24], 0xa
jl 0x14006d6d2
mov eax, dword [0x1406cdc20]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d6d2
nop dword [rax]
jmp 0x14006d6d0
test r14b, r14b
je 0x14006d772
mov dword [rsp + 0x34], r14d
mov al, byte [rdi]
xor al, 1
mov byte [rsp + 0x30], al
mov byte [rdi], al
mov ecx, ebp
call fcn.14000cd90
mov ecx, dword [0x1406cdc20]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete r8b
cmp dword [0x1406cdc24], 0xa
setl r9b
mov edx, r9d
xor dl, al
and r8b, r9b
cmp dl, r8b
je 0x14006d75e
mov r14b, byte [rsp + 0x30]
mov byte [rdi], r14b
mov ecx, ebp
call fcn.14000cd90
mov byte [rdi], r14b
mov ecx, ebp
call fcn.14000cd90
mov ecx, dword [0x1406cdc20]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete dl
cmp dword [0x1406cdc24], 0xa
setl r9b
mov ecx, r9d
xor cl, al
and dl, r9b
cmp cl, dl
jne 0x14006d721
test r9b, r9b
mov r14d, dword [rsp + 0x34]
jne 0x14006d772
test eax, eax
je 0x14006d772
nop dword [rax]
jmp 0x14006d770
cmp dword [0x1406cda8c], 0xa
jl 0x14006d792
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d792
nop dword [rax]
jmp 0x14006d790
cmp dword [0x1406cda94], 0xa
jl 0x14006d7b2
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d7b2
nop dword [rax]
jmp 0x14006d7b0
cmp dword [0x1406cda9c], 0xa
jl 0x14006d7d2
mov eax, dword [0x1406cda98]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d7d2
nop dword [rax]
jmp 0x14006d7d0
lea rcx, [rsp + 0x48]
mov edx, ebp
mov r8d, 1
call fcn.140008db0
movss xmm12, dword [r12 + 0x383c]
mov edx, dword [0x1406cdc20]
mov ecx, dword [0x1406cdc24]
lea eax, [rdx - 1]
imul eax, edx
cmp ecx, 0xa
jl 0x14006d812
mov edx, eax
and edx, 1
je 0x14006d812
nop dword [rax]
jmp 0x14006d810
mov dword [rsp + 0x34], r14d
cmp byte [rsp + 0x46], 0
je 0x14006d83e
cmp ecx, 0xa
setl cl
test al, 1
sete dl
mov eax, ecx
and al, dl
xor al, 1
xor cl, dl
cmp cl, al
je 0x14006d848
xor cl, 1
or al, cl
je 0x14006d848
jmp 0x14006d83c
mov dword [rsp + 0x30], 8
jmp 0x14006d850
mov dword [rsp + 0x30], 9
cmp byte [rsp + 0x47], 0
jne 0x14006d85f
mov dword [rsp + 0x30], 7
movaps xmm10, xmm6
addss xmm10, xmm7
movaps xmm11, xmm6
addss xmm11, xmm9
movd eax, xmm10
movd ecx, xmm11
shl rcx, 0x20
mov ebp, eax
or rbp, rcx
shl r15, 0x20
or r15, r13
movss xmm8, dword [0x140251cb0]
mov r14d, dword [rsp + 0x30]
mov ecx, r14d
movaps xmm1, xmm8
call fcn.1400069c0
movss dword [rsp + 0x20], xmm12
mov rcx, r15
mov r13, rbp
mov rdx, rbp
mov r8d, eax
mov r9b, 1
call fcn.1400086d0
mov ecx, reloc.WS2_32.dll_select
movaps xmm1, xmm8
call fcn.1400069c0
mov ebp, eax
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x14006d92c
test ecx, ecx
je 0x14006d92c
mov ecx, dword [rsp + 0x30]
mov r14d, ecx
movaps xmm1, xmm8
call fcn.1400069c0
movss dword [rsp + 0x20], xmm12
mov rcx, r15
mov rbp, r13
mov rdx, r13
mov r8d, eax
mov r9b, 1
call fcn.1400086d0
mov ecx, reloc.WS2_32.dll_select
movaps xmm1, xmm8
call fcn.1400069c0
jmp 0x14006d899
mov r13d, dword [r12 + 0x3f74]
test r13b, 0x40
jne 0x14006da70
cmp byte [rdi], 0
je 0x14006dc40
movaps xmm0, xmm6
divss xmm0, dword [0x140251ce4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1406cdaac]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdaa8], 0xa
setge al
and al, cl
test al, al
jne 0x14006d971
maxss xmm8, xmm0
movaps xmm0, xmm8
addss xmm0, xmm8
subss xmm6, xmm0
addss xmm7, xmm8
addss xmm8, xmm9
movd r15d, xmm7
movd eax, xmm8
shl rax, 0x20
or r15, rax
jmp 0x14006d9b9
mov rcx, qword [rbx + 0x280]
mov rdx, r15
mov r8d, ebp
movaps xmm3, xmm6
call fcn.140052950
cmp dword [0x1406cda8c], 0xa
jl 0x14006d9d7
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006da6a
cmp dword [0x1406cda94], 0xa
jl 0x14006d9f1
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006da6c
mov rcx, qword [rbx + 0x280]
mov rdx, r15
mov r8d, ebp
movaps xmm3, xmm6
call fcn.140052950
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x14006dc40
test ecx, ecx
je 0x14006dc40
cmp dword [0x1406cda8c], 0xa
jl 0x14006da46
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006da6e
cmp dword [0x1406cda94], 0xa
jl 0x14006d9a4
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006d9a4
jmp 0x14006da68
jmp 0x14006da6a
jmp 0x14006da6c
jmp 0x14006da6e
divss xmm6, dword [0x140259b04]
cvttps2dq xmm0, xmm6
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1406cdaac]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdaa8], 0xa
setge al
and al, cl
test al, al
jne 0x14006da97
mov edx, dword [0x1406cda88]
mov ecx, dword [0x1406cda8c]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x14006dabb
test eax, eax
je 0x14006dabb
jmp 0x14006dab9
mov r15, qword [rbx + 0x280]
movss xmm6, dword [r12 + 0x383c]
cmp dword [0x1406cdaa0], 0xa
jl 0x14006dae8
mov edx, dword [0x1406cdaa4]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x14006dae8
jmp 0x14006dae6
maxss xmm8, xmm0
movaps xmm0, xmm10
subss xmm0, xmm8
subss xmm11, xmm8
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm11
cmp dword [0x1406cda94], 0xa
jl 0x14006db24
mov edx, dword [0x1406cda90]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x14006db24
jmp 0x14006db22
addss xmm7, xmm8
addss xmm8, xmm9
cmp ecx, 0xa
jl 0x14006db39
test eax, eax
je 0x14006db39
jmp 0x14006db37
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x3c], xmm8
movss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x60]
mov rcx, r15
mov r9d, ebp
call fcn.1400461d0
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x14006dc40
test ecx, ecx
je 0x14006dc40
cmp dword [0x1406cda94], 0xa
jl 0x14006dbad
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006dc3c
cmp dword [0x1406cda8c], 0xa
jl 0x14006dbc7
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006dc3e
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x3c], xmm8
movss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x60]
mov rcx, r15
mov r9d, ebp
call fcn.1400461d0
cmp dword [0x1406cda94], 0xa
jl 0x14006dc15
mov eax, dword [0x1406cda90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14006db22
cmp dword [0x1406cda8c], 0xa
jl 0x14006db39
mov eax, dword [0x1406cda88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14006db39
jmp 0x14006db37
jmp 0x14006dc3c
jmp 0x14006dc3e
test ecx, ecx
sete bl
cmp eax, 0xa
setl dl
or dl, bl
jne 0x14006dc53
test dl, dl
je 0x14006dc4f
cmp dword [0x1406cda8c], 0xa
jl 0x14006dc6f
mov edx, dword [0x1406cda88]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x14006dc6f
jmp 0x14006dc6d
addss xmm10, dword [r12 + 0x384c]
addss xmm9, dword [r12 + 0x3838]
movss dword [rsp + 0x60], xmm10
movss dword [rsp + 0x64], xmm9
cmp byte [r12 + 0x53d4], 0
je 0x14006dce2
test r13b, 0x40
jne 0x14006dcb9
cmp byte [rdi], 0
lea rax, [0x14026ae3b]
lea rdx, [0x14026ae25]
cmove rdx, rax
jmp 0x14006dcc0
lea rdx, [0x14026ae21]
lea rcx, [rsp + 0x60]
xor r8d, r8d
call fcn.1400078c0
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
test ecx, ecx
sete r9b
cmp eax, 0xa
setl dl
mov r8d, edx
or r8b, r9b
mov ebx, edx
and bl, r9b
xor bl, 1
xor dl, r9b
mov r9d, edx
xor r9b, bl
not dl
or dl, bl
and dl, r9b
test dl, dl
jne 0x14006dd0c
test r8b, r8b
je 0x14006dd6a
movss xmm0, dword [rsp + 0x58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x14006dd6c
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9b, 1
call fcn.1400074b0
mov edx, dword [0x1406cdc20]
mov eax, dword [0x1406cdc24]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x14006dd6c
test ecx, ecx
je 0x14006dd6c
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9b, 1
call fcn.1400074b0
jmp 0x14006dd28
jmp 0x14006dd6a
cmp eax, 0xa
jl 0x14006dd77
test ecx, ecx
je 0x14006dd77
jmp 0x14006dd75
mov esi, dword [rsp + 0x34]
cmp eax, 0xa
jge 0x14006d682
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1401f88b0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret