Function at 0x14009736d
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, 0xb68
mov rdi, rdx
mov rsi, rcx
mov dl, byte [rdx + 0xb8]
movzx ecx, byte [rdi + 0xd8]
cmp rcx, 1
je 0x1400973bc
cmp ecx, 2
je 0x1400973d2
cmp ecx, 3
jne 0x1400973ac
cmp byte [rsi + 0xc2], 0
jne 0x1400973d2
call fcn.1400447fa
mov rsi, rax
mov rbx, rdx
jmp 0x14009761e
cmp dl, 7
jne 0x1400973d2
mov cl, 1
mov dl, 5
call fcn.140040858
mov rbx, rax
jmp 0x1400975ee
movzx eax, byte [rdi + 0x60]
test rax, rax
mov byte [rsp + 0x38], dl
je 0x1400973f0
cmp eax, 1
jne 0x1400973f8
mov bpl, byte [rdi + 0x61]
mov r13b, 1
xor r12d, r12d
jmp 0x1400973f6
xor r13d, r13d
mov r12b, 1
jmp 0x140097437
call fcn.140042b78
mov rbx, rax
mov rax, qword [rdi + 0x68]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea r14, [rsp + 0x740]
mov rcx, r14
call qword [r10]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov r13b, 2
xor r12d, r12d
lea rdx, [rdi + 0x88]
mov rax, qword [rdi + 0x70]
mov r8, qword [rdi + 0x78]
mov r9, qword [rdi + 0x80]
lea r14, [rsp + 0x330]
mov rcx, r14
call qword [rax]
lea rdx, [rdi + 0xa8]
mov rax, qword [rdi + 0x90]
mov r8, qword [rdi + 0x98]
mov r9, qword [rdi + 0xa0]
lea r15, [rsp + 0x740]
mov rcx, r15
call qword [rax]
movzx eax, word [rdi + 0xb0]
mov word [r15 + 0x20], ax
mov byte [r14 - 0x10], r13b
mov byte [r14 - 0xf], bpl
mov qword [r14 - 8], rbx
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm1
mov rax, qword [r15 + 0x20]
mov qword [r14 + 0x40], rax
mov r14, qword [r14 + 0x10]
test r12b, r12b
je 0x140097517
test r14, r14
je 0x14009753d
cmp byte [rsp + 0x38], 7
jne 0x14009753d
lea rbx, [rdi + 0x60]
mov rdx, qword [rsp + 0x338]
lea r15, [rsp + 0x740]
mov rcx, r15
mov r8, r14
call fcn.14003e17b
cmp qword [r15], 0
je 0x14009755b
movzx eax, word [rsp + 0x750]
cmp eax, 0x1bb
jne 0x14009755b
lea rdx, [0x14015bcf0]
mov rcx, rbx
call fcn.140044ad8
movaps xmm0, xmmword [0x140103a70]
jmp 0x140097571
test r14, r14
je 0x14009753d
mov r12d, ebp
test r13b, r13b
je 0x14009763a
movzx eax, r13b
cmp eax, 1
jne 0x14009763e
mov bpl, 1
jmp 0x14009763c
mov cl, 1
mov dl, 7
call fcn.140040858
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400407d8
jmp 0x1400975ee
lea rdx, [0x14015bce0]
mov rcx, rbx
call fcn.140044ad8
movups xmm0, xmmword [0x14015bce0]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x90]
lea rbx, [rsp + 0x750]
movaps xmmword [rbx - 0x10], xmm0
lea rdx, [rsp + 0x348]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
mov r9, qword [rdx - 8]
mov rcx, rbx
call qword [rax]
movaps xmm0, xmmword [rbx - 0x10]
movaps xmm1, xmmword [rbx]
movaps xmm2, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x210], xmm2
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
mov bl, byte [rsp + 0x1f0]
lea rcx, [rsp + 0x320]
call fcn.1400407d8
cmp bl, 3
jne 0x1400976c4
mov rbx, qword [rsp + 0x1f8]
mov al, byte [0x14019e160]
mov edx, 0xa0
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x140097d27
mov rsi, rax
mov qword [rax], 3
mov qword [rax + 8], rbx
lea rbx, str.1_a_n_
mov rcx, rdi
call fcn.140052e20
add rdi, 0xe0
mov rcx, rdi
call fcn.140052e72
jmp 0x140097d0b
xor ebp, ebp
jmp 0x140097675
call fcn.140042b78
mov r15, rax
lea rdx, [rbx + 0x18]
mov rax, qword [rbx]
mov r8, qword [rbx + 8]
mov r9, qword [rbx + 0x10]
lea rbx, [rsp + 0x740]
mov rcx, rbx
call qword [rax]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
mov bpl, 2
lea rdx, [rsp + 0x348]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
lea rbx, [rsp + 0x200]
mov rcx, rbx
mov r9, r14
call qword [rax]
movzx eax, word [rsp + 0x744]
mov word [rbx - 0xa], ax
mov eax, dword [rsp + 0x740]
mov dword [rbx - 0xe], eax
mov byte [rbx - 0x10], bpl
mov byte [rbx - 0xf], r12b
mov qword [rbx - 8], r15
lea rcx, [rsp + 0x320]
call fcn.1400407d8
lea rcx, [rsp + 0x1f0]
movaps xmm0, xmmword [rcx]
movaps xmm1, xmmword [rcx + 0x10]
movaps xmm2, xmmword [rcx + 0x20]
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x160], xmm0
mov r8d, 0x100
mov rdx, rdi
call sub.msvcrt.dll_memcpy
movzx ebp, word [rsi + 0xc0]
movzx edi, byte [rsi + 0xc2]
mov r15, qword [rsi + 0x30]
test r15, r15
je 0x140097724
lock inc qword [r15]
jle 0x140097d25
mov r14, qword [rsi + 0x38]
jmp 0x140097724
mov al, byte [rsi + 0x42]
mov byte [rsp + 0x37], al
mov r12b, byte [rsi + 0x40]
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x18]
mov bl, byte [rsi + 0x41]
mov al, byte [rsi + 0x2c]
mov r10d, dword [rsi + 0x20]
mov r11d, dword [rsi + 0x24]
mov r13d, dword [rsi + 0x28]
mov dword [rsp + 0x38], r13d
mov r13, qword [rsi + 0x68]
lock inc qword [r13]
jle 0x140097d25
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x44], r10d
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov byte [rsp + 0x36], al
cmp qword [rsi + 0x48], 0
je 0x1400977ad
mov rcx, qword [rsi + 0x50]
call sub.crypt32.dll_CertDuplicateCertificateContext
mov qword [rsp + 0x50], rax
mov eax, 1
mov qword [rsp + 0x48], rax
jmp 0x1400977b4
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsi + 0x58]
call sub.crypt32.dll_CertDuplicateStore
mov cl, byte [rsi + 0x64]
mov dl, byte [rsi + 0x65]
mov r8b, byte [rsi + 0x60]
mov byte [rsp + 0x35], r8b
mov r8b, byte [rsi + 0x61]
mov byte [rsp + 0x34], r8b
mov r8b, byte [rsi + 0x62]
mov byte [rsp + 0x33], r8b
mov r8b, byte [rsi + 0x63]
mov byte [rsp + 0x32], r8b
mov r8, qword [rsi + 0xa8]
lock inc qword [r8]
jle 0x140097d25
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x2e], dl
mov byte [rsp + 0x2f], cl
mov qword [rsp + 0x68], r8
mov al, byte [rsi + 0xb0]
mov byte [rsp + 0x31], al
mov eax, dword [rsi + 0x78]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsi + 0x70]
mov qword [rsp + 0x58], rax
mov al, byte [rsi + 0xb1]
mov byte [rsp + 0x30], al
mov al, 2
cmp byte [rsi + 0xa0], 2
je 0x1400978b7
lea rdx, [rsi + 0x98]
mov rax, qword [rsi + 0x80]
mov r8, qword [rsi + 0x88]
mov r9, qword [rsi + 0x90]
mov byte [rsp + 0x2d], bl
mov ebx, r12d
mov r12, r15
mov r15, r13
mov r13, r14
lea r14, [rsp + 0x320]
mov rcx, r14
call qword [rax]
mov al, byte [rsi + 0xa0]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x750], xmm1
movaps xmmword [rsp + 0x740], xmm0
mov ecx, dword [r14 + 0x21]
mov dword [rsp + 0x90], ecx
mov ecx, dword [r14 + 0x24]
mov r14, r13
mov r13, r15
mov r15, r12
mov r12d, ebx
mov bl, byte [rsp + 0x2d]
mov dword [rsp + 0x93], ecx
movaps xmm0, xmmword [rsp + 0x740]
movaps xmm1, xmmword [rsp + 0x750]
movups xmmword [rsp + 0x334], xmm1
movups xmmword [rsp + 0x324], xmm0
mov ecx, dword [rsp + 0x90]
mov edx, dword [rsp + 0x93]
mov dword [rsp + 0x198], ecx
mov dword [rsp + 0x19b], edx
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
mov r9, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x40]
je 0x14009791b
lock inc qword [rcx]
jle 0x140097d25
shl edi, 0x10
or ebp, edi
xor edx, edx
mov r8b, byte [rsp + 0x37]
test r8b, r8b
setne dl
cmp r8b, 2
mov r8d, 2
cmovne r8d, edx
mov word [rsp + 0x150], bp
shr ebp, 0x10
mov byte [rsp + 0x152], bpl
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], r9
mov dword [rsp + 0xb0], r10d
mov dword [rsp + 0xb4], r11d
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0xb8], edx
mov dl, byte [rsp + 0x36]
mov byte [rsp + 0xbc], dl
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r14
mov byte [rsp + 0xd0], r12b
mov byte [rsp + 0xd1], bl
mov byte [rsp + 0xd2], r8b
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xe8], rdx
mov dl, byte [rsp + 0x35]
mov byte [rsp + 0xf0], dl
mov dl, byte [rsp + 0x34]
mov byte [rsp + 0xf1], dl
mov dl, byte [rsp + 0x33]
mov byte [rsp + 0xf2], dl
mov dl, byte [rsp + 0x32]
mov byte [rsp + 0xf3], dl
mov dl, byte [rsp + 0x2f]
mov byte [rsp + 0xf4], dl
mov dl, byte [rsp + 0x2e]
mov byte [rsp + 0xf5], dl
mov qword [rsp + 0xf8], r13
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x100], rdx
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x108], edx
mov edx, dword [rsp + 0x340]
mov dword [rsp + 0x12c], edx
movups xmm0, xmmword [rsp + 0x320]
movups xmm1, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x11c], xmm1
movups xmmword [rsp + 0x10c], xmm0
mov byte [rsp + 0x130], al
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0x131], eax
mov eax, dword [rsp + 0x19b]
mov dword [rsp + 0x134], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x138], rax
mov al, byte [rsp + 0x31]
mov byte [rsp + 0x140], al
mov al, byte [rsp + 0x30]
mov byte [rsp + 0x141], al
mov qword [rsp + 0x148], rcx
movzx eax, byte [rsp + 0x250]
test rax, rax
je 0x140097af1
cmp eax, 1
jne 0x140097af5
mov bpl, 1
mov r15b, byte [rsp + 0x251]
jmp 0x140097af3
xor ebp, ebp
jmp 0x140097b33
call fcn.140042b78
mov rsi, rax
mov rax, qword [rsp + 0x258]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rdi, [rsp + 0x320]
mov rcx, rdi
call qword [r10]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov bpl, 2
lea rdx, [rsp + 0x278]
mov rax, qword [rdx - 0x18]
mov r8, qword [rdx - 0x10]
mov r9, qword [rdx - 8]
lea rdi, [rsp + 0x1a8]
mov rcx, rdi
call qword [rax]
lea rbx, [rsp + 0x298]
mov rax, qword [rbx - 0x18]
mov r8, qword [rbx - 0x10]
mov r9, qword [rbx - 8]
lea r14, [rsp + 0x320]
mov rcx, r14
mov rdx, rbx
call qword [rax]
movzx eax, word [rbx + 8]
mov word [r14 + 0x20], ax
mov byte [rdi - 0x10], bpl
mov byte [rdi - 0xf], r15b
mov qword [rdi - 8], rsi
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm1
mov rax, qword [r14 + 0x20]
mov qword [rdi + 0x40], rax
lea rcx, [rsp + 0x740]
lea rdx, [rsp + 0x1f0]
mov r8d, 0x100
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0x160]
test rax, rax
je 0x140097bde
cmp eax, 1
jne 0x140097be2
mov al, 1
mov dl, byte [rsp + 0x161]
jmp 0x140097be0
xor eax, eax
jmp 0x140097c1f
call fcn.140042b78
mov rsi, rax
mov rax, qword [rsp + 0x168]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rdi, [rsp + 0x320]
mov rcx, rdi
call qword [r10]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov al, 2
lea rcx, [rsp + 0x300]
mov byte [rcx - 0x10], al
mov byte [rcx - 0xf], dl
mov qword [rcx - 8], rsi
lea rbx, [rsp + 0x188]
mov rax, qword [rbx - 0x18]
mov r8, qword [rbx - 0x10]
mov r9, qword [rbx - 8]
mov rdx, rbx
call qword [rax]
lea rcx, [rsp + 0x3e8]
lea rsi, [rsp + 0x90]
lea r8, [rsp + 0x740]
lea r9, [rsp + 0x2f0]
mov rdx, rsi
call fcn.14009fc0c
lea r14, [rsp + 0x320]
mov r8d, 0xc8
mov rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea rax, [rsp + 0x6b8]
lea rsi, [rsp + 0x198]
mov ecx, 0xb
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
movaps xmm0, xmmword [rbx - 0x28]
movaps xmm1, xmmword [rbx - 0x18]
movaps xmm2, xmmword [rbx - 8]
movups xmmword [rax + 0x78], xmm2
movups xmmword [rax + 0x68], xmm1
movups xmmword [rax + 0x58], xmm0
lea rcx, [rsp + 0x740]
mov r8d, 0x420
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov al, byte [0x14019e160]
mov edx, 0x420
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x140097d36
mov rsi, rax
lea rdx, [rsp + 0x740]
mov r8d, 0x420
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rbx, [0x14015b960]
mov rax, rsi
mov rdx, rbx
add rsp, 0xb68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov ecx, 8
mov edx, 0xa0
call fcn.140011cc0
mov ecx, 8
mov edx, 0x420
call fcn.140011cc0
int3