Function at 0x1800140f0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rdi, rcx
mov edx, 0x10000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r13, rax
test rax, rax
je 0x180014459
xor r14d, r14d
mov ebx, 0x90312
mov esi, r14d
lea r15d, [r14 + 1]
jmp 0x180014145
xor r14d, r14d
cmp ebx, 0x90312
je 0x180014161
cmp ebx, 0x80090318
je 0x180014161
cmp ebx, 0x90320
jne 0x180014421
test esi, esi
je 0x18001416d
cmp ebx, 0x80090318
jne 0x1800141a7
test r15d, r15d
je 0x1800141a1
mov rcx, qword [rdi]
mov r8d, 0x10000
mov edx, esi
sub r8d, esi
add rdx, r13
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x180014441
test eax, eax
je 0x180014441
add esi, eax
jmp 0x1800141a7
mov r15d, 1
xor ecx, ecx
mov qword [rsp + 0x78], r13
lea rax, [rsp + 0x70]
mov dword [rsp + 0x70], esi
mov qword [rbp - 0x58], rax
lea rdx, [rdi + 0x28]
lea rax, [rsp + 0x60]
mov dword [rsp + 0x74], 2
mov qword [rbp - 0x68], rax
mov r9d, 0xc11c
mov rax, qword [rdi + 0x10]
xor r8d, r8d
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x5c], 2
mov dword [rbp - 0x60], r14d
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x64], 2
mov dword [rsp + 0x60], r14d
mov dword [rbp - 0x6c], 1
mov dword [rbp - 0x70], r14d
mov r10, qword [rax + 0x30]
lea rax, [rbp - 8]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], ecx
lea rcx, [rdi + 0x18]
call r10
mov ebx, eax
test eax, eax
je 0x18001426f
cmp eax, 0x90312
je 0x18001426f
test eax, eax
jns 0x1800142b2
test dword [rbp + 0x68], 0x4000
je 0x1800142b2
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x1800142b2
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x1800142b2
mov rcx, qword [rdi]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov rcx, qword [rsp + 0x68]
dec eax
cmp eax, 0xfffffffd
mov rax, qword [rdi + 0x10]
ja 0x180014448
call qword [rax + 0x80]
mov qword [rsp + 0x68], 0
cmp ebx, 0x80090318
je 0x180014142
test ebx, ebx
je 0x180014479
js 0x180014429
cmp ebx, 0x90320
jne 0x1800143f3
mov rax, qword [rdi + 0x10]
lea r8, [rbp - 0x50]
mov edx, 0x59
lea rcx, [rdi + 0x28]
mov r9, qword [rax + 0x58]
call r9
xor r14d, r14d
test eax, eax
jne 0x1800143e6
lea rax, str.1.3.6.1.5.5.7.3.2
mov qword [rbp - 0x40], 0x38
mov qword [rbp - 0x38], rax
xorps xmm0, xmm0
mov eax, dword [rbp - 0x48]
mov ebx, r14d
mov dword [rbp - 0x28], eax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x30], r14
mov dword [rbp - 0x24], r14d
movdqu xmmword [rbp - 0x18], xmm0
nop
mov rcx, qword [rdi + 0x40]
lea rax, [rbp - 0x40]
mov r9d, 1
mov qword [rsp + 0x28], rbx
mov edx, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.CRYPT32.dll_CertFindChainInStore]
mov rbx, rax
test rax, rax
je 0x1800143e6
mov rcx, qword [rax + 0x10]
xor r9d, r9d
lea rax, [rbp + 0x78]
mov rdx, qword [rcx]
lea r8d, [r9 + 2]
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rcx]
mov rcx, qword [rdx + 8]
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
mov qword [rdi + 0x50], rax
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x78], rcx
lea rcx, [rdi + 0x48]
mov dword [rcx], 4
mov dword [rdi + 0x4c], 1
mov r10, qword [rax + 0x18]
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call r10
test eax, eax
jne 0x180014330
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x18]
call qword [rax + 0x20]
movups xmm0, xmmword [rbp + 8]
movups xmmword [rdi + 0x18], xmm0
mov r15d, r14d
mov ebx, 0x90312
jmp 0x180014145
cmp dword [rbp - 0x7c], 5
jne 0x180014416
mov eax, dword [rbp - 0x80]
mov rcx, r13
sub esi, eax
mov r8d, eax
mov edx, esi
add rdx, r13
call fcn.18004b110
mov esi, dword [rbp - 0x80]
jmp 0x180014142
xor r14d, r14d
mov esi, r14d
jmp 0x180014145
test ebx, ebx
jns 0x1800144d8
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x28]
call qword [rax + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
jmp 0x18001445e
mov ebx, 0x80090304
jmp 0x180014429
call qword [rax + 0x80]
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x28]
call qword [rax + 0x48]
mov eax, 0x80090304
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rbp - 0x7c], 5
jne 0x1800144c5
mov edx, dword [rbp - 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, qword [rbp + 0x70]
mov qword [rdi + 8], rax
test rax, rax
je 0x180014459
mov ecx, dword [rbp - 0x80]
sub esi, ecx
mov r8d, ecx
mov edx, esi
mov rcx, rax
add rdx, r13
call fcn.18004b110
mov eax, dword [rbp - 0x80]
mov rcx, r13
mov dword [rdi], eax
mov dword [rdi + 4], 2
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
jmp 0x18001445e
mov rax, qword [rbp + 0x70]
mov qword [rax + 8], 0
mov qword [rax], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
jmp 0x18001445e