Function at 0x1800408e0
Capabilities:
Create thread
Encode data using xor
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x408]
sub rsp, 0x500
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x1803d2380]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
xor edi, edi
cmp byte [0x180163b88], dil
je 0x1800409a9
cmp byte [0x180163b89], dil
je 0x1800411e5
lea ecx, [rdi + 1]
call fcn.1800847ec
mov qword [rbp + 0x390], rax
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x18000b210]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180041222
cmp dword [rsp + 0x48], edi
je 0x180041231
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x390], xmm0
lea rcx, [rbp + 0x390]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x180041231
jmp 0x1800411e5
cmp byte [0x1803d3452], dil
je 0x1800411e5
cmp dword [0x1803d3330], edi
jne 0x1800411e5
call fcn.18002fe50
mov rbx, rax
movaps xmm0, xmmword [0x1800c3bc0]
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x40], 0x44f00000
mov dword [rsp + 0x44], 0x44870000
xorps xmm6, xmm6
mov qword [rbp + 0x390], rdi
lea rcx, [rsp + 0x50]
call fcn.180016fd0
mov r9d, eax
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm6
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x390]
mov rcx, rbx
call fcn.18006e9b0
mov rax, qword [0x1803d33d8]
or dword [rax + 0x3fa0], 2
mov dword [rax + 0x3fc0], 0x43960000
mov dword [rax + 0x3fc4], 0x43960000
mov dword [rax + 0x3fa8], 1
mov qword [rbp + 0x390], rdi
lea rdx, [rbp + 0x390]
mov ecx, 2
call fcn.1800487a0
mov eax, dword [str._T__6]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1800c2610]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x4c
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor al, 0x35
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x36
xor edx, edx
lea r8d, [rdx + 0x2b]
lea rcx, [rsp + 0x40]
call fcn.18000ee90
mov rcx, qword [0x1803d33d8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
mov rbx, qword [rax + 0x280]
call fcn.18005a600
mov rax, qword [0x1803d33d8]
mov rcx, qword [rax + 0x3ea0]
movss xmm9, dword [rcx + 0x18]
movss xmm10, dword [rcx + 0x1c]
movss xmm7, dword [rcx + 0x20]
movss xmm8, dword [rcx + 0x24]
call fcn.180031f90
lea rcx, [rsp + 0x60]
mov edx, 8
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180040b00
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [0x1800c3b00]
movups xmmword [rsp + 0x50], xmm0
addss xmm7, xmm9
movss xmm6, dword [0x1800c37ec]
subss xmm7, xmm6
movss dword [rbp + 0x390], xmm7
addss xmm8, xmm10
subss xmm8, xmm6
movss dword [rbp + 0x394], xmm8
addss xmm9, xmm6
movss dword [rsp + 0x40], xmm9
addss xmm10, xmm6
movss dword [rsp + 0x44], xmm10
lea rcx, [rsp + 0x50]
call fcn.180016fd0
mov r9d, eax
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], edi
movss xmm0, dword [rsp + 0x70]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x390]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18006e8a0
mov rcx, qword [0x1803d33d8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, dword [0x1800c388c]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, dword [0x1800c3904]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov byte [rax + 0x121], 1
call fcn.180012850
call fcn.18002e700
movss xmm9, dword [0x1800c3950]
movss xmm10, dword [0x1800c38b0]
cmp dword [0x18032dac0], 1
jne 0x180041050
mov rcx, qword [0x1803d33d8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, dword [0x1800c3908]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, dword [0x1800c3918]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov byte [rax + 0x121], 1
call fcn.180012850
call fcn.18002e700
cmp dword [0x18032dac4], 2
jne 0x180041050
mov rcx, qword [0x1803d33d8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x64]
addss xmm1, xmm9
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, xmm10
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov byte [rax + 0x121], 1
mov qword [rbp + 0x390], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x14
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, 0x19
lea r8, [0x1803d3350]
lea rdx, str.Username
lea rcx, [0x1800c2634]
call fcn.18003b7a0
mov qword [rbp + 0x390], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x8000
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
mov r9d, 0x19
lea r8, [0x1803d3370]
lea rdx, str.Password
lea rcx, [0x1800c2644]
call fcn.18003b7a0
call fcn.180050ce0
movsd xmm0, qword [str.cWQXTRJ]
movsd qword [rbp + 0x390], xmm0
mov eax, dword [0x1800c2620]
mov dword [rbp + 0x398], eax
cmp byte [0x1800c2623], dil
je 0x180040f4f
cmp dword [0x1803d2360], 2
jl 0x180040f0a
movdqa xmm4, xmmword [0x1800c3ea0]
mov eax, 5
movd xmm6, eax
mov eax, 0x1f
movd xmm5, eax
movdqa xmm2, xmmword [0x1800c3a80]
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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800c3aa0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800c3ae0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
movd xmm0, dword [str.cWQXTRJ]
xorps xmm2, xmm0
movd dword [rbp + 0x390], xmm2
movdqa xmm3, xmmword [0x1800c3a90]
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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800c3aa0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800c3ae0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
movd xmm0, dword [rbp + 0x394]
xorps xmm2, xmm0
movd dword [rbp + 0x394], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp + 0x390]
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, 0x31
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xc
jl 0x180040f20
lea rdx, [0x1803d3453]
lea rcx, [rbp + 0x390]
call fcn.180014e20
call fcn.180050ce0
mov qword [rbp + 0x390], 0
xor r8d, r8d
lea rdx, [rbp + 0x390]
lea rcx, str.Login
call fcn.180013cc0
test al, al
je 0x180041050
cmp byte [0x1803d3453], 0
je 0x180041044
mov eax, dword [0x1800c25d0]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1800c25d4]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x40], 0x4c
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor al, 0x35
mov byte [rsp + 0x44], al
xor byte [rsp + 0x45], 0x36
lea r8, [0x1800c25d8]
lea rdx, [rsp + 0x40]
lea rcx, [0x1803d33c8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1803d33c8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov r9, qword [0x1803d33c8]
mov edx, 0x19
lea r8d, [rdx - 0x18]
lea rcx, [0x1803d3350]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r9, qword [0x1803d33c8]
mov edx, 0x19
lea r8d, [rdx - 0x18]
lea rcx, [0x1803d3370]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [0x1803d33c8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov byte [0x1803d332d], 1
call fcn.180031a60
call fcn.18002d940
mov ecx, 1
call fcn.180047190
call fcn.18002e2e0
cmp dword [0x1803d3330], 2
jne 0x1800411e5
mov rbx, qword [0x1803d33d8]
movups xmm0, xmmword [rbx + 0x38a8]
movups xmmword [rbp + 0x390], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rbx + 0x37e0]
movss dword [rbp + 0x39c], xmm0
lea rcx, [rbp + 0x390]
call fcn.180016fd0
mov r8d, eax
mov rcx, qword [rbx + 0x3ea0]
mov byte [rcx + 0x98], 1
mov rcx, qword [rbx + 0x3ea0]
movss xmm0, dword [rcx + 0x18]
subss xmm0, dword [rcx + 0x64]
addss xmm0, xmm9
movss dword [rcx + 0xe0], xmm0
mov byte [rcx + 0x121], 1
mov rdx, qword [0x1803d33d8]
mov rcx, qword [rdx + 0x3ea0]
mov byte [rcx + 0x98], 1
mov rax, qword [rdx + 0x3ea0]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, xmm10
movss dword [rax + 0xe4], xmm0
mov byte [rax + 0x121], 1
movaps xmm0, xmmword [0x1800c3a20]
movups xmmword [rsp + 0x50], xmm0
movzx eax, r8b
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x1800c3764]
mulss xmm0, xmm1
movss dword [rbp + 0x390], xmm0
mov eax, r8d
shr eax, 8
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [rbp + 0x394], xmm0
mov eax, r8d
shr eax, 0x10
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [rbp + 0x398], xmm0
shr r8d, 0x18
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movss dword [rbp + 0x39c], xmm0
movss xmm0, dword [0x1800c385c]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [0x1800c3898]
movss dword [rsp + 0x28], xmm1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x390]
movss xmm2, dword [0x1800c3874]
movss xmm1, dword [0x1800c38d8]
lea rcx, str.loading
call fcn.180051d00
call fcn.18002def0
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.180084e40
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
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]
mov rsp, r11
pop rbp
ret
mov dword [rsp + 0x48], edi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3