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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x20]
test rax, rax
jne 0x14005a52c
mov rcx, qword [rsi + 0x40]
test rcx, rcx
jne 0x14005a611
movabs r13, 0xfffffffe00000000
cmp byte [rsi + 0x60], 0
jne 0x14005a6e0
mov rdi, qword [rsi + 0xc8]
mov rbx, qword [rsi + 0xd0]
cmp rdi, rbx
jne 0x14005a6b1
test rdi, rdi
je 0x14005a4af
mov qword [rsi + 0xd0], rdi
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x14005a789
cmp rdi, rax
jne 0x14005a789
mov byte [rax + 0x50], 0
mov rdi, qword [rsi + 0x48]
test rdi, rdi
jne 0x14005a5d5
mov rdi, qword [rsi + 0x40]
test rdi, rdi
jne 0x14005a68a
mov rdi, qword [rsi + 0x28]
test rdi, rdi
jne 0x14005a5f3
mov rdi, qword [rsi + 0x20]
test rdi, rdi
jne 0x14005a580
mov rcx, qword [rsi + 0x18]
and r13, rcx
cmp r13, qword [0x14021af08]
je 0x14005a525
mov qword [rsi + 0x18], 0
mov rbx, qword [rsi]
test rbx, rbx
jne 0x14005a5a7
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14011fe20
nop
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400f23b0
jmp 0x14005a4f3
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x30]
cmp rbx, rdi
je 0x14005a44e
mov r15, qword [sym.imp.KERNEL32.dll_SetEvent]
mov r14, qword [rbx]
test r14, r14
je 0x14005a796
lock inc dword [r14 + 8]
mov rcx, qword [r14 + 0x30]
call r15
lock dec dword [r14 + 8]
je 0x14005a7a9
add rbx, 8
cmp rbx, rdi
je 0x14005a44e
jmp 0x14005a54e
lock dec dword [rdi + 8]
jne 0x14005a4e3
add rdi, 8
add rdi, 0xfffffffffffffff8
mov rcx, rdi
call fcn.140013830
mov rcx, rdi
call fcn.14011d780
jmp 0x14005a4e3
mov rdi, qword [rsi + 8]
mov rcx, rbx
cmp rdi, rbx
je 0x14005a5c7
add rdi, 0xfffffffffffffff0
mov rcx, rdi
call fcn.1400d6140
cmp rdi, rbx
jne 0x14005a5b3
mov rcx, qword [rsi]
mov qword [rsi + 8], rbx
call fcn.14011d780
jmp 0x14005a507
mov r15, qword [rsi + 0x50]
mov rcx, rdi
cmp r15, rdi
jne 0x14005a805
mov qword [rsi + 0x50], rdi
call fcn.14011d780
jmp 0x14005a4bc
mov r15, qword [rsi + 0x30]
mov rcx, rdi
cmp r15, rdi
jne 0x14005a841
mov qword [rsi + 0x30], rdi
call fcn.14011d780
jmp 0x14005a4d6
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0xa8]
call fcn.140017120
mov rcx, qword [rsi + 0x18]
cmp byte [rcx + 0x170], 0
jne 0x14005a7c6
mov rbx, qword [rsi + 0x48]
mov rdi, qword [rsi + 0x50]
cmp rbx, rdi
je 0x14005a45b
mov r14, qword [rbx]
test r14, r14
je 0x14005a650
lock inc dword [r14 + 8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0xa8]
mov rcx, r14
call fcn.140017120
mov rcx, qword [rsi + 0x18]
cmp byte [rcx + 0x170], 0
jne 0x14005a7d7
test r14, r14
je 0x14005a684
lock dec dword [r14 + 8]
je 0x14005a7e8
add rbx, 8
jmp 0x14005a63a
lock dec dword [rdi + 8]
jne 0x14005a4c9
add rdi, 8
add rdi, 0xfffffffffffffff8
mov rcx, rdi
call fcn.140013830
mov rcx, rdi
call fcn.14011d780
jmp 0x14005a4c9
mov rcx, qword [rdi]
mov edx, dword [rdi + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [0x14023a010]
add rdi, 0x10
cmp rdi, rbx
jne 0x14005a6b1
mov rdi, qword [rsi + 0xc8]
mov qword [rsi + 0xd0], rdi
jmp 0x14005a486
mov r12, qword [rsi + 0x18]
mov r15, qword [r12 + 0xa0]
mov r14, qword [r12 + 0xc0]
mov rax, r12
retf 0x4166
add dword [rbp + 0x31], eax
leave
add al, 0x81
add byte [rbp + 0x48], ah
mov eax, dword [0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
adc byte [rbp - 0x75], cl
sbb ecx, dword [rcx - 0x75]
push rbx
invalid
mov r11, qword [r11]
mov rdx, qword [r11 + 0x60]
test rdx, rdx
je 0x14005a7d8
test ecx, ecx
je 0x14005a820
movzx eax, word [rdx]
test ax, ax
je 0x14005a7d8
add rdx, 2
xor r8d, r8d
lea r10d, [rax - 0x41]
lea r9d, [rax + 0x20]
cmp r10w, 0x1a
cmovb eax, r9d
cmovb eax, ecx
add rdx, 2
movzx eax, ax
add r8d, eax
movzx eax, word [rdx - 2]
test ax, ax
jne 0x14005a7f7
cmp ecx, r8d
jne 0x14005a7d8
mov rax, qword [r11 + 0x30]
ret
dec dword [rbx - 0x76b78fb5]
invalid