Function at 0x1400d6970
Capabilities:
Connect socket
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x8c8
mov r14, rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
mov r13, qword [rdx + 0x68]
mov esi, dword [r13 + 0x18]
cmp esi, 0x3b9aca00
jne 0x1400d69c1
mov rax, qword [r14 + 0x58]
mov qword [rsp + 0x98], rax
mov eax, dword [r14 + 0x60]
mov dword [rsp + 0x54], eax
jmp 0x1400d6a17
mov rdi, qword [r13 + 0x10]
call fcn.140081d90
mov dword [rsp + 0x54], 0x3b9aca00
add rax, rdi
mov qword [rsp + 0x98], rax
jae 0x1400d69e1
jmp 0x1400d6a17
add edx, esi
cmp edx, 0x3b9aca00
jb 0x1400d69fb
inc qword [rsp + 0x98]
je 0x1400d6a17
add edx, 0xc4653600
mov eax, edx
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub edx, eax
mov dword [rsp + 0x54], edx
cmp byte [r13 + 0x9c], 4
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x70], r13
jne 0x1400d6af5
mov byte [rsp + 0x114], 4
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x4a0], rax
lea rax, [0x1400bac50]
mov qword [rsp + 0x4a8], rax
lea rax, [rsp + 0x930]
mov qword [rsp + 0x4b0], rax
lea rax, [0x140009980]
mov qword [rsp + 0x4b8], rax
lea rax, str.combase.dll
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 2
lea rcx, [rsp + 0x390]
lea rdx, [rsp + 0x150]
call fcn.140003b00
movups xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0xc0], rax
jmp 0x1400d6d8f
mov rbx, qword [r13 + 0x50]
mov rsi, qword [r13 + 0x60]
test rsi, rsi
je 0x1400d6b50
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d6b2f
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d6b41
mov rcx, rax
mov qword [0x1401d2138], rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapAlloc
mov rdi, rax
test rax, rax
jne 0x1400d6b55
mov ecx, 1
mov rdx, rsi
call fcn.1400034d0
ud2
mov edi, 1
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov ebp, dword [r13 + 0x98]
mov r15, qword [r13 + 0x68]
test r15, r15
je 0x1400d6bca
mov rbx, qword [r13 + 0x78]
test rbx, rbx
je 0x1400d6be1
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d6ba9
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d6bbb
mov rcx, rax
mov qword [0x1401d2138], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x1400d6be7
mov ecx, 1
mov rdx, rbx
call fcn.1400034d0
ud2
xor r14d, r14d
mov r12, qword [r13 + 0x80]
test r12, r12
jne 0x1400d6c01
xor r13d, r13d
jmp 0x1400d6c6f
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r12, qword [r13 + 0x80]
test r12, r12
je 0x1400d6bd9
mov r15, qword [r13 + 0x90]
test r15, r15
je 0x1400d6c5b
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d6c3a
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d6c4c
mov rcx, rax
mov qword [0x1401d2138], rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapAlloc
mov r13, rax
test rax, rax
jne 0x1400d6c61
mov ecx, 1
mov rdx, r15
call fcn.1400034d0
ud2
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x9c]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], r15
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xf8], r13
lea rcx, [rsp + 0x110]
mov dword [rsp + 0x110], ebp
mov byte [rsp + 0x114], al
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x4a0], rax
lea rax, [0x1400051d0]
mov qword [rsp + 0x4a8], rax
mov qword [rsp + 0x4b0], rcx
lea rax, [0x140009a80]
mov qword [rsp + 0x4b8], rax
lea rax, str.combase.dll
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 2
lea rcx, [rsp + 0x390]
lea rdx, [rsp + 0x150]
call fcn.140003b00
movups xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0xc0], rax
mov r14, qword [rsp + 0x128]
mov rax, qword [r14 + 0x70]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
lock inc qword [rdi]
jle 0x1400d85fb
mov rax, qword [rsi + 0x10]
dec rax
and rax, 0xfffffffffffffff0
lea rdx, [rax + rdi]
add rdx, 0x10
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc0]
lea rcx, [rsp + 0x6a8]
call qword [rsi + 0x18]
cmp qword [rsp + 0x6a8], 0
je 0x1400d6e0e
mov rax, qword [rsp + 0x6b8]
mov qword [rsp + 0x4b8], rax
movups xmm0, xmmword [rsp + 0x6a8]
movups xmmword [rsp + 0x4a8], xmm0
mov dword [rsp + 0x4a0], 3
jmp 0x1400d6edf
mov rbx, qword [rsp + 0x6b0]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x790], rax
lea rax, [0x1400051d0]
mov qword [rsp + 0x798], rax
lea rax, str.resolve_dns_name_
mov qword [rsp + 0x390], rax
mov qword [rsp + 0x398], 2
mov qword [rsp + 0x3b0], 0
lea rax, [rsp + 0x790]
mov qword [rsp + 0x3a0], rax
mov qword [rsp + 0x3a8], 1
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x390]
call fcn.140003b00
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 2
mov dword [rsp + 0x150], 2
lea rcx, [rsp + 0x4a0]
lea rdx, [rsp + 0x150]
mov r8, rbx
call fcn.1400bd150
mov ebx, dword [rsp + 0x4a0]
cmp ebx, 3
jne 0x1400d7e19
mov rbp, qword [rsp + 0x4a8]
mov rbx, qword [rsp + 0x4b0]
mov r15, qword [rsp + 0x4b8]
lock dec qword [rdi]
jne 0x1400d6f08
mov rcx, rdi
mov rdx, rsi
call fcn.1400c05d0
test r15, r15
je 0x1400d7913
mov qword [rsp + 0x120], rbx
lea rax, [r14 + 0x68]
mov qword [rsp + 0x358], rax
movzx eax, byte [rsp + 0x114]
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x360], r15
shl r15, 5
add r15, rbp
mov qword [rsp + 0x368], r15
xor esi, esi
mov qword [rsp + 0x118], rbp
jmp 0x1400d6f97
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
dec rbx
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
add rbp, 0x20
cmp rbp, qword [rsp + 0x368]
je 0x1400d7a48
mov rbx, rsi
movzx edi, word [rbp]
mov r13d, dword [rbp + 0x14]
mov r12d, dword [rbp + 0x18]
movzx r15d, word [rbp + 0x1c]
movzx eax, word [rbp + 0x1e]
mov word [rsp + 0x52], ax
mov word [rsp + 0x50], 2
cmp di, 2
je 0x1400d7a45
movzx eax, word [rbp + 0x12]
mov word [rsp + 0x3a0], ax
movups xmm0, xmmword [rbp + 2]
movaps xmmword [rsp + 0x390], xmm0
mov r14d, 0x3b9aca00
cmp dword [rsp + 0x54], 0x3b9aca00
lea rsi, [rsp + 0x150]
je 0x1400d7093
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x4a0], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x4a8], eax
call fcn.140081d90
mov r8d, edx
lea rcx, [rsp + 0x4a0]
mov rdx, rax
call fcn.140081f30
mov qword [rsp + 0x90], rax
cmp edx, 0x3b9aca00
je 0x1400d7e76
mov r14d, edx
cmp qword [rsp + 0x360], 1
je 0x1400d7093
mov rdx, qword [rsp + 0x90]
mov rax, rdx
shr rax, 1
shr r14d, 1
lea ecx, [r14 + 0x1dcd6500]
test dl, 1
cmove ecx, r14d
mov edx, ecx
shr edx, 9
imul rdx, rdx, 0x44b83
shr rdx, 0x27
add rax, rdx
imul edx, edx, 0x3b9aca00
sub ecx, edx
mov r14d, ecx
mov qword [rsp + 0x90], rax
test byte [rsp + 0x64], 0xfb
jne 0x1400d7160
cmp r14d, 0x3b9aca00
jne 0x1400d71e0
mov rsi, qword [rsp + 0x396]
cmp di, 3
je 0x1400d7433
mov eax, dword [rsp + 0x39e]
mov word [rsp + 0x150], di
movzx ecx, word [rsp + 0x394]
lea rdx, [rsp + 0x152]
mov word [rdx + 4], cx
mov ecx, dword [rsp + 0x390]
mov dword [rdx], ecx
mov qword [rsp + 0x158], rsi
mov dword [rsp + 0x160], eax
mov dword [rsp + 0x164], r13d
mov dword [rsp + 0x168], r12d
mov word [rsp + 0x16c], r15w
movzx eax, word [rsp + 0x52]
mov word [rsp + 0x16e], ax
lea rcx, [rsp + 0x4a0]
xor edx, edx
lea r8, [rsp + 0x150]
call fcn.1400abc50
cmp qword [rsp + 0x4a0], 0
je 0x1400d82bd
mov rsi, qword [rsp + 0x4a8]
test rbx, rbx
jne 0x1400d743c
jmp 0x1400d6f85
cmp byte [rsp + 0x114], 4
je 0x1400d8590
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x1400d7262
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x1400d71b5
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d85c4
mov qword [0x1401d2138], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x1400d7268
jmp 0x1400d85c4
mov rax, qword [0x1401d2140]
cmp rax, 3
jne 0x1400d758d
mov rcx, rsi
mov edx, edi
call fcn.1400a72b0
cmp qword [rsp + 0x150], 0
mov r8, rsi
mov rsi, qword [rsp + 0x158]
jne 0x1400d7433
mov dword [rsp + 0x150], 1
mov rcx, rsi
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
mov word [rsp + 0x42], r15w
je 0x1400d748c
test di, di
je 0x1400d74a1
mov r8d, 0x1c
mov cx, 0x17
movups xmm0, xmmword [rsp + 0x392]
mov eax, r15d
mov edx, r13d
jmp 0x1400d74bd
mov r14d, 1
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
mov word [rsp + 0x42], r15w
je 0x1400d72eb
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1400d7308
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x1400d72cc
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d85d3
mov qword [0x1401d2138], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x88]
call sub.KERNEL32.dll_HeapAlloc
mov r15, rax
test rax, rax
jne 0x1400d730e
jmp 0x1400d85d3
xor r15d, r15d
mov rsi, qword [rsp + 0xf8]
test rsi, rsi
mov dword [rsp + 0x44], r12d
jne 0x1400d7333
xor r12d, r12d
jmp 0x1400d73ae
mov r15d, 1
mov rcx, r15
mov rdx, rsi
mov r8, qword [rsp + 0x88]
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0xf8]
test rsi, rsi
mov dword [rsp + 0x44], r12d
je 0x1400d7300
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x1400d7395
js 0x1400d8589
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x1400d7376
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d85e7
mov qword [0x1401d2138], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x80]
call sub.KERNEL32.dll_HeapAlloc
mov r12, rax
test rax, rax
jne 0x1400d739b
jmp 0x1400d85e7
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, qword [rsp + 0x80]
call sub.msvcrt.dll_memcpy
cmp dword [rsp + 0x64], 4
je 0x1400d85aa
mov r8d, 0x17
mov cl, 0x27
lea rdx, str.SOCKS_feature_disabled.unknown_scheme_
call fcn.1400beda0
mov rsi, rax
test rdi, rdi
je 0x1400d73e6
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
test r15, r15
je 0x1400d7407
cmp qword [rsp + 0x88], 0
je 0x1400d7407
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
test r12, r12
je 0x1400d7477
cmp qword [rsp + 0x80], 0
movzx r15d, word [rsp + 0x42]
je 0x1400d742e
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
mov r12d, dword [rsp + 0x44]
test rbx, rbx
je 0x1400d6f85
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x1400d6f85
mov rdi, qword [rbx - 1]
mov r14, qword [rbx + 7]
mov rcx, rdi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400d6f71
cmp qword [r14 + 0x10], 0x11
jb 0x1400d6f60
mov rdi, qword [rdi - 8]
jmp 0x1400d6f60
mov r12d, dword [rsp + 0x44]
movzx r15d, word [rsp + 0x42]
test rbx, rbx
jne 0x1400d743c
jmp 0x1400d6f85
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
jmp 0x1400d77d5
movzx eax, word [rsp + 0x394]
mov edx, dword [rsp + 0x390]
mov r8d, 0x10
mov cx, 2
xorps xmm0, xmm0
rol ax, 8
mov word [rsp + 0x150], cx
mov word [rsp + 0x152], ax
mov dword [rsp + 0x154], edx
movups xmmword [rsp + 0x158], xmm0
mov dword [rsp + 0x168], r12d
mov rcx, rsi
lea rdx, [rsp + 0x150]
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
je 0x1400d7502
xor r15d, r15d
jmp 0x1400d7512
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov dword [rsp + 0x150], 0
mov rcx, rsi
mov edx, 0x8004667e
lea r8, [rsp + 0x150]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400d7563
test r15, r15
je 0x1400d82c7
mov dword [rsp + 0x44], r12d
mov r12d, r15d
and r12d, 3
lea rcx, [0x140136460]
movsxd rax, dword [rcx + r12*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
jmp 0x1400d75aa
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
test r15, r15
je 0x1400d76e0
mov dword [rsp + 0x44], r12d
mov r12d, r15d
and r12d, 3
jmp 0x1400d7755
call fcn.1400a6720
jmp 0x1400d71f1
movzx eax, byte [r15 + 0xf]
jmp 0x1400d75aa
mov rcx, r15
shr rcx, 0x20
call fcn.1400826a0
cmp al, 0xd
jne 0x1400d75ca
cmp qword [rsp + 0x90], 0
jne 0x1400d75f8
test r14d, r14d
jne 0x1400d75f8
lea r14, str.cannot_set_a_0_duration_timeout
jmp 0x1400d7755
mov r12d, dword [rsp + 0x44]
jmp 0x1400d77d5
mov rax, r15
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x1400d75f2
lea rcx, [0x140136470]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
jmp 0x1400d75aa
mov rcx, qword [rsp + 0x90]
cmp rcx, 0x7fffffff
mov eax, 0x7fffffff
cmovb rax, rcx
mov ecx, r14d
imul rcx, rcx, 0x10624dd3
shr rcx, 0x26
mov dword [rsp + 0x6a8], eax
test rax, rax
mov eax, ecx
mov edx, 1
cmove eax, edx
cmp r14d, 0x3e8
cmovae eax, ecx
mov dword [rsp + 0x6ac], eax
mov r8d, 0x1f8
lea rcx, [rsp + 0x160]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x4a0], 1
mov qword [rsp + 0x4a8], rsi
mov r8d, 0x1f8
lea rcx, [rsp + 0x4b0]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x150], 1
mov qword [rsp + 0x158], rsi
lea rax, [rsp + 0x6a8]
mov qword [rsp + 0x20], rax
mov ecx, 1
xor edx, edx
lea r8, [rsp + 0x4a0]
lea r9, [rsp + 0x150]
call sub.ws2_32.dll_select
lea r14, str.connection_timed_out
test eax, eax
je 0x1400d76f5
cmp eax, 0xffffffff
jne 0x1400d76e8
call sub.ws2_32.dll_WSAGetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
jmp 0x1400d7755
mov r15, r14
jmp 0x1400d77d5
cmp dword [rsp + 0x4a0], 1
jne 0x1400d7740
xor r14d, r14d
lea rax, [r12 - 2]
cmp rax, 2
jb 0x1400d7765
test r12, r12
je 0x1400d7765
lea rax, [r15 - 1]
mov qword [rsp + 0x78], rax
mov rcx, qword [r15 - 1]
mov r15, qword [r15 + 7]
mov qword [rsp + 0x68], rcx
call qword [r15]
mov r12d, dword [rsp + 0x44]
cmp qword [r15 + 8], 0
je 0x1400d77b6
cmp qword [r15 + 0x10], 0x11
jb 0x1400d77a3
mov r8, qword [rsp + 0x68]
mov r8, qword [r8 - 8]
jmp 0x1400d77a8
mov rcx, rsi
call fcn.1400a73b0
mov r14, rdx
test rax, rax
jne 0x1400d7755
test r14, r14
je 0x1400d76f2
lea rax, [r12 - 2]
cmp rax, 2
jb 0x1400d7765
test r12, r12
jne 0x1400d7777
mov r12d, dword [rsp + 0x44]
mov r15, r14
test r14, r14
jne 0x1400d77d5
jmp 0x1400d82c7
lea rax, [r15 - 1]
mov qword [rsp + 0x78], rax
mov rcx, qword [r15 - 1]
mov r15, qword [r15 + 7]
mov qword [rsp + 0x68], rcx
call qword [r15]
mov r12d, dword [rsp + 0x44]
cmp qword [r15 + 8], 0
je 0x1400d77b6
cmp qword [r15 + 0x10], 0x11
jae 0x1400d7735
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.KERNEL32.dll_HeapFree
mov r15, r14
test r14, r14
je 0x1400d82c7
mov rcx, rsi
call fcn.14010ced4
mov rsi, r15
movzx r15d, word [rsp + 0x42]
test rbx, rbx
jne 0x1400d743c
cld
invalid
invalid
cld
invalid
jmp 0x1400d6f85
invalid
mov al, 0x29
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 1
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 2
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 3
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 4
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 5
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 6
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 7
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 8
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 9
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 0xa
jmp 0x1400d75aa
invalid
invalid
invalid
mov al, 0xb
jmp 0x1400d75aa
mov al, 0xc
jmp 0x1400d75aa
mov al, 0xd
jmp 0x1400d75aa
mov al, 0xe
jmp 0x1400d75aa
mov al, 0xf
jmp 0x1400d75aa
mov al, 0x10
jmp 0x1400d75aa
mov al, 0x11
jmp 0x1400d75aa
mov al, 0x12
jmp 0x1400d75aa
mov al, 0x13
jmp 0x1400d75aa
mov al, 0x14
jmp 0x1400d75aa
mov al, 0x15
jmp 0x1400d75aa
mov al, 0x16
jmp 0x1400d75aa
mov al, 0x17
jmp 0x1400d75aa
mov al, 0x18
jmp 0x1400d75aa
mov al, 0x19
jmp 0x1400d75aa
mov al, 0x1a
jmp 0x1400d75aa
mov al, 0x1b
jmp 0x1400d75aa
mov al, 0x1c
jmp 0x1400d75aa
mov al, 0x1d
jmp 0x1400d75aa
mov al, 0x1e
jmp 0x1400d75aa
mov al, 0x1f
jmp 0x1400d75aa
mov al, 0x20
jmp 0x1400d75aa
mov al, 0x21
jmp 0x1400d75aa
mov al, 0x22
jmp 0x1400d75aa
mov al, 0x23
jmp 0x1400d75aa
mov al, 0x24
jmp 0x1400d75aa
mov al, 0x25
jmp 0x1400d75aa
mov al, 0x26
jmp 0x1400d75aa
mov al, 0x27
jmp 0x1400d75aa
mov al, 0x28
jmp 0x1400d75aa
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x390], rax
lea rax, [0x1400bac50]
mov qword [rsp + 0x398], rax
lea rax, [0x1401809d0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x390]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
lea rcx, [rsp + 0x4a0]
lea rdx, [rsp + 0x150]
call fcn.140003b00
movups xmm0, xmmword [rsp + 0x4a0]
movups xmmword [rsp + 0x1a4], xmm0
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x1b4], rax
mov rcx, qword [rsp + 0x48]
mov dword [rcx], 2
mov dword [rcx + 8], 2
movups xmm0, xmmword [rsp + 0x150]
movups xmm1, xmmword [rsp + 0x160]
movups xmm2, xmmword [rsp + 0x170]
movups xmm3, xmmword [rsp + 0x180]
movups xmmword [rcx + 0xc], xmm0
movups xmmword [rcx + 0x1c], xmm1
movups xmmword [rcx + 0x2c], xmm2
movups xmmword [rcx + 0x3c], xmm3
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rcx + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x1ac]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x1b4]
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x78], 0
mov byte [rcx + 0x88], 2
test rbx, rbx
je 0x1400d8210
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbp
jmp 0x1400d820b
mov rsi, rbx
cmp qword [rsp + 0x120], 0
je 0x1400d7a69
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, qword [rsp + 0x118]
call sub.KERNEL32.dll_HeapFree
movzx ebp, word [rsp + 0x50]
cmp bp, 2
jne 0x1400d7b41
test rsi, rsi
je 0x1400d8610
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d7aac
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d85ff
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0xd
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400d85ff
movabs rcx, 0x726f727265207463
mov qword [rax + 5], rcx
movabs rcx, 0x207463656e6e6f43
mov qword [rax], rcx
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], 0xd
mov qword [rsp + 0x1c0], 0xd
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 4
mov dword [rsp + 0x150], 2
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x48]
mov r8, rsi
call fcn.1400bd150
jmp 0x1400d8210
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x380], ax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x370], xmm0
mov qword [rsp + 0x58], r14
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0xcd]
mov dword [rsp + 0x150], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x150]
mov rcx, r14
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d7f78
mov r14, qword [rsp + 0x128]
mov edi, dword [r14 + 0x60]
cmp edi, 0x3b9aca00
jne 0x1400d7f8a
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x28]
mov rcx, qword [rsp + 0x58]
xor edx, edx
cmp r8d, 0x3b9aca00
je 0x1400d7c2c
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x20]
mov edx, 0x3e8
mul rdx
mov edx, 0xffffffff
jo 0x1400d7c2c
mov r9d, r8d
imul r9, r9, 0x431bde83
shr r9, 0x32
add rax, r9
jb 0x1400d7c2c
imul r9d, r9d, 0xf4240
xor r10d, r10d
sub r8d, r9d
setne r10b
add rax, r10
jb 0x1400d7c2c
mov edx, 0xffffffff
cmp rax, rdx
cmovb rdx, rax
test rdx, rdx
je 0x1400d830c
mov dword [rsp + 0x150], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x150]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d815a
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x30]
mov r8d, dword [rax + 0x38]
mov rcx, qword [rsp + 0x58]
call fcn.1400a74e0
test rax, rax
jne 0x1400d8112
cmp dword [rsp + 0x64], 0
jne 0x1400d8508
mov rcx, r14
call fcn.1400d9360
cmp rdx, 5
jne 0x1400d8508
mov ecx, 0x70747468
xor ecx, dword [rax]
movzx eax, byte [rax + 4]
xor eax, 0x73
or eax, ecx
jne 0x1400d8508
cmp byte [rsp + 0x114], 4
je 0x1400d8508
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
movzx eax, word [rsp + 0x930]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx + 0xa0]
mov rdx, qword [rdx + 0xb0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov word [rsp + 0x20], ax
lea rdx, [rsp + 0xc8]
lea rdi, [rsp + 0x4a0]
mov rcx, rdi
call fcn.1400d9420
mov qword [rsp + 0x390], rdi
lea rax, [0x1400051d0]
mov qword [rsp + 0x398], rax
lea rax, str.combase.dll
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x390]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 1
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x150]
call fcn.1400d8d50
test rax, rax
jne 0x1400d863b
cmp qword [rsp + 0x4a8], 0
je 0x1400d7da5
mov r8, qword [rsp + 0x4a0]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x150]
call fcn.1400a7c00
cmp qword [rsp + 0x150], 0
mov rdi, qword [rsp + 0x158]
je 0x1400d8318
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 8
mov dword [rsp + 0x150], 2
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x48]
mov r8, rdi
jmp 0x1400d81ad
mov ebp, dword [rsp + 0x4a4]
mov r14, qword [rsp + 0x4a8]
lea rdx, [rsp + 0x4c0]
mov r15, qword [rsp + 0x48]
lea rcx, [r15 + 0x20]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x4b0]
mov dword [r15], ebx
mov dword [r15 + 4], ebp
mov qword [r15 + 8], r14
movups xmmword [r15 + 0x10], xmm0
lock dec qword [rdi]
jne 0x1400d8210
mov rcx, rdi
mov rdx, rsi
call fcn.1400c05d0
jmp 0x1400d8210
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d7ea1
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d862a
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x1a
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400d862a
movups xmm0, xmmword [0x140180709]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x1401806ff]
movups xmmword [rax], xmm0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0x1a
mov qword [rsp + 0x160], 0x1a
lea rdx, [rsp + 0x150]
mov cl, 0x16
call case.0x1400cb80c.84
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 8
mov dword [rsp + 0x150], 2
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x48]
mov r8, rax
call fcn.1400bd150
cmp qword [rsp + 0x120], 0
je 0x1400d7f67
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, qword [rsp + 0x118]
call sub.KERNEL32.dll_HeapFree
mov rsi, rbx
test rsi, rsi
jne 0x1400d81c1
jmp 0x1400d8210
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
lea r8, [rax + 2]
jmp 0x1400d816a
mov rbx, qword [r14 + 0x58]
mov qword [rsp + 0x4a0], rbx
mov dword [rsp + 0x4a8], edi
call fcn.140081d90
mov r8d, edx
lea rcx, [rsp + 0x4a0]
mov rdx, rax
call fcn.140081f30
cmp edx, 0x3b9aca00
jne 0x1400d804b
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400d7fec
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d862a
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x1a
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400d862a
movups xmm0, xmmword [0x140180709]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x1401806ff]
movups xmmword [rax], xmm0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0x1a
mov qword [rsp + 0x160], 0x1a
lea rdx, [rsp + 0x150]
mov cl, 0x16
call case.0x1400cb80c.84
jmp 0x1400d8112
mov r8d, edx
mov rcx, qword [rsp + 0x58]
mov edx, 0x3e8
mul rdx
mov edx, 0xffffffff
jo 0x1400d80a0
mov r9d, r8d
imul r9, r9, 0x431bde83
shr r9, 0x32
add rax, r9
jb 0x1400d80a0
imul r9d, r9d, 0xf4240
xor r10d, r10d
sub r8d, r9d
setne r10b
add rax, r10
jb 0x1400d80a0
mov edx, 0xffffffff
cmp rax, rdx
cmovb rdx, rax
test rdx, rdx
je 0x1400d830c
mov dword [rsp + 0x150], edx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x150]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400d815a
lea rcx, [rsp + 0x150]
mov rdx, rbx
mov r8d, edi
call fcn.1400d9280
mov r8d, dword [rsp + 0x158]
mov rax, qword [rsp + 0x150]
cmp r8d, 0x3b9aca00
je 0x1400d8112
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call fcn.1400a74e0
test rax, rax
je 0x1400d7c7c
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 8
mov dword [rsp + 0x150], 2
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x48]
mov r8, rax
jmp 0x1400d81ad
call sub.ws2_32.dll_WSAGetLastError
mov r8d, eax
shl r8, 0x20
or r8, 2
mov dword [rsp + 0x158], 2
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c8], 0
mov byte [rsp + 0x1d8], 8
mov dword [rsp + 0x150], 2
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x48]
call fcn.1400bd150
mov rcx, qword [rsp + 0x58]
call fcn.14010ced4
test rsi, rsi
je 0x1400d8210
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x1400d8210
lea rdi, [rsi - 1]
mov rbx, qword [rsi - 1]
mov rsi, qword [rsi + 7]
mov rcx, rbx
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400d81ff
cmp qword [rsi + 0x10], 0x11
jb 0x1400d81ee
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xb8], 0
je 0x1400d8231
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp byte [rsp + 0x114], 4
je 0x1400d82a8
cmp qword [rsp + 0xd0], 0
je 0x1400d825c
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0xe0]
test r8, r8
je 0x1400d8282
cmp qword [rsp + 0xe8], 0
je 0x1400d8282
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0xf8]
test r8, r8
je 0x1400d82a8
cmp qword [rsp + 0x100], 0
je 0x1400d82a8
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
nop
add rsp, 0x8c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x4a8]
jmp 0x1400d82d0
mov r14, rsi
movzx r15d, word [rsp + 0x42]
movzx eax, word [rsp + 0x3a0]
mov word [rsp + 0x140], ax
movaps xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x130], xmm0
mov rsi, rbx
mov word [rsp + 0x50], di
cmp qword [rsp + 0x120], 0
jne 0x1400d7a53
jmp 0x1400d7a69
lea r8, str.cannot_set_a_0_duration_timeout
jmp 0x1400d816a
mov rcx, r14
call fcn.1400d9360
mov r8, rdx
mov r9, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
movzx edx, word [rsp + 0x930]
mov word [rsp + 0x28], dx
mov qword [rsp + 0x20], rcx
lea rbx, [rsp + 0x840]
mov rcx, rbx
mov rdx, rax
call fcn.1400d9840
lea rcx, [rsp + 0x150]
mov rdx, qword [rsp + 0x358]
mov r8, rbx
call fcn.1400d9980
mov word [rsp + 0x4a0], bp
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x4a2], xmm0
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x4b2], ax
mov dword [rsp + 0x4b4], r13d
mov dword [rsp + 0x4b8], r12d
mov word [rsp + 0x42], r15w
mov word [rsp + 0x4bc], r15w
movzx eax, word [rsp + 0x52]
mov word [rsp + 0x4be], ax
lea rbx, [rsp + 0x6a8]
lea r8, [rsp + 0x4a0]
mov rcx, rbx
mov rdx, rdi
lea r9, [rsp + 0x150]
call fcn.1400d86b0
lea rdi, [rsp + 0x790]
mov rcx, rdi
mov rdx, r14
call fcn.1400c8f10
lea rcx, [rsp + 0x150]
mov rdx, rbx
mov r8, rdi
call fcn.1400c9350
mov ebx, dword [rsp + 0x150]
cmp ebx, 3
jne 0x1400d84b3
lea rdx, [rsp + 0x158]
lea rdi, [rsp + 0x4a4]
mov r8d, 0x108
mov rcx, rdi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x390]
mov r8d, 0x108
mov rdx, rdi
call sub.msvcrt.dll_memcpy
movzx ecx, word [rsp + 0x490]
cmp ecx, 0xc8
je 0x1400d84f0
cmp ecx, 0x197
je 0x1400d8477
mov al, 0xa
cmp ecx, 0x191
jne 0x1400d8479
mov al, 0xb
mov rcx, qword [rsp + 0x48]
mov dword [rcx], 2
mov dword [rcx + 8], 2
mov qword [rcx + 0x60], 0
mov qword [rcx + 0x78], 0
mov byte [rcx + 0x88], al
lea rcx, [rsp + 0x390]
call fcn.1400b7320
jmp 0x1400d81b2
lea rdx, [rsp + 0x154]
lea rdi, [rsp + 0x4a0]
mov r8d, 0x10c
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov r14, qword [rsp + 0x48]
lea rcx, [r14 + 4]
mov r8d, 0x10c
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov dword [r14], ebx
jmp 0x1400d81b2
lea rcx, [rsp + 0x390]
call fcn.1400b7320
movzx r15d, word [rsp + 0x42]
movzx ebp, word [rsp + 0x50]
mov rax, qword [rsp + 0x58]
movzx ecx, word [rsp + 0x380]
mov rdx, qword [rsp + 0x48]
mov word [rdx + 0x22], cx
movaps xmm0, xmmword [rsp + 0x370]
movups xmmword [rdx + 0x12], xmm0
mov dword [rdx + 0x24], r13d
mov dword [rdx + 0x28], r12d
mov word [rdx + 0x2c], r15w
movzx ecx, word [rsp + 0x52]
mov word [rdx + 0x2e], cx
mov qword [rdx + 8], rax
mov word [rdx + 0x10], bp
mov dword [rdx], 3
mov rcx, rsi
call fcn.1400d93b0
cmp qword [rsp + 0xb8], 0
je 0x1400d8577
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rcx, [rsp + 0xc8]
call fcn.1400c06b0
jmp 0x1400d82a8
call fcn.140003490
ud2
lea rcx, [0x1401950a8]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ureq_2.9.6_src_stream.rsNo_ip_address_for
mov edx, 0x2b
call fcn.140006a00
ud2
lea rcx, [0x1401950a8]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ureq_2.9.6_src_stream.rsNo_ip_address_for
mov edx, 0x2b
call fcn.140006a00
ud2
mov ecx, 1
mov rdx, rdi
call fcn.1400034d0
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x88]
call fcn.1400034d0
ud2
mov ecx, 1
mov rdx, qword [rsp + 0x80]
call fcn.1400034d0
ud2
ud2
mov ecx, 1
mov edx, 0xd
call fcn.1400034d0
ud2
lea rcx, [0x140180a35]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ureq_2.9.6_src_stream.rsNo_ip_address_for
mov edx, 0x3c
call fcn.1400d4210
ud2
mov ecx, 1
mov edx, 0x1a
call fcn.1400034d0
ud2
mov qword [rsp + 0x150], rax
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ureq_2.9.6_src_stream.rsNo_ip_address_for
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14017e918]
lea r8, [rsp + 0x150]
mov edx, 0x2b
call fcn.140008040
ud2