Function at 0x1400a57b0
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, 0x828
movdqa xmmword [rsp + 0x810], xmm8
movdqa xmmword [rsp + 0x800], xmm7
movdqa xmmword [rsp + 0x7f0], xmm6
mov r13, rcx
mov r14d, dword [rdx + 0x44]
mov rdi, qword [rdx + 0x20]
test r14, r14
je 0x1400a585c
mov rbx, r9
mov r12, r8
mov r15, rdx
mov rsi, qword [rdx + 0x28]
cmp rsi, r14
jbe 0x1400a580d
cmp byte [rdi + r14], 0xbf
jg 0x1400a5813
jmp 0x1400a75d0
jne 0x1400a75d0
cmp r14d, 4
jne 0x1400a583c
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a592e
lea rdx, str.testunknown_scheme
jmp 0x1400a5849
cmp r14d, 5
jne 0x1400a585c
lea rdx, [0x140206e14]
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a592e
mov qword [rsp + 0x4d8], rdi
mov qword [rsp + 0x4e0], r14
lea rax, [rsp + 0x4d8]
mov qword [rsp + 0x128], rax
lea rax, [0x140082540]
mov qword [rsp + 0x130], rax
lea rax, [0x1401f1270]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], 2
mov qword [rsp + 0x258], 0
lea rax, [rsp + 0x128]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], 1
lea rcx, [r13 + 8]
lea rdx, [rsp + 0x238]
call fcn.1400039a0
movabs rax, 0x8000000000000000
mov qword [r13], rax
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x78], 0
mov byte [r13 + 0x88], 1
movaps xmm6, xmmword [rsp + 0x7f0]
movaps xmm7, xmmword [rsp + 0x800]
movaps xmm8, xmmword [rsp + 0x810]
add rsp, 0x828
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rsi, r14
jbe 0x1400a593f
cmp byte [rdi + r14], 0xbf
jg 0x1400a5945
jmp 0x1400a75d0
jne 0x1400a75d0
cmp r14d, 5
jne 0x1400a5965
lea rdx, [0x140206e14]
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a59f9
mov rax, qword [r15 + 0x98]
cmp byte [rax + 0xcc], 0
je 0x1400a59f9
movzx eax, byte [0x14024a149]
mov edx, 0x33
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
movups xmm0, xmmword [0x1401f0850]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1401f0840]
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 [r13], rcx
mov qword [r13 + 8], 0x33
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], 0x33
mov qword [r13 + 0x20], rcx
mov qword [r13 + 0x78], 0
mov byte [r13 + 0x88], 3
jmp 0x1400a5901
movabs rbp, 0x8000000000000000
cmp byte [rsp + 0x890], 0
je 0x1400a6b66
mov rcx, qword [r15 + 0xa0]
mov rdx, qword [r15 + 0x98]
lea rax, [rcx + 0x38]
mov qword [rsp + 0xb0], rax
movzx eax, word [r15 + 0x40]
mov word [rsp + 0x4c], ax
movzx eax, word [r15 + 0x42]
mov word [rsp + 0x4a], ax
movzx eax, byte [r15 + 0x58]
mov byte [rsp + 0x3f], al
mov eax, dword [r15 + 0x4c]
mov r8d, dword [r15 + 0x50]
lea r9, [rdi + rax]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x370], r8
mov qword [rsp + 0x378], rax
sub r8, rax
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x78], rcx
lea rax, [rcx + 0x68]
mov qword [rsp + 0xa0], rax
pcmpeqd xmm6, xmm6
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov rsi, rdx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x388], r12
mov qword [rsp + 0x100], r14
mov qword [rsp + 0x350], rdx
cmp qword [rsi + 0x28], rbp
je 0x1400a5c3e
mov rdx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400a5b13
mov rbp, qword [rsp + 0xa8]
js 0x1400a75d0
mov r12, rdx
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
call fcn.140080d30
test rax, rax
mov rdx, r12
jne 0x1400a5b25
jmp 0x1400a75d0
mov eax, 1
mov rbp, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x380], rax
mov rcx, rax
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x70]
mov dword [rsp + 0xc0], eax
movabs rax, 0x8000000000000000
mov qword [rsp + 0xf8], rax
cmp qword [rsi + 0x40], rax
je 0x1400a5bc5
mov rdi, qword [rsi + 0x48]
mov r8, qword [rsi + 0x50]
test r8, r8
mov qword [rsp + 0xe0], r8
je 0x1400a5b98
js 0x1400a75d0
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, r8
call fcn.140080d30
mov r8, qword [rsp + 0xe0]
test rax, rax
jne 0x1400a5b9d
jmp 0x1400a75d0
mov eax, 1
mov qword [rsp + 0x368], rax
mov rcx, rax
mov rdx, rdi
mov rdi, r8
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xf8], rdi
movabs rax, 0x8000000000000000
mov qword [rsp + 0xf0], rax
cmp qword [rsi + 0x58], rax
je 0x1400a5c24
mov rdi, qword [rsi + 0x60]
mov rbp, qword [rsi + 0x68]
test rbp, rbp
je 0x1400a5c01
js 0x1400a75d0
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rbp
call fcn.140080d30
test rax, rax
jne 0x1400a5c06
jmp 0x1400a75d0
mov eax, 1
mov qword [rsp + 0x360], rax
mov rcx, rax
mov rdx, rdi
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xa8], rbp
movzx eax, byte [rsi + 0x74]
mov byte [rsp + 0x3e], al
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
mov si, 1
cmp word [rsp + 0x4c], 0
je 0x1400a5c62
movzx ebx, word [rsp + 0x4a]
mov rax, qword [rsp + 0x58]
cmp rax, r14
jbe 0x1400a5d50
jmp 0x1400a5d33
cmp qword [rsp + 0x58], r14
jbe 0x1400a5c75
cmp byte [rdi + r14], 0xbf
jg 0x1400a5c7b
jmp 0x1400a75d0
jne 0x1400a75d0
cmp r14d, 4
jne 0x1400a5c9d
mov rcx, rdi
lea rdx, str.httphttpswswssftpfile__file:__
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a5d20
jmp 0x1400a5cb9
cmp r14d, 2
jne 0x1400a5ccd
mov rcx, rdi
lea rdx, [0x140206e19]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a5d20
mov bx, 0x50
mov rax, qword [rsp + 0x58]
cmp rax, r14
jbe 0x1400a5d50
jmp 0x1400a5d33
cmp r14d, 5
jne 0x1400a5ceb
mov rcx, rdi
lea rdx, [0x140206e14]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a5d20
jmp 0x1400a5d42
cmp r14d, 3
jne 0x1400a5d20
mov rcx, rdi
lea rdx, [0x140206e1b]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a5d42
mov rcx, rdi
lea rdx, [0x140206e1e]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
jmp 0x1400a5d22
xor eax, eax
movzx esi, al
mov bx, 0x15
mov rax, qword [rsp + 0x58]
cmp rax, r14
jbe 0x1400a5d50
cmp byte [rdi + r14], 0xbf
mov rdi, r14
jg 0x1400a5d59
jmp 0x1400a75d0
mov bx, 0x1bb
mov rax, qword [rsp + 0x58]
cmp rax, r14
ja 0x1400a5d33
mov rdi, rax
jne 0x1400a75d0
mov r14d, 1
mov r12d, 1
test rdi, rdi
je 0x1400a5d87
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rdi
call fcn.140080d30
mov r12, rax
test rax, rax
je 0x1400a75d0
mov rcx, r12
mov rdx, qword [rsp + 0x50]
mov r8, rdi
call sub.msvcrt.dll_memcpy
cmp byte [rsp + 0x3f], 0
je 0x1400a5dd4
mov rax, qword [rsp + 0x378]
mov rcx, qword [rsp + 0x370]
cmp eax, ecx
ja 0x1400a75d0
test rax, rax
je 0x1400a5de3
cmp qword [rsp + 0x58], rax
jbe 0x1400a5ddd
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0xc0
jge 0x1400a5de3
jmp 0x1400a75d0
lea rdx, str.incomplete_frameInvalid_checksumfailed_to_fill_whole_buffer
jmp 0x1400a5e4c
jne 0x1400a75d0
test rcx, rcx
je 0x1400a5e05
cmp qword [rsp + 0x58], rcx
jbe 0x1400a5dff
mov rax, qword [rsp + 0x50]
cmp byte [rax + rcx], 0xbf
jg 0x1400a5e05
jmp 0x1400a75d0
jne 0x1400a75d0
cmp qword [rsp + 0x108], 0
je 0x1400a5e44
js 0x1400a75d0
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov r13, qword [rsp + 0x108]
mov rdx, r13
call fcn.140080d30
mov r14, rax
mov rdx, qword [rsp + 0x90]
test rax, rax
jne 0x1400a5e4f
jmp 0x1400a75d0
mov rdx, qword [rsp + 0x90]
xor r13d, r13d
mov rcx, r14
mov r8, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x450], rdi
mov qword [rsp + 0x458], r12
mov qword [rsp + 0x460], rdi
mov qword [rsp + 0x468], r13
mov qword [rsp + 0x470], r14
mov qword [rsp + 0x478], r13
mov word [rsp + 0x4d0], si
mov word [rsp + 0x4d2], bx
mov qword [rsp + 0x480], rbp
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x368]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x360]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x4c0], rax
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x4c8], eax
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x4cc], al
mov rcx, qword [rsp + 0xb0]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rsi, qword [rsp + 0x78]
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x1400a75d0
lea rdi, [rsp + 0x238]
mov rcx, rdi
lea rdx, [rsp + 0x450]
call fcn.1400c0540
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov r8, rdi
call fcn.1400b5370
mov r15, rax
mov rcx, qword [rsi + 0x68]
mov r12, qword [rsi + 0x70]
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
mov qword [rsp + 0x120], rcx
lea rsi, [rcx - 0xa8]
mov rbp, qword [rsp + 0x240]
mov r14, qword [rsp + 0x248]
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0xb8], rax
movzx eax, word [rsp + 0x2b8]
mov word [rsp + 0x80], ax
movzx eax, word [rsp + 0x2ba]
mov word [rsp + 0x4e], ax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x398], rax
mov eax, dword [rsp + 0x2b0]
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0xe8], rax
movzx eax, byte [rsp + 0x2b4]
mov byte [rsp + 0x3d], al
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x348], rax
xor eax, eax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x390], r15
nop dword [rax + rax]
and r15, r12
mov rax, qword [rsp + 0x120]
movdqu xmm8, xmmword [rax + r15]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm7
pmovmskb r13d, xmm0
nop
test r13w, r13w
je 0x1400a6300
tzcnt eax, r13d
lea ecx, [r13 - 1]
and ecx, r13d
mov r13d, ecx
add rax, r15
and rax, r12
neg rax
imul rbx, rax, 0xa8
cmp qword [rsi + rbx + 0x10], r14
jne 0x1400a60e0
lea rdi, [rsi + rbx]
mov rcx, qword [rdi + 8]
mov rdx, rbp
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a60e0
mov rax, qword [rsp + 0x40]
cmp qword [rdi + 0x28], rax
jne 0x1400a60e0
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x40]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a60e0
cmp word [rdi + 0x80], 0
je 0x1400a6179
cmp word [rsp + 0x80], 0
je 0x1400a60e0
movzx eax, word [rsp + 0x4e]
cmp word [rdi + 0x82], ax
jne 0x1400a60e0
jmp 0x1400a6188
cmp word [rsp + 0x80], 0
jne 0x1400a60e0
mov rax, qword [rdi + 0x30]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x1400a6243
cmp qword [rsp + 0x118], rcx
je 0x1400a6243
mov rax, qword [rsp + 0x110]
cmp qword [rdi + 0x40], rax
jne 0x1400a60e0
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rsp + 0x398]
mov r8, qword [rsp + 0x110]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a60e0
mov eax, dword [rsp + 0xc4]
cmp dword [rdi + 0x78], eax
jne 0x1400a60e0
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x48], rax
jne 0x1400a6269
cmp qword [rsp + 0xe8], rax
jne 0x1400a60e0
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x60], rax
jne 0x1400a62af
cmp qword [rsp + 0xd0], rax
jne 0x1400a60e0
movzx eax, byte [rsp + 0x3d]
cmp byte [rdi + 0x7c], al
jne 0x1400a60e0
jmp 0x1400a6332
cmp rax, rcx
jne 0x1400a60e0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x118], rax
jne 0x1400a60e0
jmp 0x1400a6332
cmp qword [rsp + 0xe8], rax
je 0x1400a60e0
mov rax, qword [rsp + 0xd8]
cmp qword [rdi + 0x58], rax
jne 0x1400a60e0
mov rcx, qword [rdi + 0x50]
mov rdx, qword [rsp + 0x358]
mov r8, qword [rsp + 0xd8]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a60e0
jmp 0x1400a620e
cmp qword [rsp + 0xd0], rax
je 0x1400a60e0
mov rax, qword [rsp + 0xc8]
cmp qword [rdi + 0x70], rax
jne 0x1400a60e0
mov rcx, qword [rdi + 0x68]
mov rdx, qword [rsp + 0x348]
mov r8, qword [rsp + 0xc8]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a60e0
jmp 0x1400a6230
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x1400a6abe
mov rax, qword [rsp + 0x88]
add r15, rax
add r15, 0x10
add rax, 0x10
mov qword [rsp + 0x88], rax
jmp 0x1400a60c0
mov rdi, qword [rsp + 0x120]
add rdi, rbx
mov r8d, 0x88
lea rsi, [rsp + 0x6b8]
mov rcx, rsi
lea rdx, [rsp + 0x238]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x740], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x748], rax
mov qword [rsp + 0x6b0], 0
mov r8d, 0x98
lea rcx, [rsp + 0x758]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x7e0]
mov rbx, qword [rax - 8]
test rbx, rbx
je 0x1400a75d0
dec rbx
mov qword [rax - 8], rbx
mov rcx, qword [rax - 0x10]
add rcx, rbx
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 + 0x40], rdx
mov rdi, qword [rax + rcx + 8]
lea rdx, [rax + rcx]
add rdx, 0x10
mov r8d, 0xd8
lea rsi, [rsp + 0x128]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
movabs rax, 0x8000000000000000
lea r13, [rax + 1]
mov qword [rsp + 0xb8], rdi
cmp rdi, r13
mov r15, qword [rsp + 0x78]
je 0x1400a75d0
mov r8d, 0xd8
lea rcx, [rsp + 0x238]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
test rbx, rbx
jne 0x1400a65b9
mov rdx, qword [rsp + 0x740]
mov rax, qword [rsp + 0x748]
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 0x1400a649d
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400a64a2
mov r10w, 0x10
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 0x1400a64d1
inc qword [rax + 0x10]
mov r11b, 0xff
mov rbp, rbx
mov rsi, qword [rsp + 0x6b8]
mov byte [rcx + r8], r11b
mov byte [r9 + rcx + 0x10], r11b
dec qword [rax + 0x18]
add rdx, 0xffffffffffffff58
mov r8d, 0xa8
lea rcx, [rsp + 0x3a0]
call sub.msvcrt.dll_memcpy
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x1400a651f
lea rcx, [rsp + 0x6b8]
call fcn.1400b5b80
mov rsi, qword [rsp + 0x428]
mov rdi, qword [rsp + 0x430]
mov rbx, qword [rsp + 0x438]
mov r14, qword [rsp + 0x440]
lea rcx, [rsp + 0x3a0]
call fcn.1400b5b80
test r14, r14
je 0x1400a6573
cmp rbx, rsi
mov eax, 0
cmovae rax, rsi
sub rbx, rax
mov rax, rsi
sub rax, rbx
mov r12, r14
sub r12, rax
jbe 0x1400a657a
mov r14, rsi
jmp 0x1400a6580
xor ebx, ebx
xor r14d, r14d
jmp 0x1400a657d
add r14, rbx
xor r12d, r12d
imul rcx, rbx, 0xe8
add rcx, rdi
sub r14, rbx
mov rdx, r14
call fcn.1400b5aa0
mov rcx, rdi
mov rdx, r12
call fcn.1400b5aa0
test rsi, rsi
mov rbx, rbp
je 0x1400a65b9
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rdi, qword [r15 + 0x48]
mov rsi, qword [r15 + 0x60]
test rsi, rsi
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x88], rbx
je 0x1400a65fc
mov rax, qword [r15 + 0x58]
cmp rax, rdi
mov ecx, 0
cmovae rcx, rdi
sub rax, rcx
mov rdx, rdi
sub rdx, rax
mov rcx, rsi
sub rcx, rdx
jbe 0x1400a6602
mov rdx, rdi
jmp 0x1400a6608
xor eax, eax
xor edx, edx
jmp 0x1400a6606
lea rdx, [rax + rsi]
xor ecx, ecx
mov r14, qword [r15 + 0x50]
mov r8, rax
shl r8, 7
lea rbx, [r8 + rax*8]
mov rax, rdx
shl rax, 7
lea r15, [rax + rdx*8]
lea rax, [r14 + r15]
sub rax, r14
sub rax, rbx
movabs rdx, 0xf0f0f0f0f0f0f0f1
mul rdx
mov r12, rdx
shr r12, 7
add r12, rcx
mov rax, rcx
shl rax, 7
lea rax, [rax + rcx*8]
lea r13, [r14 + rax]
add r13, 0xffffffffffffff78
imul rbp, rcx, 0xffffffffffffff78
test rbp, rbp
je 0x1400a668c
mov rcx, r13
lea rdx, [rsp + 0x450]
call fcn.1400abe90
dec r12
add r13, 0xffffffffffffff78
add rbp, 0x88
test al, al
je 0x1400a6660
jmp 0x1400a66ce
lea r13, [r14 + r15]
add r13, 0xffffffffffffff78
sub rbx, r15
xor r15d, r15d
test rbx, rbx
je 0x1400a75d0
mov rcx, r13
lea rdx, [rsp + 0x450]
call fcn.1400abe90
add r13, 0xffffffffffffff78
add rbx, 0x88
inc r15
test al, al
je 0x1400a669d
sub r12, r15
cmp rsi, r12
jbe 0x1400a75d0
mov r15, qword [rsp + 0x78]
mov r8, qword [r15 + 0x58]
lea r9, [r8 + r12]
cmp r9, rdi
mov eax, 0
cmovae rax, rdi
sub r9, rax
mov rax, r9
shl rax, 7
lea rax, [rax + r9*8]
mov rbx, qword [r14 + rax]
movups xmm0, xmmword [r14 + rax + 0x78]
movaps xmmword [rsp + 0x6a0], xmm0
movups xmm0, xmmword [r14 + rax + 0x68]
movaps xmmword [rsp + 0x690], xmm0
movups xmm0, xmmword [r14 + rax + 0x58]
movaps xmmword [rsp + 0x680], xmm0
movups xmm0, xmmword [r14 + rax + 0x48]
movaps xmmword [rsp + 0x670], xmm0
movups xmm0, xmmword [r14 + rax + 0x38]
movaps xmmword [rsp + 0x660], xmm0
movups xmm0, xmmword [r14 + rax + 0x28]
movaps xmmword [rsp + 0x650], xmm0
movups xmm0, xmmword [r14 + rax + 0x18]
movaps xmmword [rsp + 0x640], xmm0
movups xmm0, xmmword [r14 + rax + 8]
movaps xmmword [rsp + 0x630], xmm0
mov rax, r12
not rax
add rax, rsi
cmp rax, r12
jae 0x1400a67a1
lea rcx, [r9 + 1]
cmp rcx, rdi
mov ecx, 0
cmovae rcx, rdi
neg rcx
lea r8, [r9 + rcx]
inc r8
mov qword [rsp + 0x20], rax
jmp 0x1400a67c4
lea rax, [r8 + 1]
cmp rax, rdi
mov eax, 0
cmovae rax, rdi
neg rax
lea r9, [r8 + rax]
inc r9
mov qword [r15 + 0x58], r9
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov rdx, r14
call fcn.1400b56c0
dec rsi
mov qword [r15 + 0x60], rsi
movaps xmm0, xmmword [rsp + 0x6a0]
movaps xmmword [rsp + 0x620], xmm0
movaps xmm0, xmmword [rsp + 0x690]
movaps xmmword [rsp + 0x610], xmm0
movaps xmm0, xmmword [rsp + 0x680]
movaps xmmword [rsp + 0x600], xmm0
movaps xmm0, xmmword [rsp + 0x670]
movaps xmmword [rsp + 0x5f0], xmm0
movdqa xmm0, xmmword [rsp + 0x630]
movaps xmm1, xmmword [rsp + 0x640]
movaps xmm2, xmmword [rsp + 0x650]
movaps xmm3, xmmword [rsp + 0x660]
movaps xmmword [rsp + 0x5e0], xmm3
movaps xmmword [rsp + 0x5d0], xmm2
movaps xmmword [rsp + 0x5c0], xmm1
movdqa xmmword [rsp + 0x5b0], xmm0
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x1400a75d0
mov qword [rsp + 0x3a0], rbx
movaps xmm0, xmmword [rsp + 0x620]
lea rax, [rsp + 0x3a8]
movups xmmword [rax + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x610]
movups xmmword [rax + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x600]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x5f0]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x5b0]
movaps xmm1, xmmword [rsp + 0x5c0]
movaps xmm2, xmmword [rsp + 0x5d0]
movaps xmm3, xmmword [rsp + 0x5e0]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x3a0]
call fcn.1400b5b80
mov r8d, 0xd8
lea rcx, [rsp + 0x4d8]
lea rdx, [rsp + 0x238]
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x88], 0
je 0x1400a6930
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x758], rax
je 0x1400a6930
lea rcx, [rsp + 0x758]
call fcn.1400b5b80
mov rcx, qword [rsp + 0xb0]
call fcn.140107120
lea rcx, [rsp + 0x450]
call fcn.1400b5b80
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x130], rax
mov r8d, 0xd8
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x4d8]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
call qword [rax + 0xb8]
test rax, rax
mov r13, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x350]
je 0x1400a74ca
mov r14, rax
mov byte [rsp + 0x3a0], 0
mov dword [rsp + 0x238], 1
mov rcx, qword [rax]
mov edx, 0x8004667e
lea r8, [rsp + 0x238]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400a74fa
mov rcx, qword [r14]
lea rdx, [rsp + 0x3a0]
mov r8d, 1
mov r9d, 2
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
jne 0x1400a6a0f
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x1400a6a8a
mov sil, 1
xor ebx, ebx
mov al, 1
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x238], 0
mov rcx, qword [r14]
mov edx, 0x8004667e
lea r8, [rsp + 0x238]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400a7503
test bl, bl
jne 0x1400a7575
test sil, sil
mov rdi, qword [rsp + 0x50]
je 0x1400a74ca
mov rsi, rbp
lea rcx, [rsp + 0x128]
call fcn.1400a88b0
movabs rbp, 0x8000000000000000
mov r14, qword [rsp + 0x100]
cmp qword [rsi + 0x28], rbp
jne 0x1400a5acd
jmp 0x1400a5c3e
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rdi
call fcn.1400ad140
cmp al, 0xd
jne 0x1400a6aaf
mov al, 1
mov dword [rsp + 0x40], eax
xor esi, esi
xor ebx, ebx
jmp 0x1400a6a1a
mov bl, 1
mov dword [rsp + 0x40], 0
jmp 0x1400a6a1a
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x78], 0
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
je 0x1400a7274
lea rdx, [rsp + 0x238]
mov r8d, 0x88
lea rsi, [rsp + 0x6b8]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x740], rax
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x748], rax
mov qword [rsp + 0x6b0], 1
mov rcx, qword [rsp + 0xb0]
call fcn.140107120
mov rcx, rsi
call fcn.1400b5b80
lea rcx, [rsp + 0x450]
call fcn.1400b5b80
mov r15, qword [rsp + 0x98]
mov r12, qword [rsp + 0x388]
mov r14, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x58]
cmp rsi, r14
jbe 0x1400a6b77
cmp byte [rdi + r14], 0xbf
jg 0x1400a6b7d
jmp 0x1400a75d0
jne 0x1400a75d0
cmp r14d, 4
jne 0x1400a6bdd
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a6ce8
lea rdx, str.testunknown_scheme
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400a6bfd
mov eax, dword [r15 + 0x44]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x1400a7211
cmp qword [r15 + 0x28], rax
jbe 0x1400a720b
cmp byte [rcx + rax], 0xbf
jg 0x1400a7211
jmp 0x1400a75d0
cmp r14d, 5
jne 0x1400a6bfd
lea rdx, [0x140206e14]
mov rcx, rdi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a6d4f
mov qword [rsp + 0x3a0], rdi
mov qword [rsp + 0x3a8], r14
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x4d8], rax
lea rax, [0x140082540]
mov qword [rsp + 0x4e0], rax
lea rax, [0x1401f0820]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], 1
mov qword [rsp + 0x258], 0
lea rax, [rsp + 0x4d8]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], 1
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x238]
mov rcx, rdi
call fcn.1400039a0
movabs r15, 0x8000000000000000
mov qword [rsp + 0x148], r15
mov qword [rsp + 0x1a0], 0
mov byte [rsp + 0x1b0], 1
movups xmm0, xmmword [rsp + 0x218]
movups xmm1, xmmword [rsp + 0x228]
movups xmmword [r13 + 0x100], xmm1
movups xmmword [r13 + 0xf0], xmm0
lea rcx, [r13 + 8]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov qword [r13], r15
jmp 0x1400a5901
cmp word [r15 + 0x40], 0
mov si, 0x50
je 0x1400a6cf9
movzx esi, word [r15 + 0x42]
movzx eax, byte [0x14024a149]
mov edx, 4
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
mov rdi, rax
mov dword [rax], 0x70747468
test rbx, rbx
je 0x1400a6eb9
js 0x1400a75d0
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rbx
call fcn.140080d30
mov r14, rax
test rax, rax
jne 0x1400a6ebf
jmp 0x1400a75d0
cmp word [r15 + 0x40], 0
mov si, 0x1bb
je 0x1400a6d60
movzx esi, word [r15 + 0x42]
mov word [rsp + 0x20], si
lea rcx, [rsp + 0x238]
mov rdx, r15
mov r8, r12
mov r9, rbx
call fcn.1400ae950
mov rdi, qword [rsp + 0x238]
movabs rax, 0x8000000000000000
mov rcx, r15
lea r15, [rax + 1]
cmp rdi, r15
jne 0x1400a7199
mov rbp, r12
mov qword [rsp + 0x60], rbx
mov rbx, qword [rsp + 0x240]
movdqu xmm0, xmmword [rsp + 0x258]
movups xmm1, xmmword [rsp + 0x248]
movaps xmmword [rsp + 0x3a0], xmm1
movdqa xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x98], rcx
mov rax, qword [rcx + 0x98]
mov r14, qword [rax + 0xb8]
mov rdi, qword [rax + 0xc0]
mov r12, qword [rdi + 0x10]
movzx eax, byte [0x14024a149]
mov edx, 8
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
dec r12
and r12, 0xfffffffffffffff0
lea rdx, [r12 + r14]
add rdx, 0x10
mov qword [rax], rbx
lea rcx, [0x1401f1120]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x238]
mov r8, rbp
mov rbx, qword [rsp + 0x60]
mov r9, rbx
call qword [rdi + 0x18]
mov rdi, qword [rsp + 0x238]
cmp rdi, r15
jne 0x1400a7294
movdqu xmm6, xmmword [rsp + 0x240]
movzx eax, byte [0x14024a149]
mov edx, 5
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
mov rdi, rax
mov byte [rax + 4], 0x73
mov dword [rax], 0x70747468
test rbx, rbx
je 0x1400a7308
js 0x1400a75d0
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rbx
call fcn.140080d30
mov r14, rax
test rax, rax
jne 0x1400a730e
jmp 0x1400a75d0
mov r14d, 1
mov rcx, r14
mov rbp, r12
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r12, qword [r15 + 0xa0]
jmp 0x1400a6edb
pause
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x1400a6ed9
test rax, rax
js 0x1400a75d0
lea rcx, [rax + 1]
lock cmpxchg qword [r12 + 8], rcx
jne 0x1400a6ee0
mov word [rsp + 0x20], si
lea rcx, [rsp + 0x238]
mov rdx, r15
mov r8, rbp
mov r9, rbx
call fcn.1400ae950
mov qword [rsp + 0x4d8], r12
mov qword [rsp + 0x4e0], 4
mov qword [rsp + 0x4e8], rdi
mov qword [rsp + 0x4f0], 4
mov qword [rsp + 0x4f8], rbx
mov qword [rsp + 0x500], r14
mov qword [rsp + 0x508], rbx
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x510], rcx
movdqu xmm0, xmmword [rsp + 0x3a0]
movups xmm1, xmmword [rsp + 0x3b0]
movups xmm2, xmmword [rsp + 0x3c0]
movups xmm3, xmmword [rsp + 0x3d0]
movdqu xmmword [rsp + 0x518], xmm0
movups xmmword [rsp + 0x528], xmm1
movups xmmword [rsp + 0x538], xmm2
movups xmmword [rsp + 0x548], xmm3
mov rax, qword [rsp + 0x3e0]
mov qword [rsp + 0x558], rax
mov word [rsp + 0x560], 1
mov word [rsp + 0x562], si
lea r15, [rcx + 1]
cmp qword [rsp + 0x238], r15
jne 0x1400a7164
mov rbp, rbx
mov qword [rsp + 0x68], r13
mov r13, qword [rsp + 0x240]
movzx eax, byte [0x14024a149]
mov edx, 8
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
mov rbx, rax
mov qword [rax], r13
movzx eax, byte [0x14024a149]
mov edx, 0x2000
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
lea rcx, [rsp + 0x248]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x200], 0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x1d0], xmm1
movdqu xmm0, xmmword [rsp + 0x3a0]
movups xmm1, xmmword [rsp + 0x3b0]
movups xmm2, xmmword [rsp + 0x3c0]
movups xmm3, xmmword [rsp + 0x3d0]
movdqu xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x180], xmm1
movups xmmword [rsp + 0x190], xmm2
movups xmmword [rsp + 0x1a0], xmm3
mov rcx, qword [rsp + 0x3e0]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], 4
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], 4
mov qword [rsp + 0x150], rbp
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], rbp
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x168], rcx
mov word [rsp + 0x1b8], 1
mov word [rsp + 0x1ba], si
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], 0x2000
mov qword [rsp + 0x208], rbx
lea rax, [0x1401f1120]
mov qword [rsp + 0x210], rax
mov r13, qword [rsp + 0x68]
lea rdi, [rsp + 0x130]
inc rcx
cmp r15, rcx
jne 0x1400a6cad
jmp 0x1400a72e2
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x238]
mov r8d, 0x110
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x4d8]
call fcn.1400ad460
mov r15, qword [rsp + 0x128]
jmp 0x1400a72c4
mov rsi, qword [rsp + 0x240]
movups xmm0, xmmword [rsp + 0x248]
movaps xmmword [rsp + 0x6b0], xmm0
movups xmm0, xmmword [rsp + 0x258]
movaps xmmword [rsp + 0x6c0], xmm0
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x158]
mov r8d, 0xe0
call sub.msvcrt.dll_memcpy
movdqa xmm0, xmmword [rsp + 0x6b0]
movaps xmm1, xmmword [rsp + 0x6c0]
movdqu xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x148], xmm1
mov qword [rsp + 0x130], rsi
jmp 0x1400a72c1
jne 0x1400a75d0
mov qword [rsp + 0x4d8], rcx
mov qword [rsp + 0x4e0], rax
lea rax, [rsp + 0x4d8]
mov qword [rsp + 0x3a0], rax
lea rax, [0x140082540]
mov qword [rsp + 0x3a8], rax
lea rax, [0x1401f1270]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], 2
mov qword [rsp + 0x258], 0
lea rax, [rsp + 0x3a0]
jmp 0x1400a6c5b
mov rdx, qword [rax + 0x88]
mov r8, qword [rax + 0x90]
mov rcx, qword [rsp + 0xa0]
call fcn.1400abff0
jmp 0x1400a6add
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x140]
mov r8d, 0xf8
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x240]
movdqu xmmword [rsp + 0x130], xmm0
mov r15, rdi
movabs rcx, 0x8000000000000000
lea rdi, [rsp + 0x130]
inc rcx
cmp r15, rcx
jne 0x1400a6cad
mov rsi, rcx
lea rcx, [r13 + 8]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov byte [r13 + 0xf0], 0
mov qword [r13], rsi
jmp 0x1400a5901
mov r14d, 1
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x98]
mov r12, qword [rax + 0xa0]
jmp 0x1400a732f
pause
mov rax, qword [r12 + 8]
cmp rax, 0xffffffffffffffff
je 0x1400a732d
test rax, rax
js 0x1400a75d0
lea rcx, [rax + 1]
lock cmpxchg qword [r12 + 8], rcx
jne 0x1400a7334
movzx eax, byte [0x14024a149]
mov edx, 0x10
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
mov rbx, rax
movdqu xmmword [rax], xmm6
movzx eax, byte [0x14024a149]
mov edx, 0x2000
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400a75d0
mov qword [rsp + 0x130], r12
mov qword [rsp + 0x138], 5
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], 5
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0x150], rbp
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], rbp
movabs rdx, 0x8000000000000000
mov qword [rsp + 0x168], rdx
movups xmm0, xmmword [rsp + 0x4d8]
movups xmm1, xmmword [rsp + 0x4e8]
movups xmm2, xmmword [rsp + 0x4f8]
movups xmm3, xmmword [rsp + 0x508]
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x180], xmm1
movups xmmword [rsp + 0x190], xmm2
movups xmmword [rsp + 0x1a0], xmm3
mov rcx, qword [rsp + 0x518]
mov qword [rsp + 0x1b0], rcx
mov rcx, rdx
mov word [rsp + 0x1b8], 1
mov word [rsp + 0x1ba], si
movdqa xmm0, xmmword [rsp + 0x3a0]
movaps xmm1, xmmword [rsp + 0x3b0]
movdqu xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x1d0], xmm1
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], 0x2000
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], rbx
lea rax, str.0_b_v_
mov qword [rsp + 0x210], rax
lea rdi, [rsp + 0x130]
inc rcx
cmp r15, rcx
jne 0x1400a6cad
jmp 0x1400a72e2
lea rcx, [r13 + 8]
lea rdx, [rsp + 0x128]
mov r8d, 0xe8
call sub.msvcrt.dll_memcpy
mov byte [r13 + 0xf0], 1
mov rax, qword [rsp + 0x80]
mov qword [r13], rax
jmp 0x1400a5901
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
jmp 0x1400a756a
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
cmp byte [rsp + 0x40], 0
jne 0x1400a756a
mov eax, edi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400a756a
test rax, rax
je 0x1400a756a
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 0x1400a7559
cmp qword [rsi + 0x10], 0x11
jb 0x1400a7548
mov r15, qword [r15 - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
shl rbx, 0x20
or rbx, 2
mov rdi, rbx
movabs rax, 0x8000000000000000
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x2b0], 0
mov byte [rsp + 0x2c0], 8
mov qword [rsp + 0x238], rax
lea rdx, [rsp + 0x238]
mov rcx, r13
mov r8, rdi
call fcn.1400b42a0
lea rcx, [rsp + 0x128]
call fcn.1400a88b0
jmp 0x1400a5901
ud2