Function at 0x1400901c0
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 r12, rcx
mov r14d, dword [rdx + 0x44]
mov rsi, qword [rdx + 0x20]
test r14, r14
je 0x14009026c
mov rbx, r9
mov rbp, r8
mov r15, rdx
mov rdi, qword [rdx + 0x28]
cmp rdi, r14
jbe 0x14009021d
cmp byte [rsi + r14], 0xbf
jg 0x140090223
jmp 0x1400920ad
jne 0x1400920ad
cmp r14d, 4
jne 0x14009024c
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140090342
lea rdx, str.testunknown_scheme
jmp 0x140090259
cmp r14d, 5
jne 0x14009026c
lea rdx, [0x1401e6f8c]
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140090342
mov qword [rsp + 0x430], rsi
mov qword [rsp + 0x438], r14
lea rax, [rsp + 0x430]
mov qword [rsp + 0x298], rax
lea rax, [0x140085130]
mov qword [rsp + 0x2a0], rax
lea rax, [0x1401d28f0]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 2
mov qword [rsp + 0x150], 0
lea rax, [rsp + 0x298]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 1
lea rcx, [r12 + 8]
lea rdx, [rsp + 0x130]
call fcn.1400048a0
movabs rax, 0x8000000000000000
mov qword [r12], rax
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x78], 0
mov byte [r12 + 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 rdi, r14
jbe 0x140090353
cmp byte [rsi + r14], 0xbf
jg 0x140090359
jmp 0x1400920ad
jne 0x1400920ad
cmp r14d, 5
jne 0x140090379
lea rdx, [0x1401e6f8c]
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140090438
mov rax, qword [r15 + 0x98]
cmp byte [rax + 0xcc], 0
je 0x140090438
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x1400903b8
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0x33
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
movups xmm0, xmmword [0x1401d1e90]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1401d1e80]
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 [r12], rcx
mov qword [r12 + 8], 0x33
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], 0x33
mov qword [r12 + 0x20], rcx
mov qword [r12 + 0x78], 0
mov byte [r12 + 0x88], 3
jmp 0x140090315
movabs r13, 0x8000000000000000
cmp byte [rsp + 0x890], 0
je 0x140091656
mov rcx, qword [r15 + 0xa0]
mov rdx, qword [r15 + 0x98]
lea rax, [rcx + 0x38]
mov qword [rsp + 0xc0], 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, [rsi + rax]
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x268], r8
mov qword [rsp + 0x270], rax
sub r8, rax
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x80], rcx
lea rax, [rcx + 0x68]
mov qword [rsp + 0xb8], rax
pcmpeqd xmm6, xmm6
mov qword [rsp + 0x68], r12
mov r12, rdx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0x280], rbp
mov qword [rsp + 0x108], r14
cmp qword [r12 + 0x28], r13
je 0x1400906e6
mov rdi, qword [r12 + 0x30]
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14009056b
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x140090552
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x140090570
jmp 0x1400920ad
mov eax, 1
mov qword [rsp + 0x278], rax
mov rcx, rax
mov rdx, rdi
mov r8, qword [rsp + 0x78]
call sub.msvcrt.dll_memcpy
mov eax, dword [r12 + 0x70]
mov dword [rsp + 0xd0], eax
mov qword [rsp + 0x100], r13
cmp qword [r12 + 0x40], r13
je 0x140090633
mov rdi, qword [r12 + 0x48]
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140090608
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x1400905ec
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0xa0]
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x14009060d
jmp 0x1400920ad
mov eax, 1
mov qword [rsp + 0x260], rax
mov rcx, rax
mov rdx, rdi
mov rdi, qword [rsp + 0xa0]
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0xf8], r13
cmp qword [r12 + 0x58], r13
je 0x1400906d2
mov rdi, qword [r12 + 0x60]
mov rax, qword [r12 + 0x68]
mov qword [rsp + 0x98], rax
test rax, rax
je 0x1400906a7
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x14009068b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x1400906ac
jmp 0x1400920ad
mov eax, 1
mov qword [rsp + 0x258], rax
mov rcx, rax
mov rdx, rdi
mov rdi, qword [rsp + 0x98]
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xf8], rdi
movzx eax, byte [r12 + 0x74]
mov byte [rsp + 0x3e], al
mov r13, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov bp, 1
cmp word [rsp + 0x4c], 0
je 0x140090705
movzx esi, word [rsp + 0x4a]
cmp rdi, r14
jbe 0x1400907e7
jmp 0x1400907ca
cmp rdi, r14
jbe 0x140090716
cmp byte [rsi + r14], 0xbf
jg 0x14009071c
jmp 0x1400920ad
jne 0x1400920ad
cmp r14d, 4
jne 0x14009073e
mov rcx, rsi
lea rdx, str.httphttpswswssftpfile__file:__
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400907bc
jmp 0x14009075a
cmp r14d, 2
jne 0x140090769
mov rcx, rsi
lea rdx, [0x1401e6f91]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400907bc
mov si, 0x50
cmp rdi, r14
jbe 0x1400907e7
jmp 0x1400907ca
cmp r14d, 5
jne 0x140090787
mov rcx, rsi
lea rdx, [0x1401e6f8c]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400907bc
jmp 0x1400907de
cmp r14d, 3
jne 0x1400907bc
mov rcx, rsi
lea rdx, [0x1401e6f93]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400907de
mov rcx, rsi
lea rdx, [0x1401e6f96]
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
jmp 0x1400907be
xor eax, eax
movzx ebp, al
mov si, 0x15
cmp rdi, r14
jbe 0x1400907e7
mov rax, qword [rsp + 0x58]
cmp byte [rax + r14], 0xbf
mov rdi, r14
jg 0x1400907ed
jmp 0x1400920ad
mov si, 0x1bb
cmp rdi, r14
ja 0x1400907ca
jne 0x1400920ad
mov r14d, 1
test rdi, rdi
je 0x14009083a
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x140090820
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
mov r12, rax
test rax, rax
jne 0x140090842
jmp 0x1400920ad
xor edi, edi
mov r12d, 1
mov rcx, r12
mov rdx, qword [rsp + 0x58]
mov r8, rdi
call sub.msvcrt.dll_memcpy
cmp byte [rsp + 0x3f], 0
mov qword [rsp + 0x40], r13
je 0x140090894
mov rax, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x268]
cmp eax, ecx
ja 0x1400920ad
test rax, rax
je 0x1400908a6
cmp qword [rsp + 0x50], rax
jbe 0x1400908a0
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0xc0
jge 0x1400908a6
jmp 0x1400920ad
lea rdx, str.corrupt_deflate_stream
jmp 0x140090933
jne 0x1400920ad
test rcx, rcx
je 0x1400908c8
cmp qword [rsp + 0x50], rcx
jbe 0x1400908c2
mov rax, qword [rsp + 0x58]
cmp byte [rax + rcx], 0xbf
jg 0x1400908c8
jmp 0x1400920ad
jne 0x1400920ad
cmp qword [rsp + 0x110], 0
je 0x14009092b
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x140090901
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r13, qword [rsp + 0x110]
mov r8, r13
call sub.kernel32.dll_HeapAlloc
mov r14, rax
mov rdx, qword [rsp + 0xa8]
test rax, rax
jne 0x140090936
jmp 0x1400920ad
mov rdx, qword [rsp + 0xa8]
xor r13d, r13d
mov rcx, r14
mov r8, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x3a8], rdi
mov qword [rsp + 0x3b0], r12
mov qword [rsp + 0x3b8], rdi
mov qword [rsp + 0x3c0], r13
mov qword [rsp + 0x3c8], r14
mov qword [rsp + 0x3d0], r13
mov word [rsp + 0x428], bp
mov word [rsp + 0x42a], si
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x3e0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x3f0], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x408], rax
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x418], rax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x420], eax
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x424], al
movzx eax, word [rsp + 0x65]
lea rcx, [rsp + 0x425]
mov word [rcx], ax
movzx eax, byte [rsp + 0x67]
mov byte [rcx + 2], al
mov rcx, qword [rsp + 0xc0]
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rsi, qword [rsp + 0x80]
movzx eax, byte [rsi + 0x40]
test al, al
jne 0x1400920ad
lea rdi, [rsp + 0x130]
mov rcx, rdi
lea rdx, [rsp + 0x3a8]
call fcn.1400ac560
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov r8, rdi
call fcn.14009cd80
mov r15, rax
mov rcx, qword [rsi + 0x68]
mov rsi, qword [rsi + 0x70]
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
mov qword [rsp + 0x128], rcx
lea r12, [rcx - 0xa8]
mov rbp, qword [rsp + 0x138]
mov r14, qword [rsp + 0x140]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xc8], rax
movzx eax, word [rsp + 0x1b0]
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x1b2]
mov word [rsp + 0x4e], ax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x290], rax
mov eax, dword [rsp + 0x1a8]
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x1ac]
mov byte [rsp + 0x3d], al
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x248], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x288], r15
nop word cs:[rax + rax]
and r15, rsi
mov rax, qword [rsp + 0x128]
movdqu xmm8, xmmword [rax + r15]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm7
pmovmskb r13d, xmm0
nop
test r13w, r13w
je 0x140090e00
mov eax, r13d
lea r13d, [rax - 1]
and r13d, eax
tzcnt eax, eax
add rax, r15
and rax, rsi
neg rax
imul rbx, rax, 0xa8
cmp qword [r12 + rbx + 0x10], r14
jne 0x140090bf0
lea rdi, [r12 + rbx]
mov rcx, qword [rdi + 8]
mov rdx, rbp
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140090bf0
mov rax, qword [rsp + 0x40]
cmp qword [rdi + 0x28], rax
jne 0x140090bf0
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x40]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140090bf0
cmp word [rdi + 0x80], 0
je 0x140090c84
cmp word [rsp + 0x88], 0
je 0x140090bf0
movzx eax, word [rsp + 0x4e]
cmp word [rdi + 0x82], ax
jne 0x140090bf0
jmp 0x140090c93
cmp word [rsp + 0x88], 0
jne 0x140090bf0
mov rax, qword [rdi + 0x30]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140090d4e
cmp qword [rsp + 0x120], rcx
je 0x140090d4e
mov rax, qword [rsp + 0x118]
cmp qword [rdi + 0x40], rax
jne 0x140090bf0
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rsp + 0x290]
mov r8, qword [rsp + 0x118]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140090bf0
mov eax, dword [rsp + 0xd4]
cmp dword [rdi + 0x78], eax
jne 0x140090bf0
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x48], rax
jne 0x140090d74
cmp qword [rsp + 0xf0], rax
jne 0x140090bf0
movabs rax, 0x8000000000000000
cmp qword [rdi + 0x60], rax
jne 0x140090dba
cmp qword [rsp + 0xe0], rax
jne 0x140090bf0
movzx eax, byte [rsp + 0x3d]
cmp byte [rdi + 0x7c], al
jne 0x140090bf0
jmp 0x140090e32
cmp rax, rcx
jne 0x140090bf0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x120], rax
jne 0x140090bf0
jmp 0x140090e32
cmp qword [rsp + 0xf0], rax
je 0x140090bf0
mov rax, qword [rsp + 0xe8]
cmp qword [rdi + 0x58], rax
jne 0x140090bf0
mov rcx, qword [rdi + 0x50]
mov rdx, qword [rsp + 0x250]
mov r8, qword [rsp + 0xe8]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140090bf0
jmp 0x140090d19
cmp qword [rsp + 0xe0], rax
je 0x140090bf0
mov rax, qword [rsp + 0xd8]
cmp qword [rdi + 0x70], rax
jne 0x140090bf0
mov rcx, qword [rdi + 0x68]
mov rdx, qword [rsp + 0x248]
mov r8, qword [rsp + 0xd8]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140090bf0
jmp 0x140090d3b
pcmpeqb xmm8, xmm6
pmovmskb eax, xmm8
test eax, eax
jne 0x1400915a1
mov rax, qword [rsp + 0x90]
add r15, rax
add r15, 0x10
add rax, 0x10
mov qword [rsp + 0x90], rax
jmp 0x140090bd0
mov rdi, qword [rsp + 0x128]
add rdi, rbx
mov r8d, 0x88
lea rsi, [rsp + 0x5b8]
mov rcx, rsi
lea rdx, [rsp + 0x130]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x640], rdi
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x648], rax
mov qword [rsp + 0x5b0], 0
mov r8d, 0x98
lea rcx, [rsp + 0x750]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x7d8]
mov r14, qword [rax - 8]
test r14, r14
je 0x1400920ad
dec r14
mov qword [rax - 8], r14
mov rcx, qword [rax - 0x10]
add rcx, r14
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 rbp, qword [rax + rcx]
mov rbx, qword [rax + rcx + 8]
lea rdx, [rax + rcx]
add rdx, 0x10
mov r8d, 0xd8
lea rsi, [rsp + 0x298]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
movabs rdi, 0x8000000000000000
lea r13, [rdi + 1]
mov qword [rsp + 0x40], rbx
cmp rbx, r13
mov r15, qword [rsp + 0x80]
je 0x1400920ad
mov r8d, 0xd8
lea rcx, [rsp + 0x130]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
test r14, r14
mov qword [rsp + 0x90], r14
jne 0x1400910ac
mov rdx, qword [rsp + 0x640]
mov rax, qword [rsp + 0x648]
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 0x140090fa0
bsr r10w, r10w
xor r10d, 0xf
jmp 0x140090fa5
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 0x140090fd4
inc qword [rax + 0x10]
mov r11b, 0xff
mov rsi, qword [rsp + 0x5b8]
mov byte [rcx + r8], r11b
mov byte [r9 + rcx + 0x10], r11b
dec qword [rax + 0x18]
add rdx, 0xffffffffffffff58
mov r8d, 0xa8
lea rcx, [rsp + 0x508]
call sub.msvcrt.dll_memcpy
cmp rsi, rdi
je 0x140091015
lea rcx, [rsp + 0x5b8]
call fcn.1400ac8a0
mov rsi, qword [rsp + 0x590]
mov rdi, qword [rsp + 0x598]
mov rbx, qword [rsp + 0x5a0]
mov r14, qword [rsp + 0x5a8]
lea rcx, [rsp + 0x508]
call fcn.1400ac8a0
test r14, r14
je 0x140091069
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 0x140091070
mov r14, rsi
jmp 0x140091076
xor ebx, ebx
xor r14d, r14d
jmp 0x140091073
add r14, rbx
xor r12d, r12d
imul rcx, rbx, 0xe8
add rcx, rdi
sub r14, rbx
mov rdx, r14
call fcn.1400b0cd0
mov rcx, rdi
mov rdx, r12
call fcn.1400b0cd0
test rsi, rsi
je 0x1400910ac
mov rcx, qword [0x140228110]
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 + 0x88], r13
mov qword [rsp + 0xc8], rbp
je 0x1400910ef
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 0x1400910f5
mov rdx, rdi
jmp 0x1400910fb
xor eax, eax
xor edx, edx
jmp 0x1400910f9
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 0x14009117f
mov rcx, r13
lea rdx, [rsp + 0x3a8]
call fcn.1400b0db0
dec r12
add r13, 0xffffffffffffff78
add rbp, 0x88
test al, al
je 0x140091153
jmp 0x1400911c1
lea r13, [r14 + r15]
add r13, 0xffffffffffffff78
sub rbx, r15
xor r15d, r15d
test rbx, rbx
je 0x1400920ad
mov rcx, r13
lea rdx, [rsp + 0x3a8]
call fcn.1400b0db0
add r13, 0xffffffffffffff78
add rbx, 0x88
inc r15
test al, al
je 0x140091190
sub r12, r15
cmp rsi, r12
jbe 0x1400920ad
mov r15, qword [rsp + 0x80]
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 + 0x740], xmm0
movups xmm0, xmmword [r14 + rax + 0x68]
movaps xmmword [rsp + 0x730], xmm0
movups xmm0, xmmword [r14 + rax + 0x58]
movaps xmmword [rsp + 0x720], xmm0
movups xmm0, xmmword [r14 + rax + 0x48]
movaps xmmword [rsp + 0x710], xmm0
movups xmm0, xmmword [r14 + rax + 0x38]
movaps xmmword [rsp + 0x700], xmm0
movups xmm0, xmmword [r14 + rax + 0x28]
movaps xmmword [rsp + 0x6f0], xmm0
movups xmm0, xmmword [r14 + rax + 0x18]
movaps xmmword [rsp + 0x6e0], xmm0
movups xmm0, xmmword [r14 + rax + 8]
movaps xmmword [rsp + 0x6d0], xmm0
mov rax, r12
not rax
add rax, rsi
cmp rax, r12
jae 0x140091297
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 0x1400912ba
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.1400ade10
movabs rax, 0x8000000000000000
dec rsi
mov qword [r15 + 0x60], rsi
movaps xmm0, xmmword [rsp + 0x740]
movaps xmmword [rsp + 0x6c0], xmm0
movaps xmm0, xmmword [rsp + 0x730]
movaps xmmword [rsp + 0x6b0], xmm0
movaps xmm0, xmmword [rsp + 0x720]
movaps xmmword [rsp + 0x6a0], xmm0
movaps xmm0, xmmword [rsp + 0x710]
movaps xmmword [rsp + 0x690], xmm0
movdqa xmm0, xmmword [rsp + 0x6d0]
movaps xmm1, xmmword [rsp + 0x6e0]
movaps xmm2, xmmword [rsp + 0x6f0]
movaps xmm3, xmmword [rsp + 0x700]
movaps xmmword [rsp + 0x680], xmm3
movaps xmmword [rsp + 0x670], xmm2
movaps xmmword [rsp + 0x660], xmm1
movdqa xmmword [rsp + 0x650], xmm0
cmp rbx, rax
je 0x1400920ad
mov qword [rsp + 0x508], rbx
movaps xmm0, xmmword [rsp + 0x6c0]
lea rax, [rsp + 0x510]
movups xmmword [rax + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x6b0]
movups xmmword [rax + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x6a0]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x690]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x650]
movaps xmm1, xmmword [rsp + 0x660]
movaps xmm2, xmmword [rsp + 0x670]
movaps xmm3, xmmword [rsp + 0x680]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x508]
call fcn.1400ac8a0
mov r8d, 0xd8
lea rcx, [rsp + 0x430]
lea rdx, [rsp + 0x130]
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x90], 0
movabs r13, 0x8000000000000000
je 0x140091426
cmp qword [rsp + 0x750], r13
je 0x140091426
lea rcx, [rsp + 0x750]
call fcn.1400ac8a0
mov rcx, qword [rsp + 0xc0]
call sub.kernel32.dll_ReleaseSRWLockExclusive
lea rcx, [rsp + 0x3a8]
call fcn.1400ac8a0
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x2a0], rax
mov r8d, 0xd8
lea rcx, [rsp + 0x2a8]
lea rdx, [rsp + 0x430]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x370]
mov rax, qword [rsp + 0x378]
call qword [rax + 0xb8]
test rax, rax
mov r15, qword [rsp + 0x68]
je 0x140091fa5
mov r14, rax
mov byte [rsp + 0x508], 0
mov dword [rsp + 0x130], 1
mov rcx, qword [rax]
mov edx, 0x8004667e
lea r8, [rsp + 0x130]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140091fd4
mov rcx, qword [r14]
lea rdx, [rsp + 0x508]
mov r8d, 1
mov r9d, 2
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
jne 0x1400914fd
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x140091576
mov sil, 1
xor ebx, ebx
mov bpl, 1
mov dword [rsp + 0x130], 0
mov rcx, qword [r14]
mov edx, 0x8004667e
lea r8, [rsp + 0x130]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140091fdd
test bl, bl
jne 0x14009205c
test sil, sil
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x240]
je 0x140091fa5
lea rcx, [rsp + 0x298]
call fcn.1400933c0
mov r14, qword [rsp + 0x108]
cmp qword [r12 + 0x28], r13
jne 0x140090510
jmp 0x1400906e6
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rdi
call fcn.1400991a0
cmp al, 0xd
jne 0x140091598
mov bpl, 1
xor esi, esi
xor ebx, ebx
jmp 0x140091505
mov bl, 1
xor ebp, ebp
jmp 0x140091505
mov rdx, qword [rsp + 0x80]
cmp qword [rdx + 0x78], 0
mov r12, qword [rsp + 0x68]
movabs r13, 0x8000000000000000
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
je 0x140091cdf
lea rdx, [rsp + 0x130]
mov r8d, 0x88
lea rsi, [rsp + 0x5b8]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x648], rax
mov qword [rsp + 0x5b0], 1
mov rcx, qword [rsp + 0xc0]
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov rcx, rsi
call fcn.1400ac8a0
lea rcx, [rsp + 0x3a8]
call fcn.1400ac8a0
mov r15, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x280]
mov r14, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x58]
cmp rdi, r14
jbe 0x140091667
cmp byte [rsi + r14], 0xbf
jg 0x14009166d
jmp 0x1400920ad
jne 0x1400920ad
cmp r14d, 4
jne 0x1400916cd
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400917d1
lea rdx, str.testunknown_scheme
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400916ed
mov eax, dword [r15 + 0x44]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x140091c7c
cmp qword [r15 + 0x28], rax
jbe 0x140091c76
cmp byte [rcx + rax], 0xbf
jg 0x140091c7c
jmp 0x1400920ad
cmp r14d, 5
jne 0x1400916ed
lea rdx, [0x1401e6f8c]
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140091881
mov qword [rsp + 0x508], rsi
mov qword [rsp + 0x510], r14
lea rax, [rsp + 0x508]
mov qword [rsp + 0x430], rax
lea rax, [0x140085130]
mov qword [rsp + 0x438], rax
lea rax, [0x1401d1e60]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 1
mov qword [rsp + 0x150], 0
lea rax, [rsp + 0x430]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 1
lea rdi, [rsp + 0x2a0]
lea rdx, [rsp + 0x130]
mov rcx, rdi
call fcn.1400048a0
mov qword [rsp + 0x2b8], r13
mov qword [rsp + 0x310], 0
mov byte [rsp + 0x320], 1
movups xmm0, xmmword [rsp + 0x388]
movups xmm1, xmmword [rsp + 0x398]
movups xmmword [r12 + 0x100], xmm1
movups xmmword [r12 + 0xf0], xmm0
lea rcx, [r12 + 8]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov qword [r12], r13
jmp 0x140090315
cmp word [r15 + 0x40], 0
mov si, 0x50
je 0x1400917e2
movzx esi, word [r15 + 0x42]
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x14009180d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 4
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
mov rdi, rax
mov dword [rax], 0x70747468
test rbx, rbx
je 0x140091a51
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140091866
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x140091a57
jmp 0x1400920ad
cmp word [r15 + 0x40], 0
mov di, 0x1bb
je 0x140091892
movzx edi, word [r15 + 0x42]
mov word [rsp + 0x20], di
lea rcx, [rsp + 0x130]
mov rdx, r15
mov r8, rbp
mov r9, rbx
call fcn.14009aa60
mov rsi, qword [rsp + 0x130]
mov rax, r15
lea r15, [r13 + 1]
cmp rsi, r15
jne 0x140091c01
mov word [rsp + 0x40], di
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0x138]
movdqu xmm0, xmmword [rsp + 0x150]
movups xmm1, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x5b0], xmm1
movdqa xmmword [rsp + 0x5c0], xmm0
mov qword [rsp + 0xb0], rax
mov rax, qword [rax + 0x98]
mov rbx, qword [rax + 0xb8]
mov rsi, qword [rax + 0xc0]
mov r14, qword [rsi + 0x10]
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140091945
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
dec r14
and r14, 0xfffffffffffffff0
lea rdx, [r14 + rbx]
add rdx, 0x10
mov qword [rax], rdi
lea rcx, [0x1401d27a0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x130]
mov r8, rbp
mov rbx, qword [rsp + 0x70]
mov r9, rbx
call qword [rsi + 0x18]
mov rsi, qword [rsp + 0x130]
cmp rsi, r15
jne 0x140091cf8
movdqu xmm6, xmmword [rsp + 0x138]
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x1400919d9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 5
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
mov rdi, rax
mov byte [rax + 4], 0x73
mov dword [rax], 0x70747468
test rbx, rbx
je 0x140091d2d
js 0x1400920ad
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140091a36
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x140091d33
jmp 0x1400920ad
mov r14d, 1
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rcx, qword [r15 + 0xa0]
jmp 0x140091a70
pause
mov rax, qword [rcx + 8]
nop word cs:[rax + rax]
cmp rax, 0xffffffffffffffff
je 0x140091a6e
test rax, rax
js 0x1400920ad
lea rdx, [rax + 1]
lock cmpxchg qword [rcx + 8], rdx
jne 0x140091a80
mov qword [rsp + 0x430], rcx
mov qword [rsp + 0x438], 4
mov qword [rsp + 0x440], rdi
mov qword [rsp + 0x448], 4
mov qword [rsp + 0x450], rbx
mov qword [rsp + 0x458], r14
mov qword [rsp + 0x460], rbx
mov qword [rsp + 0x468], r13
movdqu xmm0, xmmword [rsp + 0x508]
movups xmm1, xmmword [rsp + 0x518]
movups xmm2, xmmword [rsp + 0x528]
movups xmm3, xmmword [rsp + 0x538]
movdqu xmmword [rsp + 0x470], xmm0
movups xmmword [rsp + 0x480], xmm1
movups xmmword [rsp + 0x490], xmm2
movups xmmword [rsp + 0x4a0], xmm3
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x4b0], rax
mov word [rsp + 0x4b8], 1
mov word [rsp + 0x4ba], si
mov word [rsp + 0x20], si
lea rcx, [rsp + 0x130]
mov rdx, r15
mov r8, rbp
mov r9, rbx
call fcn.14009aa60
lea r15, [r13 + 1]
cmp qword [rsp + 0x130], r15
jne 0x140091bcc
movdqu xmm0, xmmword [rsp + 0x138]
movups xmm1, xmmword [rsp + 0x148]
movdqa xmmword [rsp + 0x5b0], xmm0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x5d0], rax
movaps xmmword [rsp + 0x5c0], xmm1
mov rdx, qword [rsp + 0x5b0]
lea r8, [rsp + 0x5b8]
lea rcx, [rsp + 0x2a0]
lea r9, [rsp + 0x430]
call fcn.14009c5e0
jmp 0x140091f68
lea rcx, [rsp + 0x298]
lea rdx, [rsp + 0x130]
mov r8d, 0x110
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x430]
call fcn.1400994c0
mov r15, qword [rsp + 0x298]
jmp 0x140091f68
mov rdi, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x750], xmm0
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x760], xmm0
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x2c8]
mov r8d, 0xe0
call sub.msvcrt.dll_memcpy
movdqa xmm0, xmmword [rsp + 0x750]
movaps xmm1, xmmword [rsp + 0x760]
movdqu xmmword [rsp + 0x2a8], xmm0
movups xmmword [rsp + 0x2b8], xmm1
mov qword [rsp + 0x2a0], rdi
mov r15, rsi
jmp 0x140091f68
jne 0x1400920ad
mov qword [rsp + 0x430], rcx
mov qword [rsp + 0x438], rax
lea rax, [rsp + 0x430]
mov qword [rsp + 0x508], rax
lea rax, [0x140085130]
mov qword [rsp + 0x510], rax
lea rax, [0x1401d28f0]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 2
mov qword [rsp + 0x150], 0
lea rax, [rsp + 0x508]
jmp 0x14009174b
add rdx, 0x88
mov rcx, qword [rsp + 0xb8]
call fcn.1400b0f10
jmp 0x1400915cd
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x2b0]
mov r8d, 0xf8
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x138]
movdqu xmmword [rsp + 0x2a0], xmm0
mov r15, rsi
jmp 0x140091f68
mov r14d, 1
mov rcx, r14
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rax + 0xa0]
jmp 0x140091d54
pause
mov rax, qword [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x140091d52
test rax, rax
js 0x1400920ad
lea rcx, [rax + 1]
lock cmpxchg qword [rsi + 8], rcx
jne 0x140091d58
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x470], rax
movdqu xmm0, xmmword [rsp + 0x508]
movups xmm1, xmmword [rsp + 0x518]
movups xmm2, xmmword [rsp + 0x528]
movups xmm3, xmmword [rsp + 0x538]
movaps xmmword [rsp + 0x460], xmm3
movaps xmmword [rsp + 0x450], xmm2
movaps xmmword [rsp + 0x440], xmm1
movdqa xmmword [rsp + 0x430], xmm0
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140091df0
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
mov rbx, rax
movdqu xmmword [rax], xmm6
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140091e38
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400920ad
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0x2000
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400920ad
mov qword [rsp + 0x2a0], rsi
mov qword [rsp + 0x2a8], 5
mov qword [rsp + 0x2b0], rdi
mov qword [rsp + 0x2b8], 5
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x2c0], rcx
mov qword [rsp + 0x2c8], r14
mov qword [rsp + 0x2d0], rcx
mov qword [rsp + 0x2d8], r13
movaps xmm0, xmmword [rsp + 0x430]
movaps xmm1, xmmword [rsp + 0x440]
movaps xmm2, xmmword [rsp + 0x450]
movaps xmm3, xmmword [rsp + 0x460]
movups xmmword [rsp + 0x2e0], xmm0
movups xmmword [rsp + 0x2f0], xmm1
movups xmmword [rsp + 0x300], xmm2
movups xmmword [rsp + 0x310], xmm3
mov rcx, qword [rsp + 0x470]
mov qword [rsp + 0x320], rcx
mov word [rsp + 0x328], 1
movzx ecx, word [rsp + 0x40]
mov word [rsp + 0x32a], cx
movdqa xmm0, xmmword [rsp + 0x5b0]
movaps xmm1, xmmword [rsp + 0x5c0]
movdqu xmmword [rsp + 0x330], xmm0
movups xmmword [rsp + 0x340], xmm1
mov qword [rsp + 0x350], rax
mov qword [rsp + 0x358], 0x2000
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x360], xmm0
mov qword [rsp + 0x370], 0
mov qword [rsp + 0x378], rbx
lea rax, [0x1401d2658]
mov qword [rsp + 0x380], rax
lea rdi, [rsp + 0x2a0]
inc r13
cmp r15, r13
jne 0x140091f9d
lea rcx, [r12 + 8]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov byte [r12 + 0xf0], 0
mov qword [r12], r13
jmp 0x140090315
mov r13, r15
jmp 0x140091793
lea rcx, [r15 + 8]
lea rdx, [rsp + 0x298]
mov r8d, 0xe8
call sub.msvcrt.dll_memcpy
mov byte [r15 + 0xf0], 1
mov rax, qword [rsp + 0x88]
mov qword [r15], rax
jmp 0x140090315
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
jmp 0x140092051
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
test bpl, bpl
jne 0x140092051
mov eax, edi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140092051
test rax, rax
je 0x140092042
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 0x140092031
cmp qword [rsi + 0x10], 0x11
jb 0x140092020
mov r15, qword [r15 - 8]
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov r15, qword [rsp + 0x68]
movabs r13, 0x8000000000000000
shl rbx, 0x20
or rbx, 2
mov rdi, rbx
mov qword [rsp + 0x138], r13
mov qword [rsp + 0x150], r13
mov qword [rsp + 0x1a8], 0
mov byte [rsp + 0x1b8], 8
mov qword [rsp + 0x130], r13
lea rdx, [rsp + 0x130]
mov rcx, r15
mov r8, rdi
call fcn.1400a65f0
lea rcx, [rsp + 0x298]
call fcn.1400933c0
jmp 0x140090315
ud2