Function at 0x140012280
Capabilities:
Create thread
Encode data using xor
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x14008c118]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor edi, edi
mov qword [rbp + 0x27], rdi
movdqa xmm0, xmmword [0x14006eca0]
movdqu xmmword [rbp + 0x37], xmm0
mov byte [rbp + 0x27], dil
lea rcx, [0x14008cb70]
call fcn.14000cca0
cmp byte [0x14008c910], dil
je 0x140012691
lea rcx, [0x14008cb70]
call fcn.1400091c0
cmp byte [0x14008c910], dil
je 0x140012691
lea edx, [rdi + 6]
lea rcx, str.Welcome_to_EG__n_n
call fcn.1400145f0
lea edx, [rdi + 6]
lea rcx, str.Login_Key:__n
call fcn.1400145f0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [0x14008cb70]
mov rcx, rbx
call fcn.140011590
lea rcx, [0x14008cb70]
call fcn.140009830
cmp al, 1
jne 0x140012691
cmp byte [0x14008c910], dil
je 0x140012691
lea rbx, [0x14008c918]
mov rcx, rbx
cmp qword [0x14008c930], 0x10
cmovae rcx, qword [0x14008c918]
mov r8, qword [0x14008c928]
cmp r8, 2
jne 0x140012691
lea rdx, [0x14006f5b0]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140012691
mov edx, dword [0x14008c90c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x14006f56c]
call fcn.140011330
mov dword [rbp - 9], 0x23383638
mov dword [rbp - 5], 0x22272229
mov word [rbp - 1], 0x100
mov ecx, edi
nop word [rax + rax]
lea eax, [rcx + 0xd]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 8
jb 0x1400123e0
mov byte [rbp], 0
mov qword [rbp + 0x17], 8
mov qword [rbp + 0x1f], reloc.WS2_32.dll_ntohs
mov rax, qword [rbp - 9]
mov qword [rbp + 7], rax
mov byte [rbp + 0xf], 0
lea rdx, [rbp + 7]
lea rcx, [0x14008cc10]
call fcn.140008cf0
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x14001245e
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012459
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012459
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006ab5c
mov dword [rbp - 9], 0x757d614e
mov word [rbp - 5], 0x100
mov rcx, rdi
nop
lea eax, [rcx + 0xd]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 4
jb 0x140012470
mov byte [rbp - 4], 0
lea rdx, [rbp + 7]
lea rcx, [0x14008cb70]
call fcn.14000d7a0
lea rdx, [rbp - 9]
mov rcx, rax
call fcn.1400079c0
movzx esi, al
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x1400124e1
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400124dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400124dc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006ab5c
test sil, sil
jne 0x140012691
cmp byte [0x14008c910], sil
je 0x140012691
mov dword [rbp - 9], 0x757d614e
mov word [rbp - 5], 0x100
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx + 0xd]
xor byte [rbp + rcx - 9], al
inc rcx
cmp rcx, 4
jb 0x140012510
mov byte [rbp - 4], 0
lea rcx, [rbp - 9]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140012530
cmp qword [0x14008c930], 0x10
cmovae rbx, qword [0x14008c918]
mov r8, qword [0x14008c928]
cmp r8, rax
jne 0x140012691
lea rdx, [rbp - 9]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140012691
mov qword [rbp + 0x17], send
mov qword [rbp + 0x1f], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.Message_Here]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14006f5c0]
mov dword [rbp + 0xf], eax
mov byte [rbp + 0x13], 0
lea rdx, [rbp + 7]
lea rcx, [0x14008cb70]
call fcn.14000f320
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140011fd0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [rbp - 9], 0x75616149
mov word [rbp - 5], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rdi + 0xd]
xor byte [rbp + rdi - 9], al
inc rdi
cmp rdi, 4
jb 0x1400125e0
mov byte [rbp - 4], 0
mov edx, 2
lea rcx, [rbp - 9]
call fcn.1400145f0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp + 0x27]
mov rcx, rbx
call fcn.140011590
nop
mov rdx, qword [rbp + 0x3f]
cmp rdx, 0x10
jb 0x14001266a
inc rdx
mov rcx, qword [rbp + 0x27]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012665
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012665
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006ab5c
xor eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.14006abf0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
mov ecx, Ordinal_46
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3