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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1401ff978]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r12, r9
mov r15, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rcx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
call sym.RstMwService.exe_public:_void___cdecl_CConsolidatedError::constructor_void____ptr64
mov r14d, 1
mov dword [rsp + 0x20], r14d
xor edx, edx
mov r8d, 0xb0
lea rcx, [rbp - 0x60]
call fcn.140119b60
lea rax, [rbp - 0x60]
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r12 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r12 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r12 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r12 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r12 + 0x60], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [r12 + 0x70], xmm0
movups xmm1, xmmword [rax + 0x80]
movups xmmword [r12 + 0x80], xmm1
movups xmm0, xmmword [rax + 0x90]
movups xmmword [r12 + 0x90], xmm0
movups xmm1, xmmword [rax + 0xa0]
movups xmmword [r12 + 0xa0], xmm1
mov rax, qword [r15]
mov ecx, dword [rax + 0x5c]
mov dword [r12], ecx
mov rax, qword [rdi]
mov ecx, dword [rax + 0x244]
mov dword [r12 + 0x58], ecx
mov rcx, qword [r15]
call fcn.140045ce0
mov byte [r12 + 0x80], al
xor eax, eax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x50]
mov rcx, qword [rdi]
call fcn.140092290
nop
mov rcx, qword [rbp + 0x50]
test rcx, rcx
sete al
xor al, r14b
je 0x140045885
mov ecx, dword [rcx + 0x5c]
mov rax, qword [r15]
cmp ecx, dword [rax + 0x5c]
sete al
mov byte [r12 + 0x66], al
mov rcx, qword [r15]
call fcn.14008c980
test rax, rax
je 0x140045a88
mov rcx, qword [r15]
call fcn.14008c960
test rax, rax
je 0x140045a88
mov rcx, qword [r15]
call fcn.14008c980
mov qword [rsp + 0x30], rax
mov rcx, qword [r15]
call fcn.14008c960
mov qword [rsp + 0x28], rax
mov rcx, qword [r15]
call fcn.14008c980
mov rcx, rax
mov r8d, 0x11
lea rdx, [r12 + 0xc]
call fcn.140076820
mov rcx, qword [r15]
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x1400458ec
mov r13d, dword [rdx + 0xc]
mov dword [r12 + 4], r13d
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x60]
mov dword [r12 + 8], ecx
mov rcx, r15
call fcn.140045fa0
mov dword [r12 + 0x3c], eax
mov rcx, qword [r15]
call fcn.14008c980
test dword [rax + 0x6c], 0x100
jne 0x140045931
mov rcx, qword [r15]
call fcn.14008c980
cmp dword [rax + 0x68], 1
je 0x140045931
mov al, 1
jmp 0x140045933
xor eax, eax
mov byte [r12 + 0x42], al
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x1c]
mov dword [r12 + 0x4c], ecx
mov rcx, qword [r15]
call fcn.14008c980
cmp dword [rax + 0x54], 0
setne al
mov byte [r12 + 0x41], al
mov rcx, qword [r15]
call fcn.14008c960
imul ecx, dword [rax + 0x6c], 0x68db8
mov dword [r12 + 0x38], ecx
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x28]
mov dword [r12 + 0x34], ecx
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x74]
mov dword [r12 + 0x50], ecx
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x24]
shr ecx, 1
mov dword [r12 + 0x30], ecx
mov rcx, qword [r15]
call fcn.14008c970
mov ecx, dword [rax + 0x10]
and cl, 1
mov byte [r12 + 0x40], cl
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x20]
shl rcx, 0x14
mov qword [r12 + 0x28], rcx
mov rcx, qword [r15]
call fcn.14008c960
mov ecx, dword [rax + 0x9c]
mov dword [r12 + 0x48], ecx
mov rcx, qword [r15]
call fcn.14008c960
mov ecx, dword [rax + 0x98]
mov dword [r12 + 0x44], ecx
mov r8, r12
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.140045da0
nop
mov rdx, rax
mov rcx, rsi
call sym.RstMwService.exe_public:_class_CConsolidatedError____ptr64___cdecl_CConsolidatedError::operator_class_CConsolidatedError_const____ptr64____ptr64
nop
lea rcx, [rsp + 0x78]
call sym.RstMwService.exe_public:_void___cdecl_CConsolidatedError::destructor_void____ptr64
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x70]
mov dword [r12 + 0x60], eax
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx]
shr eax, 8
movzx eax, al
mov dword [r12 + 0x84], eax
cmp dword [rcx + 0x8c], 0
setne al
mov byte [r12 + 0x88], al
mov eax, dword [rcx + 0x6c]
mov dword [r12 + 0x8c], eax
mov eax, dword [rcx + 0xa4]
mov dword [r12 + 0x90], eax
mov eax, dword [rcx + 0xa8]
mov dword [r12 + 0x94], eax
mov rcx, qword [r15]
call fcn.14008c980
mov ecx, dword [rax + 0x6c]
shr ecx, 0xf
and cl, 1
mov byte [r12 + 0x69], cl
mov word [r12 + 0x64], 0
mov byte [r12 + 0x67], 0
mov rax, qword [rdi]
mov rdx, qword [rax + 0xa0]
mov qword [rsp + 0x40], rdx
or r13d, 0xffffffff
test rdx, rdx
je 0x140045c0d
mov rax, qword [r15]
mov ecx, dword [rax + 0x30]
cmp dword [rdx + 0x18], ecx
sete al
mov byte [r12 + 0x65], al
mov rax, qword [r15]
mov ecx, dword [rax + 0x30]
cmp dword [rdx + 0x14], ecx
sete al
mov byte [r12 + 0x64], al
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov qword [rsp + 0x28], rbx
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x38], rax
cmp rbx, rax
je 0x140045c0d
nop dword [rax]
nop word [rax + rax]
mov rdi, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x140045b1f
lock inc dword [rdi + 8]
mov rbx, qword [rsp + 0x28]
mov r14d, dword [rsp + 0x20]
lea rdx, [rsp + 0x68]
mov rcx, qword [r15]
call fcn.140045c80
mov rsi, rax
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
call fcn.140045c80
or r14d, 6
mov rcx, qword [rsi]
cmp qword [rax], rcx
jne 0x140045b69
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x30]
mov rax, qword [r15]
cmp ecx, dword [rax + 0x30]
je 0x140045b69
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x14], ecx
jne 0x140045b69
mov sil, 1
jmp 0x140045b6c
xor sil, sil
and r14d, 0xfffffffb
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140045b7f
call fcn.140035350
and r14d, 0xfffffffd
mov dword [rsp + 0x20], r14d
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140045b97
call fcn.140035350
test sil, sil
je 0x140045ba2
mov byte [r12 + 0x67], 1
test rdi, rdi
je 0x140045bf4
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140045bea
mov rax, qword [rdi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [fcn.140007f30]
mov rcx, rdi
call rbx
mov eax, r13d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140045bea
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140007f30]
mov rcx, rdi
call rbx
mov r14d, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
add rbx, 0x10
mov qword [rsp + 0x28], rbx
cmp rbx, qword [rsp + 0x38]
jne 0x140045b00
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x58]
test rdi, rdi
je 0x140045c58
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140045c58
mov rax, qword [rdi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [fcn.140007f30]
mov rcx, rdi
call rbx
lock xadd dword [rdi + 0xc], r13d
cmp r13d, 1
jne 0x140045c58
mov rdx, qword [rdi]
mov rbx, qword [rdx + 8]
mov rcx, rbx
call qword [fcn.140007f30]
mov rcx, rdi
call rbx
mov rax, rsi
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400f84a0
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret