Function at 0x140145050
Capabilities:
Execute command
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1402f9040]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r14, rdx
movsxd rsi, ecx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
movabs rax, 0xa27870941e6e08a4
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x80], rax
movabs r15, 0x3c755938586c70
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x78], rax
movabs r13, 0xa27870941e1d64c7
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x180], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x188], rax
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov r9, qword [r14]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r9 + rdi], 0
jne 0x140145120
mov rax, qword [reloc.WS2_32.dll_ntohs]
cmp rdi, rax
ja 0x140145164
lea rbx, [0x1402f9560]
cmp rax, 0xf
cmova rbx, qword [0x1402f9560]
mov qword [0x1402f9570], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x140145173
mov rdx, rdi
lea rcx, [0x1402f9560]
call fcn.14003efa0
lea rdx, [0x1402f9560]
lea rcx, [rbp + 8]
call fcn.14002b7a0
mov rbx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140145198
mov rcx, qword [rax]
mov r8, rcx
mov rdx, rcx
jmp 0x1401451a1
mov rcx, rbx
mov r8, rbx
mov rdx, rbx
add rdx, qword [rax + 0x10]
cmp rdx, r8
je 0x1401451c1
nop word [rax + rax]
lea rax, [rdx - 1]
cmp byte [rax], 0x5c
je 0x1401451c1
mov rdx, rax
cmp rax, rcx
jne 0x1401451b0
mov rax, rbx
mov rcx, qword [rbx + 0x18]
cmp rcx, 0xf
jbe 0x1401451d1
mov rax, qword [rbx]
cmp rdx, rax
je 0x140145237
cmp rcx, 0xf
jbe 0x1401451e4
mov rax, qword [rbx]
mov r8, rax
jmp 0x1401451ea
mov r8, rbx
mov rax, rbx
mov r9, rax
sub r9, r8
sub rdx, rax
mov qword [rbp + 0x170], rdx
mov rdi, qword [rbx + 0x10]
mov rax, rdi
sub rax, r9
mov qword [rbp - 0x30], rax
cmp rax, rdx
cmovb rdx, rax
mov rax, rbx
cmp rcx, 0xf
jbe 0x14014521b
mov rax, qword [rbx]
lea rcx, [rax + r9]
sub rdi, rdx
mov r8, rdi
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbx + 0x10], rdi
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x18], xmm1
xor r12d, r12d
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], r12b
mov rcx, rbx
call fcn.14002c1e0
lea rdx, [rbp - 0x28]
lea rcx, [0x1402f9520]
call fcn.14003fd30
lea rcx, [rbp - 0x28]
call fcn.14002c1e0
lea rdx, [0x1402f9560]
lea rcx, [rbp + 0x28]
call fcn.14002b7a0
lea r8, [0x1402f9520]
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1401d0c70
mov rdx, rax
lea rcx, [0x1402f9540]
call fcn.14003fd30
lea rcx, [rbp + 0x48]
call fcn.14002c1e0
lea edx, [r12 + 0x10]
lea rcx, [rbp + 0x68]
call fcn.1401d00a0
cmp qword [rax + 0x18], 0xf
jbe 0x1401452cc
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rcx, [rbp + 0x68]
call fcn.14002c1e0
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402f9520]
lea rcx, [rbp + 0x88]
call fcn.14002b7a0
mov rbx, rax
lea rdx, [0x1402f9540]
lea rcx, [rbp + 0xa8]
call fcn.14002b7a0
nop
mov rdx, rbx
mov rcx, rax
call fcn.1401cfd30
mov edi, 1
movabs rbx, 0xd68cb7a34b9b562a
cmp rdi, rsi
jge 0x140145759
nop word [rax + rax]
mov rdx, qword [r14 + rdi*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x168], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140145363
lea rcx, [rbp + 0x150]
call fcn.14002c040
nop
lea rax, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rax, qword [rbp + 0x150]
cmp byte [rax], 0x2d
jne 0x140145741
movabs rax, 0xc60a1ff76d7400ea
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
movabs rax, 0x4514354a3d1a1f
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x190], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x198], rax
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x190]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140145410
lea rcx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rcx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
cmp r8, rax
jne 0x140145456
lea rdx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140145456
mov byte [0x140302920], 1
jmp 0x140145741
movabs rax, 0xc61415fa6c780fea
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
movabs rax, 0x3c752b5d2e0502
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1a0], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1a8], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401454d0
lea rcx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rcx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
cmp r8, rax
jne 0x140145516
lea rdx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140145516
mov byte [0x140302921], 1
jmp 0x140145741
movabs rax, 0xa2781efd797208ea
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1b0], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1b8], rax
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x1b0]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140145580
lea rcx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rcx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
cmp r8, rax
jne 0x140145634
lea rdx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140145634
mov rbx, qword [0x140302770]
test rbx, rbx
jne 0x1401455eb
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
mov rcx, rax
call fcn.140039050
mov rbx, rax
mov qword [0x140302770], rax
mov rdx, qword [r14 + rdi*8 + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140145606
lea rcx, [rbp - 0x50]
call fcn.14002c040
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14003ce30
movabs rbx, 0xd68cb7a34b9b562a
jmp 0x140145741
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0xcc131ec13e40459c
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x70], rax
movabs rax, 0x6948053618361b1f
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x68], rax
movabs rax, 0xed2e9ad6383e9966
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x60], rax
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1c0], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1c8], rax
movabs rax, 0xed2e9ad61804f709
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1d0], rax
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1d8], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm1, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp - 0x60], xmm1
lea rdx, [rbp - 0x70]
call fcn.14003ea10
lea rdx, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x160]
mov rcx, rax
call fcn.14003f530
lea rdx, [0x14003ebe0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0x150]
call fcn.14002c1e0
inc rdi
cmp rdi, rsi
jl 0x140145340
mov rax, qword [0x140302770]
test rax, rax
jne 0x140145784
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
mov rcx, rax
call fcn.140039050
nop
mov qword [0x140302770], rax
mov rcx, rax
call fcn.14003aa00
mov rax, qword [0x140302770]
test rax, rax
jne 0x1401457b7
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
mov rcx, rax
call fcn.140039050
nop
mov qword [0x140302770], rax
mov rcx, rax
call fcn.140039d80
cmp qword [0x140302770], 0
jne 0x1401457e8
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
mov rcx, rax
call fcn.140039050
nop
mov qword [0x140302770], rax
call fcn.14003d0e0
mov rax, qword [0x140302770]
test rax, rax
jne 0x140145818
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
mov rcx, rax
call fcn.140039050
nop
mov qword [0x140302770], rax
cmp byte [rax + 0x89], 0
jne 0x140145828
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rbx, qword [0x1403027d0]
test rbx, rbx
jne 0x14014587e
mov ecx, 0x90
call fcn.14022f7fc
mov qword [rsp + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x80], xmm0
mov rcx, rax
call fcn.140147540
mov rbx, rax
mov qword [0x1403027d0], rax
mov rcx, rbx
call fcn.140148ec0
mov rcx, rbx
call fcn.1401496b0
movabs rax, 0xcd5815e1797c018b
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x30], rax
movabs rax, 0x6452103e5d144c16
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x38], rax
movabs rax, 0xed2e9ab36061d97a
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
movabs rdi, 0xd68cb7a34b9b562a
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1e0], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1e8], rax
movabs rsi, 0xed2e9ad61804f709
mov qword [rsp + 0x20], rsi
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1f0], rax
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x1f8], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmmword [rbp + 0x1f0]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x30]
mov rdx, qword [rbx + 0x88]
mov rcx, rbx
call fcn.140148a60
mov qword [rbx + 0x38], rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movabs rax, 0x822522d14e553fe7
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x30], rax
movabs rax, 0x645814795d2b0d32
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x38], rax
movabs rax, 0xed2ebaec6b77927b
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x200], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x208], rax
mov qword [rsp + 0x20], rsi
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x210], rax
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x218], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmmword [rbp + 0x210]
movdqa xmmword [rsp + 0x40], xmm1
lea rdx, [rsp + 0x30]
call fcn.14003ea10
lea rdx, [0x14007de70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [rbx + 0x38]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
xor edx, edx
mov rcx, rbx
call fcn.140149bb0
xor edx, edx
mov rcx, rbx
call fcn.140149c30
xor edx, edx
mov rcx, rbx
call fcn.140149bb0
xor edx, edx
mov rcx, rbx
call fcn.140149b30
xor edx, edx
mov rcx, rbx
call fcn.140149d20
xor edx, edx
mov rcx, rbx
call fcn.140149db0
xor r8d, r8d
lea rdx, [rbp - 8]
mov rcx, rbx
call fcn.140149e40
xor edx, edx
mov rcx, rbx
call fcn.140149c30
xor r8d, r8d
lea rdx, [rbp + 0xd0]
mov rcx, rbx
call fcn.140149fd0
call fcn.140145b90
xor eax, eax
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14022f560
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret