Function at 0x1400ad930
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x968
movdqa xmmword [rsp + 0x950], xmm6
mov r14, rcx
mov r15d, dword [rdx + 0x44]
mov r12, qword [rdx + 0x20]
test r15, r15
je 0x1400ad9c9
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r13, qword [rdx + 0x28]
cmp r13, r15
jbe 0x1400ad97a
cmp byte [r12 + r15], 0xbf
jg 0x1400ad980
jmp 0x1400af41c
jne 0x1400af41c
cmp r15d, 4
jne 0x1400ad9a9
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400adaa8
lea rdx, str.testunknown_scheme
jmp 0x1400ad9b6
cmp r15d, 5
jne 0x1400ad9c9
lea rdx, [0x140209b7c]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400adaa8
mov qword [rsp + 0x6f8], r12
mov qword [rsp + 0x700], r15
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x240], rax
lea rax, [0x14008e240]
mov qword [rsp + 0x248], rax
lea rax, [0x1401f40a8]
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], 2
mov qword [rsp + 0x350], 0
lea rax, [rsp + 0x240]
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], 1
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x330]
call fcn.14000eef0
movabs rax, 0x8000000000000000
mov qword [r14], rax
movdqu xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [r14 + 8], xmm0
mov rcx, qword [rsp + 0xc0]
mov qword [r14 + 0x18], rcx
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x78], 0
mov byte [r14 + 0x88], 1
movaps xmm6, xmmword [rsp + 0x950]
add rsp, 0x968
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r13, r15
jbe 0x1400adab9
cmp byte [r12 + r15], 0xbf
jg 0x1400adabf
jmp 0x1400af41c
jne 0x1400af41c
cmp r15d, 5
jne 0x1400adadf
lea rdx, [0x140209b7c]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400adb6e
mov rax, qword [rdi + 0x98]
cmp byte [rax + 0xcc], 0
je 0x1400adb6e
movzx eax, byte [0x14024d119]
mov edx, 0x33
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
movups xmm0, xmmword [0x1401f3690]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1401f3680]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [str.cant_perform_non_https_request_with_https_only_set]
movdqu xmmword [rax], xmm0
mov dword [rax + 0x2f], 0x74657320
movabs rcx, 0x8000000000000000
mov qword [r14], rcx
mov qword [r14 + 8], 0x33
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], 0x33
mov qword [r14 + 0x20], rcx
mov qword [r14 + 0x78], 0
mov byte [r14 + 0x88], 3
jmp 0x1400ada8c
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], rsi
movabs r13, 0x8000000000000000
cmp byte [rsp + 0x9d0], 0
je 0x1400ae8fb
mov qword [rsp + 0x38], r14
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0xa0]
mov rbx, qword [rax + 0x98]
lea rdx, [rcx + 0x38]
mov qword [rsp + 0x78], rdx
movzx edx, word [rax + 0x40]
mov word [rsp + 0x4e], dx
movzx edx, word [rax + 0x42]
mov word [rsp + 0x4c], dx
movzx edx, byte [rax + 0x58]
mov byte [rsp + 0x36], dl
mov edx, dword [rax + 0x4c]
mov r8d, dword [rax + 0x50]
mov rax, qword [rsp + 0x40]
add rax, rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x1e8], r8
mov qword [rsp + 0x1f0], rdx
sub r8, rdx
mov qword [rsp + 0x1e0], r8
mov qword [rsp + 0xa0], rcx
lea rax, [rcx + 0x60]
mov qword [rsp + 0x208], rax
pcmpeqd xmm6, xmm6
mov qword [rsp + 0x1f8], rbx
mov qword [rsp + 0x200], r15
cmp qword [rbx + 0x28], r13
je 0x1400ade7e
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x1400adc70
js 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rsi
call fcn.140082900
test rax, rax
je 0x1400af41c
mov rbp, rsi
jmp 0x1400adc77
mov eax, 1
xor ebp, ebp
mov qword [rsp + 0x238], rax
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov eax, dword [rbx + 0x70]
mov dword [rsp + 0x9c], eax
mov rax, r13
mov qword [rsp + 0x90], r13
cmp qword [rbx + 0x40], r13
je 0x1400add18
mov rdi, qword [rbx + 0x48]
mov r8, qword [rbx + 0x50]
test r8, r8
je 0x1400adcee
js 0x1400af41c
mov r14, rsi
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r8
mov rsi, r8
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r8, rsi
mov rcx, rsi
mov qword [rsp + 0x90], r8
mov rsi, r14
jmp 0x1400adcfd
mov eax, 1
xor ecx, ecx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x220], rax
mov rcx, rax
mov rdx, rdi
mov qword [rsp + 0x228], r8
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xa8], rsi
mov rax, r13
mov qword [rsp + 0x88], r13
cmp qword [rbx + 0x58], r13
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
je 0x1400adda5
mov rdi, qword [rbx + 0x60]
mov r8, qword [rbx + 0x68]
test r8, r8
je 0x1400add7b
js 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r8
mov r12, r8
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r8, r12
mov rcx, r12
mov qword [rsp + 0x88], r8
jmp 0x1400add8a
mov eax, 1
xor ecx, ecx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x210], rax
mov rcx, rax
mov rdx, rdi
mov qword [rsp + 0x218], r8
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbx + 0x74]
mov byte [rsp + 0x37], al
mov bx, 1
cmp word [rsp + 0x4e], 0
jne 0x1400ade9b
cmp r14, r15
jbe 0x1400addce
cmp byte [rsi + r15], 0xbf
jg 0x1400addd4
jmp 0x1400af41c
jne 0x1400af41c
cmp r15d, 4
jne 0x1400addf2
mov rcx, rsi
lea rdx, str.httphttpswswssftpfile__file:__
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400ade6b
jmp 0x1400ade0e
cmp r15d, 2
jne 0x1400ade18
mov rcx, rsi
lea rdx, [0x140209b81]
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400ade6b
mov r12w, 0x50
jmp 0x1400adea1
cmp r15d, 5
jne 0x1400ade36
mov rcx, rsi
lea rdx, [0x140209b7c]
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400ade6b
jmp 0x1400ade77
cmp r15d, 3
jne 0x1400ade6b
mov rcx, rsi
lea rdx, [0x140209b83]
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400ade77
mov rcx, rsi
lea rdx, [0x140209b86]
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
jmp 0x1400ade6d
xor eax, eax
movzx ebx, al
mov r12w, 0x15
jmp 0x1400adea1
mov r12w, 0x1bb
jmp 0x1400adea1
mov rbp, r13
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov bx, 1
cmp word [rsp + 0x4e], 0
je 0x1400addbd
movzx r12d, word [rsp + 0x4c]
cmp r14, r15
mov word [rsp + 0x70], r12w
jbe 0x1400adecd
cmp byte [rsi + r15], 0xbf
jle 0x1400af41c
mov rdi, r15
test r15, r15
jne 0x1400aded6
mov r14d, 1
mov rdi, r15
xor r12d, r12d
jmp 0x1400adef6
mov rdi, r14
jne 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rdi
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r14, rax
mov r12, rdi
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov r13d, 1
cmp byte [rsp + 0x36], 0
je 0x1400adf4f
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1e8]
cmp eax, ecx
mov rsi, qword [rsp + 0xa8]
ja 0x1400af41c
test rax, rax
je 0x1400adf6b
cmp qword [rsp + 0x68], rax
jbe 0x1400adf65
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0xc0
jge 0x1400adf6b
jmp 0x1400af41c
mov r15, rbp
xor ebp, ebp
lea rdx, str.incomplete_frame
mov rsi, qword [rsp + 0xa8]
jmp 0x1400adfcc
jne 0x1400af41c
test rcx, rcx
je 0x1400adf8d
cmp qword [rsp + 0x68], rcx
jbe 0x1400adf87
mov rax, qword [rsp + 0x40]
cmp byte [rax + rcx], 0xbf
jg 0x1400adf8d
jmp 0x1400af41c
jne 0x1400af41c
mov r15, rbp
mov rbp, qword [rsp + 0x1e0]
test rbp, rbp
je 0x1400adfc2
js 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rbp
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r13, rax
jmp 0x1400adfc4
xor ebp, ebp
mov rdx, qword [rsp + 0x80]
mov rcx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x460], r12
mov qword [rsp + 0x468], r14
mov qword [rsp + 0x470], rdi
mov qword [rsp + 0x478], rbp
mov qword [rsp + 0x480], r13
mov qword [rsp + 0x488], rbp
mov word [rsp + 0x4e0], bx
movzx eax, word [rsp + 0x70]
mov word [rsp + 0x4e2], ax
mov qword [rsp + 0x490], r15
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x498], rax
mov qword [rsp + 0x4a0], rsi
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x4d0], rax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x4d8], eax
movzx eax, byte [rsp + 0x37]
mov byte [rsp + 0x4dc], al
xor eax, eax
mov rcx, qword [rsp + 0x78]
mov dl, 1
lock cmpxchg byte [rcx], dl
jne 0x1400ae259
lea r12, [rsp + 0xb0]
mov rcx, r12
lea rdx, [rsp + 0x460]
call fcn.1400d3980
lea rcx, [rsp + 0x330]
mov rdx, qword [rsp + 0x208]
mov r8, r12
call fcn.1400d2880
mov rsi, qword [rsp + 0x330]
mov r8d, 0x98
lea rdi, [rsp + 0x660]
mov rcx, rdi
lea rdx, [rsp + 0x338]
call sub.msvcrt.dll_memcpy
test rsi, rsi
movabs r13, 0x8000000000000000
mov r15, qword [rsp + 0x200]
je 0x1400ae14b
mov qword [rsp + 0x658], 1
lea rsi, [r13 + 1]
jmp 0x1400ae737
mov qword [rsp + 0x658], 0
mov r8d, 0x98
lea rcx, [rsp + 0x7d0]
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x858]
mov rsi, qword [rax - 8]
test rsi, rsi
je 0x1400af41c
dec rsi
mov qword [rax - 8], rsi
mov rcx, qword [rax - 0x10]
add rcx, rsi
mov rdx, qword [rax - 0x20]
mov rax, qword [rax - 0x18]
cmp rcx, rdx
mov r8d, 0
cmovae r8, rdx
sub rcx, r8
imul rcx, rcx, 0xe8
mov rdx, qword [rax + rcx]
mov qword [rsp + 0x230], rdx
mov rbp, qword [rax + rcx + 8]
lea rdx, [rax + rcx]
add rdx, 0x10
mov r8d, 0xd8
mov rcx, r12
call sub.msvcrt.dll_memcpy
lea rax, [r13 + 1]
cmp rbp, rax
je 0x1400af41c
mov r8d, 0xd8
lea rcx, [rsp + 0x330]
mov rdx, r12
call sub.msvcrt.dll_memcpy
test rsi, rsi
jne 0x1400ae375
mov rdx, qword [rsp + 0x6e8]
mov rax, qword [rsp + 0x6f0]
mov rcx, qword [rax]
mov r8, rcx
sub r8, rdx
sar r8, 3
movabs r9, 0xcf3cf3cf3cf3cf3d
imul r8, r9
lea r9, [r8 - 0x10]
and r9, qword [rax + 8]
movdqu xmm0, xmmword [rcx + r9]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb r10d, xmm0
test r10d, r10d
je 0x1400ae268
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400ae26d
mov rcx, qword [rsp + 0x78]
call fcn.1400905e0
jmp 0x1400ae0c9
mov r10w, 0x10
mov r12, rsi
movdqu xmm0, xmmword [rcx + r8]
pcmpeqb xmm0, xmm6
pmovmskb r11d, xmm0
or r11d, 0x10000
tzcnt r11d, r11d
add r10d, r11d
mov r11b, pe_nt_image_headers64
cmp r10w, 0xf
ja 0x1400ae29f
inc qword [rax + 0x10]
mov r11b, 0xff
mov rsi, qword [rsp + 0x660]
mov byte [rcx + r8], r11b
mov byte [rcx + r9 + 0x10], r11b
dec qword [rax + 0x18]
add rdx, 0xffffffffffffff58
mov r8d, 0xa8
lea rcx, [rsp + 0x240]
call sub.msvcrt.dll_memcpy
cmp rsi, r13
je 0x1400ae2db
mov rcx, rdi
call fcn.1400b8060
mov rsi, qword [rsp + 0x2c8]
mov rdi, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x2d8]
mov r14, qword [rsp + 0x2e0]
lea rcx, [rsp + 0x240]
call fcn.1400b8060
test r14, r14
je 0x1400ae32f
cmp rbx, rsi
mov eax, 0
cmovae rax, rsi
sub rbx, rax
mov rax, rsi
sub rax, rbx
mov r13, r14
sub r13, rax
jbe 0x1400ae336
mov r14, rsi
jmp 0x1400ae33c
xor ebx, ebx
xor r14d, r14d
jmp 0x1400ae339
add r14, rbx
xor r13d, r13d
imul rcx, rbx, 0xe8
add rcx, rdi
sub r14, rbx
mov rdx, r14
call fcn.1400b8120
mov rcx, rdi
mov rdx, r13
call fcn.1400b8120
test rsi, rsi
mov rsi, r12
je 0x1400ae375
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov qword [rsp + 0x1d0], rbp
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rdx + 0x40]
mov r8, qword [rdx + 0x58]
test r8, r8
mov qword [rsp + 0x1c8], rsi
je 0x1400ae3c0
mov rbp, qword [rdx + 0x50]
cmp rbp, r9
mov eax, 0
cmovae rax, r9
sub rbp, rax
mov rax, r9
sub rax, rbp
mov rcx, r8
sub rcx, rax
jbe 0x1400ae3c7
mov r10, r9
jmp 0x1400ae3cd
xor ebp, ebp
xor r10d, r10d
jmp 0x1400ae3cb
lea r10, [r8 + rbp]
xor ecx, ecx
mov qword [rsp + 0x1d8], r9
mov qword [rsp + 0x70], r8
mov r14, qword [rdx + 0x48]
mov rax, rbp
shl rax, 7
lea rsi, [rax + rbp*8]
lea rdx, [r14 + rsi]
mov rax, r10
shl rax, 7
mov qword [rsp + 0x1c0], r10
lea rbx, [rax + r10*8]
lea rax, [r14 + rbx]
sub rax, rdx
movabs rdx, 0xf0f0f0f0f0f0f0f1
mul rdx
mov rdi, rdx
shr rdi, 7
add rdi, rcx
test rcx, rcx
je 0x1400ae461
mov rax, rcx
shl rax, 7
lea r12, [rax + rcx*8]
lea r13, [r14 - 0x88]
nop word cs:[rax + rax]
lea rcx, [r12 + r13]
lea rdx, [rsp + 0x460]
call fcn.1400be570
dec rdi
test al, al
jne 0x1400ae4bc
add r12, 0xffffffffffffff78
jne 0x1400ae440
cmp rbp, qword [rsp + 0x1c0]
movabs r13, 0x8000000000000000
mov r12, qword [rsp + 0x70]
je 0x1400af41c
dec rdi
sub rsi, rbx
lea rbp, [r14 + rbx]
add rbp, 0xffffffffffffff78
nop
mov rcx, rbp
lea rdx, [rsp + 0x460]
call fcn.1400be570
test al, al
jne 0x1400ae4cb
dec rdi
add rbp, 0xffffffffffffff78
add rsi, 0x88
jne 0x1400ae490
jmp 0x1400af41c
movabs r13, 0x8000000000000000
mov r12, qword [rsp + 0x70]
cmp r12, rdi
jbe 0x1400af41c
mov rbx, qword [rsp + 0xa0]
mov r8, qword [rbx + 0x50]
lea r9, [r8 + rdi]
mov rcx, qword [rsp + 0x1d8]
cmp r9, rcx
mov eax, 0
cmovae rax, rcx
sub r9, rax
mov rax, r9
shl rax, 7
lea rax, [rax + r9*8]
mov rsi, qword [r14 + rax]
movups xmm0, xmmword [r14 + rax + 0x78]
movaps xmmword [rsp + 0x640], xmm0
movups xmm0, xmmword [r14 + rax + 0x68]
movaps xmmword [rsp + 0x630], xmm0
movups xmm0, xmmword [r14 + rax + 0x58]
movaps xmmword [rsp + 0x620], xmm0
movups xmm0, xmmword [r14 + rax + 0x48]
movaps xmmword [rsp + 0x610], xmm0
movups xmm0, xmmword [r14 + rax + 0x38]
movaps xmmword [rsp + 0x600], xmm0
movups xmm0, xmmword [r14 + rax + 0x28]
movaps xmmword [rsp + 0x5f0], xmm0
movups xmm0, xmmword [r14 + rax + 0x18]
movaps xmmword [rsp + 0x5e0], xmm0
movups xmm0, xmmword [r14 + rax + 8]
movaps xmmword [rsp + 0x5d0], xmm0
mov rax, rdi
not rax
add rax, r12
cmp rax, rdi
jae 0x1400ae5a9
lea rdx, [r9 + 1]
cmp rdx, rcx
mov edx, 0
cmovae rdx, rcx
neg rdx
lea r8, [r9 + rdx]
inc r8
mov qword [rsp + 0x20], rax
jmp 0x1400ae5cc
lea rax, [r8 + 1]
cmp rax, rcx
mov eax, 0
cmovae rax, rcx
neg rax
lea r9, [r8 + rax]
inc r9
mov qword [rbx + 0x50], r9
mov qword [rsp + 0x20], rdi
mov rdx, r14
call fcn.1400b7c40
dec r12
mov qword [rbx + 0x58], r12
movaps xmm0, xmmword [rsp + 0x640]
movaps xmmword [rsp + 0x5c0], xmm0
movaps xmm0, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x5b0], xmm0
movaps xmm0, xmmword [rsp + 0x620]
movaps xmmword [rsp + 0x5a0], xmm0
movaps xmm0, xmmword [rsp + 0x610]
movaps xmmword [rsp + 0x590], xmm0
movaps xmm0, xmmword [rsp + 0x5d0]
movaps xmm1, xmmword [rsp + 0x5e0]
movaps xmm2, xmmword [rsp + 0x5f0]
movaps xmm3, xmmword [rsp + 0x600]
movaps xmmword [rsp + 0x580], xmm3
movaps xmmword [rsp + 0x570], xmm2
movaps xmmword [rsp + 0x560], xmm1
movaps xmmword [rsp + 0x550], xmm0
cmp rsi, r13
je 0x1400af41c
mov qword [rsp + 0x240], rsi
movaps xmm0, xmmword [rsp + 0x5c0]
lea rax, [rsp + 0x248]
movups xmmword [rax + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x5b0]
movups xmmword [rax + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x5a0]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x590]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x550]
movaps xmm1, xmmword [rsp + 0x560]
movaps xmm2, xmmword [rsp + 0x570]
movaps xmm3, xmmword [rsp + 0x580]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x240]
call fcn.1400b8060
mov r8d, 0xd8
lea rcx, [rsp + 0x6f8]
lea rdx, [rsp + 0x330]
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x1c8], 0
je 0x1400ae71f
cmp qword [rsp + 0x7d0], r13
je 0x1400ae71f
lea rcx, [rsp + 0x7d0]
call fcn.1400b8060
lea rdi, [rsp + 0x660]
lea r12, [rsp + 0xb0]
mov rsi, qword [rsp + 0x1d0]
xor eax, eax
mov rcx, qword [rsp + 0x78]
xchg byte [rcx], al
cmp al, 2
jne 0x1400ae74e
mov rcx, qword [rsp + 0x78]
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
cmp qword [rsp + 0x658], 0
je 0x1400ae761
mov rcx, rdi
call fcn.1400b8060
lea rcx, [rsp + 0x460]
call fcn.1400b8060
lea rbx, [r13 + 1]
cmp rsi, rbx
je 0x1400ae8f6
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], rsi
mov r8d, 0xd8
lea rcx, [rsp + 0x250]
lea rdx, [rsp + 0x6f8]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x318]
mov rax, qword [rsp + 0x320]
call qword [rax + 0xb8]
test rax, rax
je 0x1400ae8cb
mov r14, rax
mov byte [rsp + 0xb0], 0
mov dword [rsp + 0x330], 1
mov rcx, qword [rax]
mov edx, 0x8004667e
lea r8, [rsp + 0x330]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400aeadf
mov rcx, qword [r14]
mov rdx, r12
mov r8d, 1
mov r9d, 2
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400ae82b
movsxd rdi, eax
mov sil, 1
xor r12d, r12d
mov bpl, 1
jmp 0x1400ae870
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x1400ae844
mov sil, 1
xor edi, edi
mov bpl, 1
xor r12d, r12d
jmp 0x1400ae870
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rdi
call fcn.14008ceb0
cmp al, 0xd
jne 0x1400ae864
mov bpl, 1
xor esi, esi
xor r12d, r12d
jmp 0x1400ae870
mov r12b, 1
xor ebp, ebp
nop dword [rax]
mov dword [rsp + 0x330], 0
mov rcx, qword [r14]
mov edx, 0x8004667e
lea r8, [rsp + 0x330]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400aeae8
test r12b, r12b
jne 0x1400aeb58
test sil, sil
je 0x1400ae8cb
lea rcx, [rsp + 0x240]
call fcn.1400b0910
mov rbx, qword [rsp + 0x1f8]
cmp qword [rbx + 0x28], r13
jne 0x1400adc3e
jmp 0x1400ade7e
mov rsi, qword [rsp + 0x38]
lea rcx, [rsi + 8]
lea rdx, [rsp + 0x240]
mov r8d, 0xe8
call sub.msvcrt.dll_memcpy
mov byte [rsi + 0xf0], 1
mov qword [rsi], rbx
jmp 0x1400ada8c
mov r14, qword [rsp + 0x38]
cmp qword [rsp + 0x68], r15
jbe 0x1400ae913
mov rax, qword [rsp + 0x40]
cmp byte [rax + r15], 0xbf
jg 0x1400ae919
jmp 0x1400af41c
jne 0x1400af41c
cmp r15d, 4
jne 0x1400ae982
lea rdx, str.httphttpswswssftpfile__file:__
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400aea63
lea rdx, str.testunknown_scheme
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400ae9a7
mov rdx, qword [rsp + 0x60]
mov eax, dword [rdx + 0x44]
mov rcx, qword [rdx + 0x20]
test rax, rax
je 0x1400af113
cmp qword [rdx + 0x28], rax
jbe 0x1400af10d
cmp byte [rcx + rax], 0xbf
jg 0x1400af113
jmp 0x1400af41c
cmp r15d, 5
mov rsi, qword [rsp + 0x40]
jne 0x1400ae9a7
lea rdx, [0x140209b7c]
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400aebc4
mov qword [rsp + 0x6f8], rsi
mov qword [rsp + 0x700], r15
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x240], rax
lea rax, [0x14008e240]
mov qword [rsp + 0x248], rax
lea rax, [0x1401f3660]
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], 1
mov qword [rsp + 0x350], 0
lea rax, [rsp + 0x240]
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], 1
lea rdi, [rsp + 0xb8]
lea rdx, [rsp + 0x330]
mov rcx, rdi
call fcn.14000eef0
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x128], 0
mov byte [rsp + 0x138], 1
lea rcx, [rsp + 0x330]
mov r8d, 0xe8
mov rdx, rdi
jmp 0x1400af1ee
mov rbx, qword [rsp + 0x60]
cmp word [rbx + 0x40], 0
mov bp, 0x50
je 0x1400aea77
movzx ebp, word [rbx + 0x42]
movzx eax, byte [0x14024d119]
mov edx, 4
xor ecx, ecx
call fcn.140082900
test rax, rax
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
je 0x1400af41c
mov rdi, rax
mov qword [rsp + 0x38], r14
mov dword [rax], 0x70747468
test rsi, rsi
je 0x1400aed31
js 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rsi
call fcn.140082900
mov r14, rax
mov r12, rsi
test rax, rax
jne 0x1400aed3a
jmp 0x1400af41c
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
jmp 0x1400aeb4d
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
test bpl, bpl
jne 0x1400aeb4d
mov eax, edi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400aeb4d
test rax, rax
je 0x1400aeb4d
lea r14, [rdi - 1]
mov r15, qword [rdi - 1]
mov rsi, qword [rdi + 7]
mov rcx, r15
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400aeb3c
cmp qword [rsi + 0x10], 0x11
jb 0x1400aeb2b
mov r15, qword [r15 - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
shl rbx, 0x20
or rbx, 2
mov rdi, rbx
mov qword [rsp + 0x338], r13
mov qword [rsp + 0x350], r13
mov qword [rsp + 0x3a8], 0
mov byte [rsp + 0x3b8], 8
mov qword [rsp + 0x330], r13
lea rbx, [rsp + 0xb0]
lea rdx, [rsp + 0x330]
mov rcx, rbx
mov r8, rdi
call fcn.1400c3c10
mov r8d, 0x110
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x240]
call fcn.1400b0910
jmp 0x1400ada8c
mov r12, qword [rsp + 0x60]
cmp word [r12 + 0x40], 0
mov bp, 0x1bb
je 0x1400aebdc
movzx ebp, word [r12 + 0x42]
mov word [rsp + 0x20], bp
lea rcx, [rsp + 0x330]
mov rdx, r12
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
call fcn.1400b5c10
mov rbx, qword [rsp + 0x330]
mov rdi, qword [rsp + 0x338]
lea rsi, [r13 + 1]
movups xmm0, xmmword [rsp + 0x340]
movaps xmmword [rsp + 0x440], xmm0
movdqu xmm0, xmmword [rsp + 0x350]
movdqa xmmword [rsp + 0x450], xmm0
cmp rbx, rsi
jne 0x1400af0c0
mov qword [rsp + 0x38], r14
mov rax, qword [r12 + 0x98]
mov r14, qword [rax + 0xb8]
mov rbx, qword [rax + 0xc0]
mov r15, qword [rbx + 0x10]
movzx eax, byte [0x14024d119]
mov edx, 8
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r13, r12
dec r15
and r15, 0xfffffffffffffff0
lea rdx, [r14 + r15]
add rdx, 0x10
mov qword [rax], rdi
lea rcx, [0x1401f3f58]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x330]
mov r8, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov r9, r15
call qword [rbx + 0x18]
mov rdi, qword [rsp + 0x330]
mov rbx, qword [rsp + 0x338]
mov r12, qword [rsp + 0x340]
cmp rdi, rsi
jne 0x1400af290
movzx eax, byte [0x14024d119]
mov edx, 5
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
mov rdi, rax
mov byte [rax + 4], 0x73
mov dword [rax], 0x70747468
test r15, r15
je 0x1400af2c8
js 0x1400af41c
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r15
call fcn.140082900
mov r14, rax
mov rsi, r15
test rax, rax
jne 0x1400af2d0
jmp 0x1400af41c
mov r14d, 1
xor r12d, r12d
mov rcx, r14
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov r13, qword [rbx + 0xa0]
jmp 0x1400aed53
pause
mov rax, qword [r13 + 8]
nop word [rax + rax]
cmp rax, 0xffffffffffffffff
je 0x1400aed51
test rax, rax
js 0x1400af41c
lea rcx, [rax + 1]
lock cmpxchg qword [r13 + 8], rcx
jne 0x1400aed60
mov word [rsp + 0x20], bp
lea rcx, [rsp + 0x330]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r9, rsi
call fcn.1400b5c10
mov qword [rsp + 0x240], r13
mov qword [rsp + 0x248], 4
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x258], 4
mov qword [rsp + 0x260], r12
mov qword [rsp + 0x268], r14
mov qword [rsp + 0x270], rsi
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x278], rcx
movups xmm0, xmmword [rsp + 0x4e8]
movups xmm1, xmmword [rsp + 0x4f8]
movups xmm2, xmmword [rsp + 0x508]
movups xmm3, xmmword [rsp + 0x518]
movups xmmword [rsp + 0x280], xmm0
movups xmmword [rsp + 0x290], xmm1
movups xmmword [rsp + 0x2a0], xmm2
movups xmmword [rsp + 0x2b0], xmm3
mov rax, qword [rsp + 0x528]
mov qword [rsp + 0x2c0], rax
mov word [rsp + 0x2c8], 1
mov word [rsp + 0x2ca], bp
lea r15, [rcx + 1]
cmp qword [rsp + 0x330], r15
jne 0x1400af013
mov rsi, qword [rsp + 0x338]
movzx eax, byte [0x14024d119]
mov edx, 8
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r15, rax
mov qword [rax], rsi
movzx eax, byte [0x14024d119]
mov edx, 0x2000
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
lea rcx, [rsp + 0x340]
lea rbx, [rsp + 0xb8]
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xc0], 4
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], 4
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xe0], r14
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rdx
movabs rdi, 0x8000000000000000
mov qword [rsp + 0xf0], rdi
movups xmm0, xmmword [rsp + 0x4e8]
movups xmm1, xmmword [rsp + 0x4f8]
movups xmm2, xmmword [rsp + 0x508]
movups xmm3, xmmword [rsp + 0x518]
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm1
movups xmmword [rsp + 0x118], xmm2
movups xmmword [rsp + 0x128], xmm3
mov rdx, qword [rsp + 0x528]
mov qword [rsp + 0x138], rdx
mov word [rsp + 0x140], 1
mov word [rsp + 0x142], bp
movdqu xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movdqu xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x158], xmm1
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 0x2000
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], r15
lea rax, [0x1401f3f58]
mov qword [rsp + 0x198], rax
lea rcx, [rsp + 0x330]
mov r8d, 0xe8
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
mov r14, qword [rsp + 0x38]
jmp 0x1400af09b
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x330]
mov r8d, 0x110
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x240]
call fcn.1400b4870
mov rsi, qword [rsp + 0xb0]
lea rbx, [rsp + 0xb8]
lea rcx, [rsp + 0x330]
mov r8d, 0xe8
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
cmp rsi, r15
mov r14, qword [rsp + 0x38]
movabs rdi, 0x8000000000000000
jne 0x1400af218
lea rcx, [r14 + 8]
mov r8d, 0xe8
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov byte [r14 + 0xf0], 0
inc rdi
mov qword [r14], rdi
jmp 0x1400ada8c
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0xe0]
mov r8d, 0xe0
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xb8], rdi
movdqa xmm0, xmmword [rsp + 0x440]
movaps xmm1, xmmword [rsp + 0x450]
movdqu xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm1
mov r13, rbx
jmp 0x1400af1d8
jne 0x1400af41c
mov qword [rsp + 0x6f8], rcx
mov qword [rsp + 0x700], rax
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x658], rax
lea rax, [0x14008e240]
mov qword [rsp + 0x660], rax
lea rax, [0x1401f40a8]
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], 2
mov qword [rsp + 0x350], 0
lea rax, [rsp + 0x658]
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], 1
lea rcx, [rsp + 0x240]
lea rdx, [rsp + 0x330]
call fcn.14000eef0
movdqu xmm0, xmmword [rsp + 0x240]
movdqu xmmword [rsp + 0xb8], xmm0
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x128], 0
mov byte [rsp + 0x138], 1
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x330]
mov r8d, 0xe8
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
mov rsi, r13
lea rdi, [rsp + 0x868]
lea rdx, [rsp + 0x330]
mov r8d, 0xe8
mov rcx, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x530], xmm0
movaps xmmword [rsp + 0x540], xmm1
mov qword [r14], rsi
lea rcx, [r14 + 8]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x530]
movaps xmm1, xmmword [rsp + 0x540]
movups xmmword [r14 + 0xf0], xmm0
movups xmmword [r14 + 0x100], xmm1
jmp 0x1400ada8c
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0xc8]
mov r8d, 0xf8
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], r12
mov r13, rdi
mov r14, qword [rsp + 0x38]
jmp 0x1400af1d8
mov r14d, 1
xor esi, esi
mov rcx, r14
mov rdx, qword [rsp + 0x58]
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r13, qword [r13 + 0xa0]
jmp 0x1400af2eb
pause
mov rax, qword [r13 + 8]
cmp rax, 0xffffffffffffffff
je 0x1400af2e9
test rax, rax
js 0x1400af41c
lea rcx, [rax + 1]
lock cmpxchg qword [r13 + 8], rcx
jne 0x1400af2ef
movzx eax, byte [0x14024d119]
mov edx, 0x10
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
mov r15, rax
mov qword [rax], rbx
mov qword [rax + 8], r12
movzx eax, byte [0x14024d119]
mov edx, 0x2000
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400af41c
lea rbx, [rsp + 0xb8]
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xc0], 5
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], 5
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], r14
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rcx
movabs rdi, 0x8000000000000000
mov qword [rsp + 0xf0], rdi
mov word [rsp + 0x140], 1
mov word [rsp + 0x142], bp
movaps xmm0, xmmword [rsp + 0x440]
movaps xmm1, xmmword [rsp + 0x450]
movups xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x158], xmm1
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 0x2000
xorps xmm0, xmm0
movups xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], r15
lea rax, [0x1401f3e10]
jmp 0x1400aefc9
ud2