Function at 0x1400039df
Capabilities:
Connect socket
Enumerate pe sections
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2a8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x210], xmm6
mov qword [rbp + 0x208], 0xfffffffffffffffe
mov qword [rbp + 0x158], rcx
mov r14, qword [rdx + 8]
mov qword [rbp + 0x188], rdx
mov r13, qword [rdx + 0x10]
lea rcx, [rbp + 0x1b0]
mov qword [rcx], r14
mov qword [rcx + 8], r13
call fcn.14002eb90
mov rdi, rax
test dil, 1
je 0x140003b09
mov r10, qword [rbp + 0x1b0]
mov r15, qword [rbp + 0x1b8]
test r15, r15
je 0x140003af4
cmp byte [r10], 0x3a
jne 0x140003af4
lea rsi, [r10 + 1]
lea rdx, [r15 - 1]
xor r12d, r12d
mov r11w, 0xa
mov qword [rbp + 0x180], rdx
mov qword [rbp + 0x1f0], rsi
xor eax, eax
mov r9d, 0
test rdx, rdx
je 0x140003ab7
lea r8, [rsi + 1]
lea rbx, [rdx - 1]
movzx ecx, byte [rsi]
mov qword [rbp + 0x1b0], r8
mov qword [rbp + 0x1b8], rbx
add ecx, 0xffffffd0
xor r9d, r9d
cmp ecx, 0xa
setb r9b
jb 0x140003acb
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rdx
mov rbx, rdx
mov r8, rsi
cmp r9d, 1
jne 0x140003b0f
mul r11w
jo 0x140003b1a
add ax, cx
setb dl
cmp ecx, 0xffff
ja 0x140003b1a
test dl, dl
jne 0x140003b1a
dec r12
mov rdx, rbx
mov rsi, r8
jmp 0x140003a84
xor ecx, ecx
mov qword [rbp + 0x1b0], r10
mov qword [rbp + 0x1b8], r15
test cx, cx
jne 0x140003b3e
xor edi, edi
xor ecx, ecx
jmp 0x140003b60
test r12, r12
je 0x140003b1a
mov cx, 1
jmp 0x140003b38
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x1b8], rax
xor ecx, ecx
cmp cx, 1
jne 0x140003af6
movabs rcx, 0xffffffff00
and rdi, rcx
shr rdi, 8
push 1
pop rcx
movzx eax, ax
shl rax, 0x30
shl rdi, 0x10
or rdi, rax
movzx eax, di
or rax, rcx
cmp rax, 1
jne 0x140003b75
mov rcx, qword [rbp + 0x1b8]
jmp 0x140003b8f
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x1b8], r13
mov rcx, r13
test rax, rax
je 0x140003ec8
test rcx, rcx
je 0x140003c06
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r13
and qword [rbp - 0x40], 0
mov qword [rbp - 0x30], 1
movabs rax, 0x3a0000003a
mov qword [rbp - 0x28], rax
mov rsi, r13
mov cl, 0x3a
mov rdx, r14
mov r8, rsi
call fcn.140031dc0
cmp rax, 1
jne 0x140003bfa
mov rsi, rdx
cmp rdx, 0xffffffffffffffff
je 0x140003bf1
mov rdi, rsi
inc rdi
mov rdx, r13
sub rdx, rdi
jb 0x140003bf1
mov al, byte [r14 + rsi]
cmp al, byte [rbp - 0x28]
je 0x140003fc5
mov qword [rbp - 0x38], rsi
cmp rsi, r13
jbe 0x140003bba
lea rdi, str.invalid_socket_address
jmp 0x140004112
mov rsi, rdi
shr rsi, 0x10
shr rdi, 0x18
xor r14d, r14d
push 0x20
pop rcx
push 4
pop rdx
call fcn.140042110
test rax, rax
je 0x140004627
mov r13, rax
mov word [rax], r14w
mov rax, rdi
shl rax, 8
movzx ecx, sil
or rcx, rax
shr rdi, 0x18
mov word [r13 + 6], di
mov dword [r13 + 2], ecx
movq qword [r13 + 8], xmm6
pshufd xmm0, xmm6, 0xee
movd dword [r13 + 0x10], xmm0
and dword [r13 + 0x14], 0
mov dword [r13 + 0x18], r15d
mov word [r13 + 0x1c], r12w
mov rdi, r13
add rdi, 0x20
push 1
pop rax
mov qword [rbp + 0x1f8], rax
lea rax, [rbp + 0x160]
and qword [rax], 0
xor esi, esi
mov qword [rbp + 0x1e8], r13
mov qword [rbp + 0x148], rdi
cmp r13, rdi
je 0x140003ea2
movzx r15d, word [r13]
mov edi, dword [r13 + 2]
movzx r12d, word [r13 + 6]
mov eax, dword [r13 + 0x10]
mov dword [rbp + 0x198], eax
mov rax, qword [r13 + 8]
mov qword [rbp + 0x190], rax
cmp r15w, 2
je 0x140003ea2
mov eax, dword [r13 + 0x14]
mov dword [rbp + 0x180], eax
mov esi, dword [r13 + 0x18]
movzx eax, word [r13 + 0x1c]
mov qword [rbp + 0x1f0], rax
mov eax, dword [rbp + 0x198]
mov dword [rbp + 0x1b8], eax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x1b0], rax
mov rax, qword [0x14014b130]
cmp rax, 3
jne 0x140003e90
push 2
pop r14
test r15w, r15w
push 1
pop rdx
je 0x140003d22
push 0x17
pop r14
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, r14d
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140003d99
shl r12, 0x20
or rdi, r12
test r15w, r15w
je 0x140003e08
shr rdi, 0x10
mov dword [rbp - 0x50], edi
mov eax, dword [rbp + 0x1b8]
lea rcx, [rbp - 0x4c]
mov dword [rcx + 8], eax
mov rax, qword [rbp + 0x1b0]
mov rdx, qword [rbp + 0x1f0]
rol dx, 8
mov qword [rcx], rax
movdqa xmm0, xmmword [rbp - 0x50]
mov ax, 0x17
push 0x1c
pop r8
mov ecx, dword [rbp + 0x180]
jmp 0x140003e21
mov dword [rbp + 0x17c], esi
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x140003db9
mov esi, eax
cmp eax, 0x2726
jne 0x140003e5b
mov dword [rsp + 0x28], 1
and dword [rsp + 0x20], 0
mov ecx, r14d
push 1
pop rsi
mov edx, esi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x140003e86
mov rbx, rax
mov rcx, rax
mov edx, esi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
je 0x140003e9a
mov esi, dword [rbp + 0x17c]
jmp 0x140003d47
mov rdx, rdi
shr rdx, 0x20
rol dx, 8
pxor xmm0, xmm0
mov ax, 2
mov ecx, edi
push 0x10
pop r8
mov word [rbp - 0x50], ax
mov word [rbp - 0x4e], dx
mov dword [rbp - 0x4c], ecx
movdqu xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x38], esi
mov rcx, rbx
lea rdx, [rbp - 0x50]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140004033
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
shl rsi, 0x20
or rsi, 2
lea rcx, [rbp + 0x160]
call fcn.140009322
mov qword [rbp + 0x160], rsi
add r13, 0x20
mov rdi, qword [rbp + 0x148]
jmp 0x140003c95
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
jmp 0x140003e5b
call fcn.1400b2620
jmp 0x140003d11
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140003e50
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1e8]
call fcn.1400093c9
test rsi, rsi
lea rdi, str._bJ_v_
cmovne rdi, rsi
jmp 0x140004112
mov rdi, qword [rbp + 0x1b8]
test rdi, rdi
je 0x140003b94
mov rsi, qword [rbp + 0x1b0]
dec rdi
mov al, byte [rsi]
inc rsi
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rdi
cmp al, 0x5b
jne 0x140003b94
pxor xmm0, xmm0
lea rdx, [rbp - 0x50]
movdqa xmmword [rdx], xmm0
lea rcx, [rbp + 0x1b0]
push 8
pop r15
mov r8, r15
call fcn.14002f1d0
cmp rax, 8
jne 0x140004151
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmm0
psrlw xmm1, 8
psllw xmm0, 8
por xmm0, xmm1
mov rsi, qword [rbp + 0x1b0]
mov r10, qword [rbp + 0x1b8]
xor ecx, ecx
test r10, r10
je 0x1400044f6
cmp byte [rsi], 0x25
jne 0x140004549
lea r9, [rsi + 1]
lea rbx, [r10 - 1]
xor edi, edi
push 0xa
pop r12
mov qword [rbp + 0x1f0], rbx
mov r11, r9
xor r15d, r15d
xor ecx, ecx
mov eax, 0
test rbx, rbx
je 0x140003f9f
movzx r8d, byte [r11]
add r8d, 0xffffffd0
xor eax, eax
cmp r8d, 0xa
setb al
jae 0x140003f9f
inc r11
dec rbx
cmp eax, 1
jne 0x140004522
mov eax, r15d
mul r12d
jo 0x140004538
mov r15d, eax
add r15d, r8d
jb 0x140004538
dec rdi
jmp 0x140003f7c
lea rcx, [r14 + rdi]
call fcn.140033970
mov r12d, eax
test r12b, 1
jne 0x140004077
shr r12d, 0x10
mov rax, qword [0x14014b130]
cmp rax, 3
jne 0x1400044f8
cmp rsi, 0x17f
ja 0x140004502
lea rcx, [rbp - 0x50]
mov rdx, r14
mov r8, rsi
call fcn.1400a1fa0
mov byte [rbp + rsi - 0x50], 0
cmp rsi, 0xe
ja 0x140004083
lea rcx, [rsi + 1]
push 1
pop rax
xor edx, edx
cmp byte [rbp + rdx - 0x50], 0
je 0x140004091
inc rdx
cmp rcx, rdx
jne 0x140004020
xor eax, eax
jmp 0x140004094
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1e8]
call fcn.1400093c9
lea rcx, [rbp + 0x160]
call fcn.140009322
mov rax, qword [rbp + 0x188]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
call fcn.1400a0d76
mov rcx, qword [rbp + 0x158]
mov qword [rcx + 8], rbx
xor eax, eax
jmp 0x140004133
lea rdi, str.invalid_port_value
jmp 0x140004112
lea rdx, [rbp - 0x50]
xor ecx, ecx
mov r8, rdi
call fcn.14002e7b0
mov rdi, rdx
test rax, rax
je 0x1400040f1
cmp rdi, rsi
jne 0x1400040f1
pxor xmm0, xmm0
lea r8, [rbp + 0x1b0]
movdqa xmmword [r8], xmm0
movdqa xmmword [r8 + 0x20], xmm0
movdqa xmmword [r8 + 0x10], xmm0
mov dword [r8 + 8], 1
lea r9, [rbp + 0x160]
and qword [r9], 0
lea rcx, [rbp - 0x50]
xor edx, edx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x1400044d2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x1400040f8
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rbp + 0x198], rax
push 1
pop rax
test rax, rax
je 0x14000421a
mov rdi, qword [rbp + 0x198]
mov rax, qword [rbp + 0x188]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
call fcn.1400a0d76
mov rcx, qword [rbp + 0x158]
mov qword [rcx + 8], rdi
push 1
pop rax
mov qword [rcx], rax
movaps xmm6, xmmword [rbp + 0x210]
add rsp, 0x2a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test dl, 1
jne 0x140004207
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x140004207
mov rdx, qword [rbp + 0x1b0]
cmp byte [rdx], 0x3a
jne 0x140004207
cmp rcx, 1
je 0x140004207
add rcx, 0xfffffffffffffffe
mov bl, byte [rdx + 1]
add rdx, 2
mov qword [rbp + 0x1b0], rdx
mov qword [rbp + 0x1b8], rcx
cmp bl, 0x3a
jne 0x140004207
and qword [rbp + 0x196], 0
and qword [rbp + 0x190], 0
push 7
pop r8
sub r8, rax
jb 0x140004660
lea rcx, [rbp + 0x1b0]
lea rdx, [rbp + 0x190]
call fcn.14002f1d0
sub r15, rax
jb 0x140004672
cmp rax, 8
je 0x140004686
lea rcx, [r15*2 - 0x50]
add rcx, rbp
add rax, rax
lea rdx, [rbp + 0x190]
mov r8, rax
call fcn.1400a1fa0
jmp 0x140003f26
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rdi
jmp 0x140003b94
lea rdx, [rbp + 0x190]
movups xmm0, xmmword [rdx + 8]
movzx eax, word [rdx + 0x18]
mov ecx, dword [rdx + 0x1a]
mov dword [rbp + 0x150], ecx
mov bx, word [rdx + 0x1e]
mov word [rbp + 0x154], bx
lea rdi, [rbp + 0x17a]
mov word [rdi], ax
movups xmmword [rdx], xmm0
mov word [rdx + 0x10], ax
mov dword [rdx + 0x12], ecx
mov word [rdx + 0x16], bx
mov qword [rdx + 0x18], rdi
mov byte [rbp + 0x207], 1
lea rcx, [rbp - 0x50]
call fcn.140092a50
movzx esi, word [rbp - 0x50]
cmp si, 2
jne 0x140004294
push 4
pop r13
mov rcx, qword [rbp + 0x190]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
xor edi, edi
xor eax, eax
mov qword [rbp + 0x1f8], rax
jmp 0x1400044c6
mov rax, qword [rbp + 0x1a8]
mov r15d, dword [rbp - 0x4e]
movzx r14d, word [rbp - 0x32]
movzx r12d, word [rax]
movzx ebx, word [rbp - 0x34]
movzx edi, word [rbp - 0x4a]
movups xmm0, xmmword [rbp - 0x48]
movaps xmmword [rbp + 0x1b0], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rbp + 0x1c0], eax
push 4
pop r13
mov ecx, 0x80
mov rdx, r13
call fcn.140042110
test rax, rax
je 0x14000464a
test si, si
cmovne ebx, r12d
cmove edi, r12d
mov dword [rax + 2], r15d
mov word [rax + 6], di
lea rdx, [rbp + 0x1b0]
movaps xmm0, xmmword [rdx]
movups xmmword [rax + 8], xmm0
mov ecx, dword [rdx + 0x10]
mov dword [rax + 0x18], ecx
mov word [rax + 0x1c], bx
mov word [rax + 0x1e], r14w
mov word [rax], si
movups xmm0, xmmword [rbp + 0x190]
movdqu xmm1, xmmword [rbp + 0x1a0]
movdqa xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
push 1
pop rbx
mov qword [rbp + 0x1f8], r13
mov qword [rbp + 0x1e8], rax
mov rsi, rax
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x1b0]
call fcn.140092a50
movzx r12d, word [rbp - 0x50]
cmp r12w, 2
mov rdi, rbx
je 0x1400044b2
mov rax, qword [rbp + 0x1c8]
mov r14d, dword [rbp - 0x4e]
movzx edx, word [rbp - 0x32]
movzx r13d, word [rax]
test r12w, r12w
movzx r15d, word [rbp - 0x4a]
cmove r15w, r13w
cmove r13w, word [rbp - 0x34]
lea rax, [rbp - 0x48]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x130], xmm0
mov eax, dword [rax + 0x10]
mov dword [rbp + 0x140], eax
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
mov rdi, rax
jne 0x140004469
mov rax, rdi
inc rdi
je 0x140004639
mov word [rbp + 0x1f0], dx
add rax, rax
cmp rax, rdi
cmova rdi, rax
cmp rdi, 5
push 4
pop rsi
jae 0x1400043d9
mov rdi, rsi
xor r8d, r8d
mov rax, rdi
shr rax, 0x3a
sete r8b
mov rdx, rdi
shl rdx, 5
shl r8, 2
mov rax, qword [rbp + 0x1f8]
shl rax, 5
mov rcx, qword [rbp + 0x1e8]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rsi
lea rcx, [rbp + 0x160]
lea r9, [rbp - 0x50]
call fcn.140089860
cmp qword [rbp + 0x160], 0
mov rsi, qword [rbp + 0x168]
je 0x14000445b
mov rdx, qword [rbp + 0x170]
movabs rax, 0x8000000000000001
cmp rdx, rax
jne 0x140004634
mov rdi, qword [rbp + 0x1f8]
mov rsi, qword [rbp + 0x1e8]
jmp 0x140004462
mov qword [rbp + 0x1e8], rsi
movzx edx, word [rbp + 0x1f0]
mov rax, rbx
shl rax, 5
mov word [rsi + rax], r12w
mov dword [rsi + rax + 2], r14d
mov word [rsi + rax + 6], r15w
movdqa xmm0, xmmword [rbp + 0x130]
movdqu xmmword [rsi + rax + 8], xmm0
mov ecx, dword [rbp + 0x140]
mov dword [rsi + rax + 0x18], ecx
mov word [rsi + rax + 0x1c], r13w
mov word [rsi + rax + 0x1e], dx
inc rbx
mov qword [rbp + 0x1f8], rdi
jmp 0x14000433c
mov rcx, qword [rbp + 0x1b0]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov r13, qword [rbp + 0x1e8]
shl rdi, 5
add rdi, r13
jmp 0x140003c7a
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], rax
mov word [rbp + 0x1a8], r12w
xor eax, eax
jmp 0x140004102
jmp 0x140004549
call fcn.1400b2620
jmp 0x140003ff0
lea rdi, [rbp + 0x190]
mov rcx, rdi
mov rdx, r14
mov r8, rsi
mov r9d, r12d
call fcn.1400b2680
mov rax, qword [rdi]
jmp 0x140004102
test rdi, rdi
je 0x140004536
push 1
pop rcx
mov qword [rbp + 0x1f0], rbx
mov r9, r11
jmp 0x140004538
xor ecx, ecx
cmp ecx, 1
jne 0x140004549
mov rsi, r9
mov r10, qword [rbp + 0x1f0]
jmp 0x14000454f
test ecx, ecx
cmove r15d, ecx
test r10, r10
je 0x140003b94
cmp byte [rsi], 0x5d
jne 0x140003b94
mov r8, r10
dec r8
je 0x1400045e0
cmp byte [rsi + 1], 0x3a
jne 0x1400045e0
add r10, 0xfffffffffffffffe
add rsi, 2
xor r9d, r9d
mov r11w, 0xa
mov rcx, r10
xor r12d, r12d
mov eax, 0
test rcx, rcx
je 0x1400045a7
movzx edi, byte [rsi]
add edi, 0xffffffd0
xor eax, eax
cmp edi, 0xa
setb al
jae 0x1400045a7
inc rsi
dec rcx
jmp 0x1400045b5
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rcx
cmp eax, 1
jne 0x1400045ef
mov eax, r12d
mul r11w
jo 0x1400045fd
mov r12d, eax
add r12w, di
setb dl
xor eax, eax
cmp edi, 0xffff
ja 0x1400045ff
test dl, dl
jne 0x1400045ff
dec r9
jmp 0x140004585
xor eax, eax
mov r10, r8
test ax, ax
jne 0x140004605
jmp 0x140003b94
xor eax, eax
test r9, r9
setne al
cmovne r10, rcx
jmp 0x1400045ff
xor eax, eax
cmp ax, 1
jne 0x1400045e2
test r10, r10
jne 0x140003b94
pshufd xmm6, xmm0, 0xf9
movd edi, xmm0
shl rdi, 8
mov r14w, 1
xor esi, esi
jmp 0x140003c14
push 0x20
pop rcx
push 4
pop rdx
call fcn.1400b0080
ud2
test rdx, rdx
jne 0x140004640
call fcn.140027d30
jmp 0x14000465e
mov rcx, rsi
call fcn.1400b0080
jmp 0x14000465e
mov byte [rbp + 0x207], 1
push 4
pop rdx
mov ecx, 0x80
call fcn.1400b0080
ud2
lea rax, str.librarycore_src_netparser.rs
push 7
pop rdx
mov rcx, r8
mov r8, rax
jmp 0x140004693
lea r8, str.librarycore_src_netparser.rs
push 8
pop rdx
mov rcx, r15
call fcn.1400b04c0
ud2
lea r8, str.librarycore_src_netparser.rs
push 8
pop rcx
push 7
pop rdx
call fcn.1400b02a0
ud2