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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x600]
sub rsp, 0x700
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rbp + 0x5e0], rax
cmp dword [0x140a04560], 0
mov ebx, r9d
mov r12, qword [rdx]
mov edi, r8d
mov dword [rsp + 0x20], r8d
mov rsi, rdx
mov qword [rsp + 0x28], rdx
mov r15, rcx
mov r13d, 1
je 0x1400b041d
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b03fd
lea rdx, str.Adding_a_CA
mov ecx, r13d
call rax
jmp 0x1400b041d
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.Adding_a_CA
lea rdx, [0x140998764]
call fcn.1400af550
test r15, r15
jne 0x1400b0483
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400b0479
cmp dword [rcx + 0x14], r13d
jne 0x1400b044c
mov eax, dword [rcx + 0x10]
mov rdx, qword [rcx]
test eax, eax
je 0x1400b044c
nop word [rax + rax]
mov byte [rdx], 0
lea rdx, [rdx + 1]
add eax, 0xffffffff
jne 0x1400b0440
mov rax, qword [0x140a04568]
xor r13d, r13d
mov qword [rcx], r13
mov dword [rcx + 0x10], r13d
test rax, rax
je 0x1400b0471
call rax
mov eax, 0xffffff53
mov qword [rsi], r13
jmp 0x1400b0c2f
call fcn.14017d748
mov qword [rsi], r13
mov eax, 0xffffff53
jmp 0x1400b0c2f
mov r9, qword [r15 + 0x58]
lea rcx, [rsp + 0x30]
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12]
mov qword [rsp + 0x6f8], r14
call fcn.1400d1420
mov r9, r15
lea rcx, [rsp + 0x30]
mov r8d, ebx
call fcn.1400d6cb0
cmp dword [0x140a04560], 0
mov r14d, eax
je 0x1400b04f8
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b04d8
lea rdx, str._tParsed_new_CA
mov ecx, r13d
call rax
jmp 0x1400b04f8
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tParsed_new_CA
lea rdx, [0x140998764]
call fcn.1400af550
xor r13d, r13d
test ebx, ebx
je 0x1400b055e
mov eax, dword [rsp + 0x50]
sub eax, 0x206
je 0x1400b062a
cmp eax, 0x7f
je 0x1400b05bc
cmp dword [0x140a04560], r13d
je 0x1400b055e
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b053e
mov ebx, 1
lea rdx, str._tNo_key_size_check_done_on_CA
mov ecx, ebx
call rax
jmp 0x1400b0563
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tNo_key_size_check_done_on_CA
lea rdx, [0x140998764]
call fcn.1400af550
mov ebx, 1
test r14d, r14d
jne 0x1400b091b
movzx eax, byte [rbp + 0x5d0]
shr al, 4
and al, 1
cmp edi, 1
je 0x1400b0717
test al, al
jne 0x1400b06c7
cmp dword [0x140a04560], r13d
je 0x1400b06bc
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b069c
lea rdx, str._tCant_add_as_CA_if_not_actually_one
mov ecx, ebx
call rax
mov r14d, 0xfffffe9b
jmp 0x1400b091b
movzx eax, word [r15 + 0xd8]
test ax, ax
js 0x1400b05cf
cmp dword [rsp + 0x38], eax
jae 0x1400b055e
cmp dword [0x140a04560], r13d
mov r14d, 0xfffffe67
je 0x1400b0774
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0605
mov r15d, 1
lea rdx, str._tCA_RSA_key_size_error
mov ecx, r15d
call rax
jmp 0x1400b0921
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tCA_RSA_key_size_error
lea rdx, [0x140998764]
call fcn.1400af550
jmp 0x1400b091b
movzx eax, word [r15 + 0xda]
test ax, ax
js 0x1400b0641
cmp dword [rsp + 0x38], eax
jae 0x1400b055e
cmp dword [0x140a04560], r13d
mov r14d, 0xfffffe66
je 0x1400b0774
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0677
mov r15d, 1
lea rdx, str._tCA_ECC_key_size_error
mov ecx, r15d
call rax
jmp 0x1400b0921
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tCA_ECC_key_size_error
lea rdx, [0x140998764]
call fcn.1400af550
jmp 0x1400b091b
mov ecx, 2
call fcn.14017cf98
lea r8, str._tCant_add_as_CA_if_not_actually_one
mov rcx, rax
lea rdx, [0x140998764]
call fcn.1400af550
mov r14d, 0xfffffe9b
jmp 0x1400b091b
test byte [rbp + 0x5d1], 0x40
jne 0x1400b0717
test byte [rbp + 0x2ae], 4
jne 0x1400b0717
cmp dword [0x140a04560], r13d
je 0x1400b06bc
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0704
lea rdx, str._tDoesnt_have_key_usage_certificate_signing
mov ecx, ebx
call rax
mov r14d, 0xfffffe9b
jmp 0x1400b091b
mov ecx, 2
call fcn.14017cf98
lea r8, str._tDoesnt_have_key_usage_certificate_signing
jmp 0x1400b06ad
lea rdx, [rbp + 0x284]
mov rcx, r15
call fcn.1400b0110
test eax, eax
je 0x1400b077f
cmp dword [0x140a04560], r13d
je 0x1400b0774
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b074f
lea rdx, str._tAlready_have_this_CA__not_adding_again
mov ecx, ebx
call rax
jmp 0x1400b091b
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tAlready_have_this_CA__not_adding_again
lea rdx, [0x140998764]
call fcn.1400af550
jmp 0x1400b091b
mov r15d, 1
jmp 0x1400b0964
mov rax, qword [0x140a04578]
mov ecx, 0x68
test rax, rax
je 0x1400b0794
call rax
jmp 0x1400b0799
call fcn.140182c38
mov rsi, rax
test rax, rax
je 0x1400b0910
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x50], xmm0
mov qword [rsi + 0x60], rax
mov eax, dword [rsp + 0x50]
mov dword [rsi + 4], eax
cmp dword [rsp + 0x3c], r13d
je 0x1400b07e2
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
test byte [rbp + 0x5d0], 1
je 0x1400b07f9
mov eax, dword [rbp - 0x50]
mov dword [rsi + 0x18], eax
mov rax, qword [rbp - 0x58]
mov qword [rsi + 0x20], rax
movzx eax, byte [rbp + 0x2ac]
mov byte [rsi + 0xb], al
movzx eax, byte [rbp + 0x2ad]
mov byte [rsi + 0xa], al
movzx ecx, byte [rbp + 0x5d0]
shr cl, 5
xor cl, byte [rsi + 0xc]
and cl, 1
xor cl, byte [rsi + 0xc]
mov byte [rsi + 0xc], cl
movzx eax, byte [rbp + 0x5d1]
shr al, 5
xor al, cl
and al, 2
xor al, cl
mov byte [rsi + 0xc], al
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [rbp + 0x284]
movups xmmword [rsi + 0x4c], xmm0
mov eax, dword [rbp + 0x294]
mov dword [rsi + 0x5c], eax
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsi + 0x38], xmm0
mov eax, dword [rbp - 0x78]
mov dword [rsi + 0x48], eax
test byte [rbp + 0x5d0], 0x80
movzx eax, word [rbp + 0x2ae]
jne 0x1400b0880
mov eax, 0xffff
mov word [rsi + 8], ax
lea rcx, [r15 + 0xa8]
mov qword [rsi + 0x60], r13
mov qword [rsp + 0x30], r13
mov qword [rbp - 0x58], r13
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
movzx eax, byte [rsi + 0x4d]
movzx edi, byte [rsi + 0x4c]
shl edi, 8
or edi, eax
movzx eax, byte [rsi + 0x4e]
shl eax, 8
shl edi, 0x10
or edi, eax
movzx eax, byte [rsi + 0x4f]
or edi, eax
mov eax, 0xba2e8ba3
mul edi
shr edx, 3
imul eax, edx, 0xb
sub edi, eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [r15 + rdi*8]
lea rdx, [r15 + rdi*8]
mov qword [rsi + 0x60], rax
lea rcx, [r15 + 0xa8]
mov qword [rdx], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [r15 + 0x88]
test rax, rax
je 0x1400b0916
mov r8d, dword [rsp + 0x20]
mov edx, dword [r12 + 0x10]
mov rcx, qword [r12]
call rax
jmp 0x1400b0916
mov r14d, 0xfffffed1
mov rsi, qword [rsp + 0x28]
mov r15d, 1
cmp dword [0x140a04560], r13d
je 0x1400b0964
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0944
lea rdx, str._tFreeing_Parsed_CA
mov ecx, r15d
call rax
jmp 0x1400b0964
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tFreeing_Parsed_CA
lea rdx, [0x140998764]
call fcn.1400af550
test byte [rbp + 0x5d0], 1
je 0x1400b098b
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400b098b
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0986
call rax
jmp 0x1400b098b
call fcn.14017d748
cmp dword [rsp + 0x3c], 1
jne 0x1400b09b1
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400b09b1
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b09ac
call rax
jmp 0x1400b09b1
call fcn.14017d748
test byte [rbp + 0x5d0], 0x40
je 0x1400b0a05
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x1400b0a05
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400b09e5
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b09e0
call rax
jmp 0x1400b09e5
call fcn.14017d748
mov rax, qword [0x140a04568]
mov rcx, rbx
test rax, rax
je 0x1400b09f8
call rax
jmp 0x1400b09fd
call fcn.14017d748
mov rbx, rdi
test rdi, rdi
jne 0x1400b09c4
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400b0a51
nop
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400b0a31
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0a2c
call rax
jmp 0x1400b0a31
call fcn.14017d748
mov rax, qword [0x140a04568]
mov rcx, rbx
test rax, rax
je 0x1400b0a44
call rax
jmp 0x1400b0a49
call fcn.14017d748
mov rbx, rdi
test rdi, rdi
jne 0x1400b0a10
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400b0aa1
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400b0a81
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0a7c
call rax
jmp 0x1400b0a81
call fcn.14017d748
mov rax, qword [0x140a04568]
mov rcx, rbx
test rax, rax
je 0x1400b0a94
call rax
jmp 0x1400b0a99
call fcn.14017d748
mov rbx, rdi
test rdi, rdi
jne 0x1400b0a60
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1400b0af1
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400b0ad1
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0acc
call rax
jmp 0x1400b0ad1
call fcn.14017d748
mov rax, qword [0x140a04568]
mov rcx, rbx
test rax, rax
je 0x1400b0ae4
call rax
jmp 0x1400b0ae9
call fcn.14017d748
mov rbx, rdi
test rdi, rdi
jne 0x1400b0ab0
mov rcx, qword [rbp + 0x318]
test rcx, rcx
je 0x1400b0b12
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0b0d
call rax
jmp 0x1400b0b12
call fcn.14017d748
mov rcx, qword [rbp + 0x448]
test rcx, rcx
je 0x1400b0b33
mov rax, qword [0x140a04568]
test rax, rax
je 0x1400b0b2e
call rax
jmp 0x1400b0b33
call fcn.14017d748
lea rcx, [rbp + 0x580]
call fcn.1400d3fd0
cmp dword [0x140a04560], r13d
je 0x1400b0b82
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0b62
lea rdx, str._tFreeing_der_CA
mov ecx, r15d
call rax
jmp 0x1400b0b82
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._tFreeing_der_CA
lea rdx, [0x140998764]
call fcn.1400af550
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400b0bcb
cmp dword [rcx + 0x14], 1
jne 0x1400b0bac
mov eax, dword [rcx + 0x10]
mov rdx, qword [rcx]
test eax, eax
je 0x1400b0bac
nop word [rax + rax]
mov byte [rdx], r13b
lea rdx, [rdx + 1]
add eax, 0xffffffff
jne 0x1400b0ba0
mov rax, qword [0x140a04568]
mov qword [rcx], r13
mov dword [rcx + 0x10], r13d
test rax, rax
je 0x1400b0bc3
call rax
jmp 0x1400b0bc8
call fcn.14017d748
mov qword [rsi], r13
cmp dword [0x140a04560], r13d
je 0x1400b0c0e
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400b0bee
lea rdx, str._t_tOK_Freeing_der_CA
mov ecx, r15d
call rax
jmp 0x1400b0c0e
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str._t_tOK_Freeing_der_CA
lea rdx, [0x140998764]
call fcn.1400af550
mov edx, r14d
lea rcx, str.AddCA
call fcn.1400ee1b0
test r14d, r14d
cmove r14d, r15d
mov eax, r14d
mov r14, qword [rsp + 0x6f8]
mov rcx, qword [rbp + 0x5e0]
xor rcx, rsp
call fcn.140167e90
add rsp, 0x700
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret