Function at 0x1400ba9ba
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x7c8
mov rbx, rdx
mov rdi, rcx
mov r12b, byte [rdx + 0xb8]
movzx ecx, byte [rdx + 0xd8]
cmp ecx, 1
je 0x1400ba9fd
cmp ecx, 2
je 0x1400baa14
cmp ecx, 3
jne 0x1400baa27
cmp byte [rdi + 0xc2], 0
jne 0x1400baa14
mov cl, 3
jmp 0x1400baa27
cmp r12b, 7
jne 0x1400baa14
mov cl, 1
mov dl, 5
call fcn.140064c7b
mov rsi, rax
jmp 0x1400bac8b
movzx ebp, byte [rbx + 0x60]
test ebp, ebp
je 0x1400baa37
cmp ebp, 1
jne 0x1400baa39
mov r13b, byte [rbx + 0x61]
jmp 0x1400baa37
call fcn.140068e2f
mov r14, rax
mov rsi, rdx
jmp 0x1400bacbb
jmp 0x1400baa72
call fcn.14006729e
mov r14, rax
mov rax, qword [rbx + 0x68]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rsi, [rsp + 0x330]
mov rcx, rsi
call qword [r10]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
lea rdx, [rbx + 0x88]
mov rax, qword [rbx + 0x70]
mov r8, qword [rbx + 0x78]
mov r9, qword [rbx + 0x80]
lea rsi, [rsp + 0x330]
mov rcx, rsi
call qword [rax]
lea rdx, [rbx + 0xa8]
mov rax, qword [rbx + 0x90]
mov r8, qword [rbx + 0x98]
mov r9, qword [rbx + 0xa0]
lea r15, [rsp + 0x260]
mov rcx, r15
call qword [rax]
movzx eax, word [rbx + 0xb0]
mov byte [r15 - 0x30], bpl
mov byte [r15 - 0x2f], r13b
mov qword [r15 - 0x28], r14
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 - 0x20], xmm0
movups xmmword [r15 - 0x10], xmm1
mov word [r15 + 0x20], ax
mov r9, qword [r15 - 0x10]
test bpl, bpl
je 0x1400bac10
test r9, r9
je 0x1400bac72
cmp bpl, 1
je 0x1400bab3f
call fcn.14006729e
mov rsi, rax
lea rdx, [r14 + 0x18]
mov rax, qword [r14]
mov r8, qword [r14 + 8]
mov r9, qword [r14 + 0x10]
lea r14, [rsp + 0x330]
mov rcx, r14
call qword [rax]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov r9, qword [rsp + 0x250]
lea rdx, [rsp + 0x258]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
lea rcx, [rsp + 0xa0]
call qword [rax]
lea rcx, [rsp + 0x230]
call fcn.140051de2
mov byte [rsp + 0x1c0], bpl
mov byte [rsp + 0x37], r13b
mov byte [rsp + 0x1c1], r13b
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x1c2], eax
movzx eax, word [rsp + 0x174]
mov word [rsp + 0x1c6], ax
mov qword [rsp + 0x1c8], rsi
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x1e0], xmm1
lea rcx, [rsp + 0x330]
mov r8d, 0x100
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movzx r13d, word [rdi + 0xc0]
movzx ebx, byte [rdi + 0xc2]
mov r15, qword [rdi + 0x30]
test r15, r15
mov qword [rsp + 0x50], rsi
je 0x1400bacd7
lock inc qword [r15]
jle 0x1400bb3b3
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x58], rax
jmp 0x1400bacd7
test r9, r9
je 0x1400bac72
cmp r12b, 7
jne 0x1400bac72
lea rsi, [rbx + 0x60]
mov rdx, qword [rsp + 0x248]
lea r14, [rsp + 0x330]
mov rcx, r14
mov r8, r9
call fcn.14006250c
cmp qword [r14], 0
je 0x1400bb30e
movzx eax, word [rsp + 0x340]
cmp eax, 0x1bb
jne 0x1400bb30e
lea rdx, [0x14018dc50]
mov rcx, rsi
call fcn.1400690e6
movaps xmm0, xmmword [0x140132720]
jmp 0x1400bb324
mov cl, 1
mov dl, 7
call fcn.140064c7b
mov rsi, rax
lea rcx, [rsp + 0x230]
call fcn.140051de2
mov al, byte [0x1401d2160]
mov edx, 0xa0
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x1400bb3b5
mov r14, rax
mov qword [rax], 3
mov qword [rax + 8], rsi
lea rsi, [0x14018d888]
mov rcx, rbx
call fcn.140076ef7
add rbx, 0xe0
mov rcx, rbx
call fcn.140076f49
jmp 0x1400bb2f4
mov sil, byte [rdi + 0x42]
mov al, byte [rdi + 0x40]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov r10, qword [rdi + 0x10]
mov r11, qword [rdi + 0x18]
mov cl, byte [rdi + 0x41]
mov dl, byte [rdi + 0x2c]
mov r14d, dword [rdi + 0x20]
mov r12d, dword [rdi + 0x24]
mov dword [rsp + 0x38], r12d
mov r12d, dword [rdi + 0x28]
mov dword [rsp + 0x44], r12d
mov r12, qword [rdi + 0x68]
lock inc qword [r12]
jle 0x1400bb3b3
mov qword [rsp + 0x78], r12
cmp qword [rdi + 0x48], 0
mov byte [rsp + 0x36], al
mov byte [rsp + 0x35], cl
mov byte [rsp + 0x34], dl
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x80], r11
mov dword [rsp + 0x40], r14d
je 0x1400bad6f
mov rcx, qword [rdi + 0x50]
call sub.crypt32.dll_CertDuplicateCertificateContext
mov qword [rsp + 0x60], rax
mov eax, 1
mov qword [rsp + 0x48], rax
jmp 0x1400bad76
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rdi + 0x58]
call sub.crypt32.dll_CertDuplicateStore
mov r10b, byte [rdi + 0x64]
mov r14b, byte [rdi + 0x65]
mov cl, byte [rdi + 0x60]
mov dl, byte [rdi + 0x61]
mov r8b, byte [rdi + 0x62]
mov r9b, byte [rdi + 0x63]
mov byte [rsp + 0x33], r9b
mov r11, qword [rdi + 0xa8]
lock inc qword [r11]
jle 0x1400bb3b3
mov byte [rsp + 0x2f], r8b
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x31], cl
mov qword [rsp + 0x70], rax
mov r9b, byte [rdi + 0xb0]
mov eax, dword [rdi + 0x78]
mov dword [rsp + 0x3c], eax
mov rax, qword [rdi + 0x70]
mov qword [rsp + 0x68], rax
mov al, byte [rdi + 0xb1]
mov byte [rsp + 0x32], al
mov al, 2
cmp byte [rdi + 0xa0], 2
je 0x1400bae4b
lea rdx, [rdi + 0x98]
mov rax, qword [rdi + 0x80]
mov r8, qword [rdi + 0x88]
mov byte [rsp + 0x2e], r9b
mov r9, qword [rdi + 0x90]
lea rcx, [rsp + 0xa0]
mov r12d, esi
mov rsi, r15
mov r15d, r10d
mov byte [rsp + 0x2d], r14b
mov r14d, ebx
mov ebx, ebp
mov rbp, r11
call qword [rax]
mov r11, rbp
mov ebp, ebx
mov ebx, r14d
mov r14b, byte [rsp + 0x2d]
mov r10d, r15d
mov r15, rsi
mov esi, r12d
mov r9b, byte [rsp + 0x2e]
mov al, byte [rdi + 0xa0]
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x244], xmm1
movups xmmword [rsp + 0x234], xmm0
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
mov r12, qword [rsp + 0x60]
je 0x1400bae86
lock inc qword [rcx]
jle 0x1400bb3b3
shl ebx, 0x10
or r13d, ebx
xor edx, edx
test sil, sil
setne dl
cmp sil, 2
mov r8d, 2
cmovne r8d, edx
mov word [rsp + 0x160], r13w
shr r13d, 0x10
mov byte [rsp + 0x162], r13b
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0xb8], rdx
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0xc4], edx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0xc8], edx
mov dl, byte [rsp + 0x34]
mov byte [rsp + 0xcc], dl
mov qword [rsp + 0xd0], r15
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xd8], rdx
mov dl, byte [rsp + 0x36]
mov byte [rsp + 0xe0], dl
mov dl, byte [rsp + 0x35]
mov byte [rsp + 0xe1], dl
mov byte [rsp + 0xe2], r8b
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], r12
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xf8], rdx
mov dl, byte [rsp + 0x31]
mov byte [rsp + 0x100], dl
mov dl, byte [rsp + 0x30]
mov byte [rsp + 0x101], dl
mov dl, byte [rsp + 0x2f]
mov byte [rsp + 0x102], dl
mov dl, byte [rsp + 0x33]
mov byte [rsp + 0x103], dl
mov byte [rsp + 0x104], r10b
mov byte [rsp + 0x105], r14b
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x108], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x110], rdx
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x118], edx
mov edx, dword [rsp + 0x250]
mov dword [rsp + 0x13c], edx
movups xmm0, xmmword [rsp + 0x230]
movups xmm1, xmmword [rsp + 0x240]
movups xmmword [rsp + 0x12c], xmm1
movups xmmword [rsp + 0x11c], xmm0
mov byte [rsp + 0x140], al
mov qword [rsp + 0x148], r11
mov byte [rsp + 0x150], r9b
mov al, byte [rsp + 0x32]
mov byte [rsp + 0x151], al
mov qword [rsp + 0x158], rcx
movzx r13d, byte [rsp + 0x390]
test r13d, r13d
je 0x1400bb08b
cmp r13d, 2
mov rsi, qword [rsp + 0x50]
jne 0x1400bb092
call fcn.14006729e
mov r12, rax
mov rax, qword [rsp + 0x398]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rbx, [rsp + 0x230]
mov rcx, rbx
call qword [r10]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
jmp 0x1400bb09d
mov rsi, qword [rsp + 0x50]
jmp 0x1400bb09d
mov al, byte [rsp + 0x391]
mov byte [rsp + 0x38], al
lea rdx, [rsp + 0x3b8]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
mov r9, qword [rdx - 8]
lea rcx, [rsp + 0x170]
call qword [rax]
lea rbx, [rsp + 0x3d8]
mov rax, qword [rbx - 0x18]
mov r8, qword [rbx - 0x10]
mov r9, qword [rbx - 8]
lea rcx, [rsp + 0x210]
mov rdx, rbx
call qword [rax]
movzx edi, word [rbx + 8]
lea rcx, [rsp + 0x230]
lea rdx, [rsp + 0x330]
mov r8d, 0x100
call sub.msvcrt.dll_memcpy
cmp bpl, 2
jb 0x1400bb133
call fcn.14006729e
mov rbx, rax
lea rdx, [rsi + 0x18]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
lea rsi, [rsp + 0x190]
mov rcx, rsi
call qword [rax]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
lea rcx, [rsp + 0x1a0]
mov byte [rcx - 0x10], bpl
mov al, byte [rsp + 0x37]
mov byte [rcx - 0xf], al
mov qword [rcx - 8], rbx
lea rsi, [rsp + 0x1e8]
mov rax, qword [rsi - 0x18]
mov r8, qword [rsi - 0x10]
mov r9, qword [rsi - 8]
mov rdx, rsi
call qword [rax]
lea rcx, [rsp + 0x4f8]
lea rbx, [rsp + 0xa0]
lea r14, [rsp + 0x230]
lea r15, [rsp + 0x190]
mov rdx, rbx
mov r8, r14
mov r9, r15
call fcn.1400c3f31
lea rcx, [rsp + 0x430]
mov r8d, 0xc8
mov rdx, rbx
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
movaps xmmword [r15], xmm0
movaps xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rsp + 0x210]
movups xmm1, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x200], xmm1
movups xmm0, xmmword [rsi - 0x28]
movups xmm1, xmmword [rsi - 0x18]
movups xmm2, xmmword [rsi - 8]
movups xmmword [r14 + 6], xmm0
movups xmmword [r14 + 0x16], xmm1
movups xmmword [r14 + 0x26], xmm2
mov al, byte [0x1401d2160]
mov edx, 0x420
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x1400bb3c4
mov r14, rax
lea rdx, [rsp + 0x430]
mov r8d, 0x398
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov byte [r14 + 0x398], r13b
mov al, byte [rsp + 0x38]
mov byte [r14 + 0x399], al
mov eax, dword [rsp + 0x330]
mov dword [r14 + 0x39a], eax
movzx eax, word [rsp + 0x334]
mov word [r14 + 0x39e], ax
mov qword [r14 + 0x3a0], r12
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movups xmmword [r14 + 0x3a8], xmm0
movups xmmword [r14 + 0x3b8], xmm1
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movups xmmword [r14 + 0x3d8], xmm1
movups xmmword [r14 + 0x3c8], xmm0
mov word [r14 + 0x3e8], di
mov rax, qword [rsp + 0x25e]
mov qword [r14 + 0x418], rax
movups xmm0, xmmword [rsp + 0x230]
movups xmm1, xmmword [rsp + 0x240]
movups xmm2, xmmword [rsp + 0x250]
movups xmmword [r14 + 0x3ea], xmm0
movups xmmword [r14 + 0x3fa], xmm1
movups xmmword [r14 + 0x40a], xmm2
lea rsi, [0x14018d8a8]
mov rax, r14
mov rdx, rsi
add rsp, 0x7c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x14018dc40]
mov rcx, rsi
call fcn.1400690e6
movups xmm0, xmmword [0x14018dc40]
movaps xmmword [rsp + 0x190], xmm0
lea rdx, [rsp + 0x258]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
mov r9, qword [rdx - 8]
lea r14, [rsp + 0x340]
mov rcx, r14
call qword [rax]
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [r14 - 0x10], xmm0
mov bpl, byte [r14 - 0x10]
mov r13b, byte [r14 - 0xf]
mov eax, dword [r14 - 0xe]
mov dword [rsp + 0x170], eax
movzx eax, word [r14 - 0xa]
mov word [rsp + 0x174], ax
mov rsi, qword [r14 - 8]
movaps xmm0, xmmword [r14]
movaps xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
lea rcx, [rsp + 0x230]
call fcn.140051de2
cmp bpl, 3
jne 0x1400bab66
jmp 0x1400bac8b
ud2
mov ecx, 8
mov edx, 0xa0
call fcn.140028610
mov ecx, 8
mov edx, 0x420
call fcn.140028610
int3