Function at 0x140040c80
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x140100c70]
mov r8d, 1
movss xmm0, dword [0x1400a7d98]
xor edx, edx
movaps xmmword [rsp + 0x200], xmm6
mov cl, 0x52
movaps xmmword [rsp + 0x1c0], xmm10
xorps xmm10, xmm10
movss xmm6, dword [rax + 0x1570]
movaps xmm1, xmm10
or dword [rax + 0x1d18], 1
or dword [rax + 0x1d18], 2
unpcklps xmm0, xmm10
movsd qword [rax + 0x1d28], xmm0
movss xmm0, dword [0x1400a7d80]
unpcklps xmm1, xmm10
movsd qword [rax + 0x1d30], xmm1
movss xmm1, dword [0x1400a7d84]
unpcklps xmm0, xmm1
movsd qword [rax + 0x1d38], xmm0
movss dword [rbp + 0x170], xmm6
mov dword [rax + 0x1570], 0x43610000
mov dword [rax + 0x1d1c], r8d
mov dword [rax + 0x1d20], 2
call fcn.140034500
mov edx, r8d
mov byte [rsp + 0x50], al
mov cl, 0x61
call fcn.140034500
lea edx, [r8 + 1]
mov byte [rsp + 0x51], al
mov cl, 0x64
call fcn.140034500
lea edx, [r8 + 2]
mov byte [rsp + 0x52], al
mov cl, 0x61
call fcn.140034500
lea edx, [r8 + 3]
mov byte [rsp + 0x53], al
mov cl, WSAStartup
call fcn.140034500
lea edx, [r8 + 4]
mov byte [rsp + 0x54], al
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140034500
lea edx, [r8 + 5]
mov byte [rsp + 0x55], al
mov cl, 0x4d
call fcn.140034500
lea edx, [r8 + 6]
mov byte [rsp + 0x56], al
mov cl, 0x61
call fcn.140034500
lea edx, [r8 + 7]
mov byte [rsp + 0x57], al
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.140034500
mov byte [rsp + 0x58], al
xor ecx, ecx
xor eax, eax
mov byte [rsp + 0x59], al
xor edx, edx
nop dword [rax]
lea eax, [rcx + 0x13]
inc ecx
xor byte [rsp + rdx + 0x50], al
movsxd rdx, ecx
cmp rdx, 9
jb 0x140040dc0
mov r8d, 0x1a6
mov byte [rsp + 0x59], 0
lea rcx, [rsp + 0x50]
call fcn.14000cb80
test al, al
je 0x14004150d
mov rcx, qword [0x140100c70]
mov qword [rsp + 0x220], r14
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1b0], xmm11
mov rax, qword [rcx + 0x1c20]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c20]
cmp qword [rax + 0x178], 0
movsd xmm0, qword [rax + 0xd8]
mov r14, qword [rax + 0x268]
movsd qword [rbp + 0x168], xmm0
movsd xmm0, qword [rax + 0x220]
movsd qword [rbp + 0x160], xmm0
jne 0x140040e69
cmp qword [rcx + 0x2068], 0
jne 0x140040e69
movss xmm2, dword [rbp + 0x160]
jmp 0x140040e71
movss xmm2, dword [rax + 0x1f0]
subss xmm2, dword [rax + 0xd8]
movss xmm1, dword [rbp + 0x164]
lea rdx, [rbp + 0x178]
subss xmm1, dword [rax + 0xdc]
xor r9d, r9d
mov dword [rsp + 0x20], Ordinal_50
mulss xmm2, dword [0x1400a7c80]
mulss xmm1, dword [0x1400a7c80]
addss xmm2, dword [rbp + 0x168]
addss xmm1, dword [rbp + 0x16c]
cvttss2si ecx, xmm2
movss xmm2, dword [0x1400a7d64]
cvttss2si eax, xmm1
movd xmm7, ecx
mov rcx, r14
add eax, 0xa
cvtdq2ps xmm7, xmm7
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss dword [rbp + 0x178], xmm7
movss dword [rbp + 0x17c], xmm11
call fcn.140021230
dec dword [r14 + 0x78]
mov r9d, 0xc8141414
mov r8d, dword [r14 + 0x78]
mov rcx, r14
mov rdx, qword [r14 + 0x80]
call fcn.140020e70
mov dword [r14 + 0x78], 0
cmp byte [0x140100c6e], 0
je 0x1400414ef
mov qword [rsp + 0x248], rbx
mov rbx, qword [0x140100c88]
mov rcx, rbx
mov qword [rsp + 0x218], r15
call fcn.14003dd60
movzx eax, al
lea r15, [rbx + 0x288]
imul rcx, rax, 0xdc0
add r15, rcx
mov rcx, r15
call fcn.14003cb30
mov rcx, rax
lea rdx, [rbp - 0x58]
call fcn.14003c380
mov rbx, qword [0x140100c88]
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x1400414df
mov qword [rsp + 0x228], r13
xor r13d, r13d
call fcn.14003dc70
mov rcx, rax
call fcn.14003d8c0
test eax, eax
jle 0x1400414d7
mov qword [rsp + 0x240], rsi
mov qword [rsp + 0x238], rdi
mov edi, 0xff0aff0a
mov qword [rsp + 0x230], r12
xor r12d, r12d
movaps xmmword [rsp + 0x1a0], xmm12
movss xmm12, dword [0x1400a7d8c]
movaps xmmword [rsp + 0x190], xmm13
movss xmm13, dword [0x1400a7cf8]
movaps xmmword [rsp + 0x180], xmm14
movss xmm14, dword [0x1400a7ce0]
movaps xmmword [rsp + 0x170], xmm15
movss xmm15, dword [0x1400a7d08]
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x1d0], xmm9
nop
movsxd rsi, r12d
add rsi, 0x288
add rsi, rbx
mov rcx, rsi
call fcn.14003cb30
test rax, rax
je 0x140041461
cmp byte [0x140100c7f], 0
je 0x140041070
mov rcx, rsi
call fcn.14003cd10
test rax, rax
je 0x140041461
mov rcx, rsi
call fcn.14003cd10
mov rcx, rax
call fcn.14003c950
test al, al
jne 0x140041461
call fcn.14003de50
cmp eax, 5
je 0x1400410c3
call fcn.14003de50
cmp eax, 0xc
je 0x1400410c3
call fcn.14003de50
cmp eax, 0xe
je 0x1400410c3
call fcn.14003de50
cmp eax, 0x12
je 0x1400410c3
call fcn.14003de50
cmp eax, 0x13
je 0x1400410c3
mov rcx, rsi
call fcn.14003cc20
mov rcx, r15
movzx ebx, al
call fcn.14003cc20
cmp bl, al
mov edi, 0xffff1414
mov eax, 0xff0aff0a
jmp 0x140041122
mov rcx, rsi
call fcn.14003cc20
mov rcx, r15
call fcn.14003cc20
mov rcx, rsi
call fcn.14003cd10
mov rcx, rax
call fcn.14003ca40
test al, al
mov rcx, r15
sete bl
call fcn.14003cd10
mov rcx, rax
call fcn.14003ca40
test al, al
je 0x14004111b
mov rcx, rsi
xor bl, bl
call fcn.14003cd10
mov rcx, rax
call fcn.14003ca40
test al, al
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
test bl, bl
mov eax, 0xffff1414
mov rcx, rsi
cmove edi, eax
call fcn.14003cb30
mov rcx, rax
lea rdx, [rbp + 0x40]
call fcn.14003c380
mov rcx, qword [rsp + 0x60]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
movsd qword [rsp + 0x68], xmm6
mov dword [rsp + 0x70], ebx
call fcn.14003d9a0
mov rcx, rax
call fcn.14003d0d0
mov rcx, rax
lea rdx, [rbp + 0x4c]
call fcn.14003c380
lea r8, [rbp + 0x30]
movsd qword [rbp + 0x10], xmm6
lea rdx, [rbp]
mov dword [rbp + 0x18], ebx
lea rcx, [rbp + 0x10]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp], xmm0
mov dword [rbp + 8], eax
call fcn.14003bbf0
movss xmm2, dword [rbp - 0x58]
movss xmm0, dword [rbp - 0x54]
subss xmm2, dword [rsp + 0x68]
movss xmm1, dword [rbp - 0x50]
subss xmm1, dword [rsp + 0x70]
movss xmm9, dword [rsp + 0x6c]
subss xmm0, xmm9
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm2
addss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rbx, qword [rsp + 0x60]
movaps xmm8, xmm0
divss xmm8, dword [0x1400a7d70]
comiss xmm8, dword [0x1400a7d60]
ja 0x14004145c
movss xmm6, dword [rbp + 0x34]
mov rcx, rbx
mulss xmm6, dword [0x1400a7c50]
call fcn.14003d9a0
mov rcx, rax
call fcn.14003d1c0
subss xmm6, xmm0
addss xmm6, dword [0x1400a7ccc]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
subss xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
movaps xmm6, xmm11
mov rcx, rsi
subss xmm6, xmm0
call fcn.14003cd10
mov rcx, rax
call fcn.14003c860
test al, al
jne 0x140041454
cmp r15, rsi
jne 0x140041536
mov r8, qword [0x140100c70]
lea rcx, [rbp - 0x48]
mov eax, edi
xorps xmm8, xmm8
shr eax, 0x10
xorps xmm9, xmm9
movzx eax, al
xorps xmm10, xmm10
xorps xmm11, xmm11
cvtsi2ss xmm9, rax
mov eax, edi
shr eax, 8
movzx eax, al
cvtsi2ss xmm10, rax
movzx eax, dil
shr edi, 0x18
cvtsi2ss xmm11, rax
mov eax, edi
cvtsi2ss xmm8, rax
divss xmm9, xmm12
divss xmm8, xmm12
divss xmm10, xmm12
movaps xmm0, xmm8
movss dword [rbp - 0x48], xmm9
mulss xmm0, dword [r8 + 0x1570]
divss xmm11, xmm12
movss dword [rbp - 0x3c], xmm0
movss dword [rbp - 0x44], xmm10
movss dword [rbp - 0x40], xmm11
call fcn.140004520
movss dword [rbp - 0x80], xmm7
movaps xmm0, xmm7
movss dword [rbp - 0x7c], xmm6
movaps xmm1, xmm6
addss xmm0, xmm13
mov ebx, eax
addss xmm1, xmm13
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
test eax, 0xff000000
je 0x140041340
mov edx, 6
mov rcx, r14
lea r8d, [rdx - 2]
call fcn.14001fd80
mov r9d, ebx
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.14001fea0
mov r8, qword [0x140100c70]
xor edx, edx
mov cl, 0x5e
call fcn.140034500
mov byte [rbp + 0x160], al
xor eax, eax
mov byte [rbp + 0x161], al
xor ecx, ecx
nop dword [rax]
lea eax, [rcx + 0x13]
inc ecx
xor byte [rbp + rdx + 0x160], al
movsxd rdx, ecx
cmp rdx, 1
jb 0x140041360
mov byte [rbp + 0x161], 0
lea rcx, [rbp - 0x38]
mulss xmm8, dword [r8 + 0x1570]
movss dword [rbp - 0x38], xmm9
movss dword [rbp - 0x34], xmm10
movss dword [rbp - 0x2c], xmm8
movss dword [rbp - 0x30], xmm11
call fcn.140004520
subss xmm7, xmm14
mov r8d, eax
subss xmm6, xmm15
movss dword [rbp - 0x78], xmm7
movss dword [rbp - 0x74], xmm6
test eax, 0xff000000
je 0x14004178c
lea rax, [rbp + 0x160]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400413d3
lea rdx, [rbp + 0x160]
xorps xmm10, xmm10
add rdx, rcx
lea rax, [rbp + 0x160]
cmp rax, rdx
je 0x140041446
mov rax, qword [r14 + 0x38]
lea rcx, [rbp + 0x160]
movups xmm0, xmmword [r14 + 0x88]
mov r9, qword [rbp - 0x78]
mov byte [rsp + 0x48], 0
movss xmm2, dword [rax + 0x10]
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rdx
mov rdx, r14
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rbp + 0x20], xmm0
mov dword [rsp + 0x20], r8d
call fcn.140025ef0
movss xmm11, dword [rbp + 0x17c]
mov rbx, qword [rsp + 0x60]
movss xmm7, dword [rbp + 0x178]
mov edi, 0xff0aff0a
inc r13d
add r12d, 0xdc0
call fcn.14003dc70
mov rcx, rax
call fcn.14003d8c0
cmp r13d, eax
jl 0x140041020
movss xmm6, dword [rbp + 0x170]
movaps xmm15, xmmword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm13, xmmword [rsp + 0x190]
movaps xmm12, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
mov r12, qword [rsp + 0x230]
mov rdi, qword [rsp + 0x238]
mov rsi, qword [rsp + 0x240]
mov r13, qword [rsp + 0x228]
mov rbx, qword [rsp + 0x248]
mov r15, qword [rsp + 0x218]
call fcn.14000ee60
movaps xmm11, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1f0]
mov r14, qword [rsp + 0x220]
mov rax, qword [0x140100c70]
movaps xmm10, xmmword [rsp + 0x1c0]
movss dword [rax + 0x1570], xmm6
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x250
pop rbp
ret
mov rcx, qword [0x140100c88]
call fcn.14003d9a0
mov rcx, rax
call fcn.14003d0d0
mov rcx, rax
lea rdx, [rbp + 0x58]
call fcn.14003c380
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
movss xmm0, dword [rax + 4]
mov eax, edi
addss xmm0, dword [0x1400a7d40]
shr eax, 0x10
movzx eax, al
comiss xmm9, xmm0
xorps xmm0, xmm0
jbe 0x1400416cd
cvtsi2ss xmm1, rax
mov eax, edi
xor edx, edx
shr eax, 8
mov cl, 0x5e
movzx eax, al
cvtsi2ss xmm2, rax
movzx eax, dil
shr edi, 0x18
cvtsi2ss xmm3, rax
mov eax, edi
cvtsi2ss xmm0, rax
divss xmm1, xmm12
divss xmm0, xmm12
divss xmm2, xmm12
divss xmm3, xmm12
call fcn.140034500
mov byte [rbp + 0x168], al
xor eax, eax
mov byte [rbp + 0x169], al
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x13]
inc ecx
xor byte [rbp + rdx + 0x168], al
movsxd rdx, ecx
cmp rdx, 1
jb 0x1400415e0
mov rax, qword [0x140100c70]
lea rcx, [rbp - 0x28]
mov byte [rbp + 0x169], 0
movss dword [rbp - 0x28], xmm1
movss dword [rbp - 0x24], xmm2
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x20], xmm3
movss dword [rbp - 0x1c], xmm0
call fcn.140004520
subss xmm7, xmm14
mov r8d, eax
subss xmm6, xmm15
movss dword [rbp - 0x70], xmm7
movss dword [rbp - 0x6c], xmm6
test eax, 0xff000000
je 0x140041454
lea rax, [rbp + 0x168]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140041655
lea rdx, [rbp + 0x168]
add rdx, rcx
lea rax, [rbp + 0x168]
cmp rax, rdx
je 0x140041454
mov rax, qword [r14 + 0x38]
lea rcx, [rbp + 0x168]
movups xmm0, xmmword [r14 + 0x88]
mov r9, qword [rbp - 0x70]
mov byte [rsp + 0x48], 0
movss xmm2, dword [rax + 0x10]
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rdx
mov rdx, r14
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rbp + 0x20], xmm0
mov dword [rsp + 0x20], r8d
call fcn.140025ef0
jmp 0x140041454
cvtsi2ss xmm3, rax
mov eax, edi
lea rcx, [rbp - 0x18]
shr eax, 8
movzx eax, al
cvtsi2ss xmm2, rax
movzx eax, dil
shr edi, 0x18
cvtsi2ss xmm1, rax
mov eax, edi
cvtsi2ss xmm0, rax
mov rax, qword [0x140100c70]
divss xmm3, xmm12
divss xmm0, xmm12
divss xmm2, xmm12
mulss xmm0, dword [rax + 0x1570]
divss xmm1, xmm12
movss dword [rbp - 0xc], xmm0
movss dword [rbp - 0x18], xmm3
movss dword [rbp - 0x14], xmm2
movss dword [rbp - 0x10], xmm1
call fcn.140004520
movss dword [rbp - 0x60], xmm7
movaps xmm0, xmm7
movss dword [rbp - 0x5c], xmm6
movaps xmm1, xmm6
addss xmm0, xmm13
mov ebx, eax
addss xmm1, xmm13
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm1
test eax, 0xff000000
je 0x14004144f
mov edx, 6
mov rcx, r14
lea r8d, [rdx - 2]
call fcn.14001fd80
mov r9d, ebx
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.14001fea0
jmp 0x14004144f
xorps xmm10, xmm10
jmp 0x140041446