Function at 0x4583cc
Capabilities:
Create thread

Disassembly:
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov r15d, r9d
mov edi, r8d
mov esi, edx
mov r13, rcx
lea r14, [rcx + 0x48]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0x60], r14
xor ebx, ebx
mov byte [r13 + 0x10], bl
lea rcx, [r13 + 0x20]
call fcn.0045cbb0
lea ecx, [rbx + 0x50]
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x45844a
mov r9, qword [rsp + 0x90]
mov r8d, r15d
mov edx, edi
mov rcx, rax
call fcn.0045d5b4
mov rdi, rax
jmp 0x45844d
mov rdi, rbx
mov dword [r13 + 8], esi
mov ebp, 1
cmp esi, ebx
je 0x4585af
sub esi, ebp
je 0x458581
sub esi, ebp
je 0x458553
sub esi, ebp
je 0x458506
sub esi, ebp
je 0x4584d5
cmp esi, ebp
je 0x4584a4
cmp rdi, rbx
je 0x458494
mov rcx, rdi
call fcn.0045d4a0
mov rcx, rdi
call fcn.00443d3c
nop
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
jmp 0x4586d4
mov ecx, 0x58
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x4584c2
mov rcx, rax
call fcn.0046a530
jmp 0x4584c5
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
jmp 0x4585db
mov ecx, 0x8b8
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x4584f3
mov rcx, rax
call fcn.0046a1b0
jmp 0x4584f6
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
jmp 0x4585db
mov ecx, 0x30
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x458540
lea rcx, vtable.CVSSWParameterTool.0
mov qword [rax], rcx
lea rcx, vtable.CVSSWSimpleTool.0
mov qword [rax], rcx
mov qword [rax + 0x28], 7
mov qword [rax + 0x20], rbx
mov word [rax + 0x10], bx
jmp 0x458543
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
jmp 0x4585db
mov ecx, 8
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x458571
mov rcx, rax
call fcn.00469878
jmp 0x458574
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
jmp 0x4585db
mov ecx, 0x58
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x45859f
mov rcx, rax
call fcn.004690a0
jmp 0x4585a2
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
jmp 0x4585db
mov ecx, 0x8b8
call fcn.004443a8
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x4585cd
mov rcx, rax
call fcn.00468da0
jmp 0x4585d0
mov rax, rbx
mov rdx, rax
mov rcx, rdi
call fcn.0045d458
mov rcx, qword [r13 + 0x80]
mov r12d, dword [rsp + 0x88]
cmp rcx, rbx
je 0x4585fe
cmp r12d, 2
je 0x4585fe
mov rax, qword [rcx]
mov edx, r15d
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x80], bl
je 0x45868e
mov byte [r13 + 0x11], bl
mov ecx, 0x40
call fcn.004443a8
mov rsi, rax
mov qword [rsp + 0x28], rax
cmp rax, rbx
je 0x458638
mov qword [rax + 0x38], 7
mov qword [rax + 0x30], rbx
mov word [rax + 0x20], bx
jmp 0x45863b
mov rsi, rbx
cmp rsi, rbx
jne 0x458658
cmp rdi, rbx
je 0x458656
mov rcx, rdi
call fcn.0045d4a0
mov rcx, rdi
call fcn.00443d3c
nop
jmp 0x4586c9
mov qword [rsi], rdi
mov qword [rsi + 8], r13
mov dword [rsi + 0x10], r12d
lea rcx, [rsi + 0x18]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, qword [rsp + 0x90]
call fcn.004020b0
mov r8, rsi
xor edx, edx
lea rcx, [0x00458328]
call fcn.0046ff64
jmp 0x4586c6
mov r9, qword [rsp + 0x90]
mov r8d, r12d
mov rdx, rdi
mov rcx, r13
call fcn.00457bd0
mov bpl, al
lea rcx, [r13 + 0x20]
call fcn.0045cbf0
cmp rdi, rbx
je 0x4586c6
mov rcx, rdi
call fcn.0045d4a0
mov rcx, rdi
call fcn.00443d3c
nop
mov bl, bpl
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, bl
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret