Function at 0x1400703a0
Capabilities:
Check for software breakpoints

Disassembly:
push rbx
push rbp
push rdi
push r13
push r14
sub rsp, 0x60
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r13, qword [rcx + 8]
xor ebp, ebp
mov rdi, rcx
test r13, r13
jne 0x1400703d3
mov rax, qword [rcx]
mov r13, qword [rax + 0xa8]
mov r14d, 4
call fcn.14006c300
test eax, eax
je 0x1400703eb
movzx r14d, word [r13 + 2]
add r14d, 6
mov rbx, qword [rdi + 0x15c8]
mov qword [rsp + 0x98], rsi
test rbx, rbx
jne 0x140070410
mov rax, qword [rdi]
mov rbx, qword [rax + 0x40]
test rbx, rbx
je 0x140070440
nop dword [rax + rax]
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x140070434
mov ecx, dword [rsi + 0x59c]
lea rdx, [rsp + 0x50]
call fcn.1400820a0
add eax, dword [rsi + 0x59c]
add ebp, 2
add ebp, eax
mov rbx, qword [rbx + 0x140]
test rbx, rbx
jne 0x140070410
add r14d, ebp
test byte [rdi + 0x524], 0x18
jne 0x140070744
test byte [rdi + 0x522], 4
mov qword [rsp + 0xa0], r12
lea r12d, [r14 + 9]
jne 0x14007047a
mov edx, 1
mov rcx, rdi
call fcn.14006c340
test eax, eax
je 0x14007047a
add r12d, 0x66
mov edx, 1
mov rcx, rdi
call fcn.14006c340
test eax, eax
je 0x140070496
mov rcx, rdi
call fcn.140075100
add r12d, eax
mov eax, 0x8000
mov edx, r12d
or word [rdi + 0x526], ax
mov rcx, rdi
call fcn.140063490
test eax, eax
jne 0x14007061a
mov rcx, rdi
mov qword [rsp + 0xa8], r15
call fcn.14006af10
mov r9, rdi
mov r8b, 0xd
mov edx, r14d
mov rcx, rax
mov r15, rax
call fcn.140061a10
mov byte [r15 + 9], 1
movzx eax, byte [rdi + 0x52b]
cmp al, 0xc0
je 0x1400704ed
cmp al, 0xcc
jne 0x1400704f8
cmp byte [rdi + 0x3f0], 3
mov al, 0x40
je 0x1400704fa
mov al, 1
mov rcx, rdi
mov byte [r15 + 0xa], al
mov esi, 0xb
call fcn.14006c300
test eax, eax
je 0x140070540
movzx ecx, word [r13 + 2]
lea rdx, [r13 + 0x130]
movzx eax, cx
mov byte [r15 + 0xc], cl
shr ax, 8
lea rcx, [r15 + 0xd]
mov byte [r15 + 0xb], al
movzx r8d, word [r13 + 2]
call sub.VCRUNTIME140.dll_memcpy
movzx esi, word [r13 + 2]
add esi, 0xd
mov ecx, esi
movzx eax, bp
shr ax, 8
add esi, 2
mov byte [rcx + r15], al
mov byte [rcx + r15 + 1], bpl
mov rbp, qword [rdi + 0x15c8]
test rbp, rbp
jne 0x140070570
mov rax, qword [rdi]
mov rbp, qword [rax + 0x40]
test rbp, rbp
je 0x1400705e3
nop dword [rax]
mov r14, qword [rbp + 0x18]
test r14, r14
je 0x1400705d7
mov ecx, dword [r14 + 0x59c]
lea rdx, [rsp + 0x50]
call fcn.1400820a0
add ax, word [r14 + 0x59c]
movzx ecx, ax
mov byte [rsi + r15 + 1], al
shr cx, 8
mov byte [rsi + r15], cl
add esi, 2
mov ecx, dword [r14 + 0x59c]
mov edx, esi
add rdx, r15
call fcn.1400820a0
movsxd r8, dword [r14 + 0x59c]
lea rdx, [r14 + 0x450]
add esi, eax
mov ecx, esi
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
add esi, dword [r14 + 0x59c]
mov rbp, qword [rbp + 0x140]
test rbp, rbp
jne 0x140070570
mov edx, 1
mov rcx, rdi
call fcn.14006c340
test eax, eax
je 0x1400706b3
movzx ebx, word [rdi + 0x522]
and ebx, 4
add ebx, ebx
or ebx, 5
sub esi, ebx
test esi, esi
jg 0x140070643
mov eax, 0xffffff7c
mov r15, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0x60
pop r14
pop r13
pop rdi
pop rbp
pop rbx
ret
movsxd r14, esi
mov rcx, r14
call fcn.140077be0
mov rbp, rax
test rax, rax
jne 0x14007065b
lea eax, [rbp - 0x7d]
jmp 0x140070612
mov edx, ebx
mov r8, r14
add rdx, r15
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
mov r9, rbp
mov dword [rsp + 0x48], ebx
mov r8d, r12d
mov dword [rsp + 0x40], ebx
mov rdx, r15
mov dword [rsp + 0x38], ebx
mov rcx, rdi
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x16
mov dword [rsp + 0x20], esi
call fcn.140062200
mov rcx, rbp
mov esi, eax
call fcn.140077bc0
test esi, esi
jns 0x1400706ce
mov eax, esi
jmp 0x140070612
xor r9d, r9d
mov r8d, esi
mov rdx, r15
mov rcx, rdi
call fcn.14006b540
test eax, eax
jne 0x140070612
xor ebx, ebx
cmp byte [rdi + 0x631], 0
je 0x140070713
mov rax, qword [rdi + 0xb0]
lea rdx, str.CertificateRequest
mov qword [rsp + 0x38], rax
mov r9, r15
mov dword [rsp + 0x30], ebx
mov r8d, 0x16
mov dword [rsp + 0x28], 1
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.140061a80
test eax, eax
jne 0x140070612
add dword [rdi + 0x2b0], esi
mov eax, 0x400
test word [rdi + 0x524], ax
jne 0x140070731
mov rcx, rdi
call fcn.14006fd20
mov ebx, eax
mov eax, 0x7fff
and word [rdi + 0x526], ax
mov eax, ebx
jmp 0x140070612
xor eax, eax
jmp 0x140070622