Function at 0x1800145f0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov r13d, edx
lea esi, [rdx + 0xb]
mov r10, r9
mov r14, r8
xor r9d, r9d
mov r15d, edx
mov r8, rcx
lea edx, [r9 + 0x70]
cmp r13d, esi
jae 0x1800149ce
lea r12d, [r13 - 0xd3]
movabs rbx, 0x6666666666666667
lea rdx, [0x180000000]
lea edi, [r9 + 0x44]
lea r11d, [r9 + 0x65]
nop dword [rax + rax]
cmp r12d, 0x31
ja case.0x18001467d.11
movzx eax, byte [rdx + r12 + 0x14e84]
mov ecx, dword [rdx + rax*4 + 0x14e54]
add rcx, rdx
jmp rcx
lea rbx, [r10 + 8]
mov qword [rbp - 0x10], r9
mov rcx, rbx
mov qword [rbp - 8], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rbp - 0x20]
mov byte [rbp - 0x20], 0
mov qword [rbp + 0x10], r9
mov qword [rbp + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp], 0
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x38], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp + 0x20], 0
mov qword [rbp + 0x40], r9
mov qword [rbp + 0x48], 0xffffffffffffffff
call fcn.1800512c0
lea rcx, [rbx + 0x20]
lea rdx, [rbp]
call fcn.1800512c0
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x20]
call fcn.1800512c0
mov rax, qword [rbp + 0x40]
lea rcx, [rbp - 0x20]
mov qword [rbx + 0x60], rax
mov rax, qword [rbp + 0x48]
mov qword [rbx + 0x68], rax
call fcn.18000ac10
mov rcx, qword [rbp + 0xa8]
xor eax, eax
mov dword [rcx], eax
mov rcx, qword [rcx + 0x78]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r10, qword [rbp + 0xa8]
lea rdx, [0x180000000]
xor r9d, r9d
lea r11d, [r9 + 0x65]
jmp 0x1800149a9
mov r8d, 4
mov word [rsp + 0x6e], r11w
lea rdx, [0x18008fe00]
lea rcx, [rsp + 0x70]
call fcn.180065084
lea rdx, [0x18008fa00]
lea rcx, [rsp + 0x76]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov r10, qword [rbp + 0xa8]
lea rdx, [0x180000000]
mov eax, 0x70
xor r9d, r9d
mov word [rsp + 0x78], ax
lea r11d, [rax - 0xb]
jmp case.0x18001467d.11
mov eax, dword [0x18008fe08]
mov dword [rsp + 0x7a], eax
movzx eax, word [0x18008fe0c]
mov word [rsp + 0x7e], ax
jmp case.0x18001467d.11
mov qword [rsp + 0x40], r9
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], r9
xor r8d, r8d
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r9
xor r9d, r9d
lea ecx, [rdx + 0x5e]
call fcn.180012f90
test eax, eax
jne 0x180014e27
lea r9, [rbp + 0x98]
mov dword [rbp + 0x98], 1
mov r8, r14
xor edx, edx
mov ecx, 0x8b
call fcn.1800334d0
mov r10, qword [rbp + 0xa8]
lea rdx, [0x180000000]
xor r9d, r9d
lea r11d, [r9 + 0x65]
jmp case.0x18001467d.11
mov word [rsp + 0x7a], r9w
jmp case.0x18001467d.11
mov word [rsp + 0x68], di
mov dword [rsp + 0x69], 0x7246736e
mov word [rsp + 0x6d], r11w
jmp case.0x18001467d.11
mov rcx, qword [r10 + 0x78]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r10, qword [rbp + 0xa8]
lea rdx, [0x180000000]
xor r9d, r9d
lea r11d, [r9 + 0x65]
jmp case.0x18001467d.11
mov qword [0x1800a1eb8], r10
jmp case.0x18001467d.11
mov r8, qword [r14]
mov rax, rbx
mov rcx, qword [r14 + 0x10]
mov rdi, qword [r10 + 8]
sub rcx, r8
sub rdi, qword [r10]
imul rcx
sar rdi, 5
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jbe 0x180014b84
movabs rax, 0x666666666666666
cmp rdi, rax
ja 0x180014e4e
mov rcx, qword [r14 + 8]
mov rax, rbx
sub rcx, r8
imul rcx
mov rsi, rdx
sar rsi, 4
mov rax, rsi
shr rax, 0x3f
add rsi, rax
lea rax, [rdi + rdi*4]
lea rcx, [rax*8]
cmp rcx, 0x1000
jb 0x180014909
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180014e48
mov rcx, rax
call fcn.18005c7f0
test rax, rax
je 0x180014e42
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
xor r9d, r9d
mov qword [rbx - 8], rax
jmp 0x18001491e
test rcx, rcx
je 0x18001491b
call fcn.18005c7f0
mov rbx, rax
xor r9d, r9d
jmp 0x18001491e
mov rbx, r9
mov r10, qword [r14 + 8]
mov rcx, rbx
mov rdx, qword [r14]
cmp rdx, r10
je 0x180014970
nop dword [rax]
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x18], r9
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov qword [rdx + 0x10], r9
mov qword [rdx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rdx], 0
movzx eax, word [rdx + 0x20]
mov word [rcx + 0x20], ax
mov eax, dword [rdx + 0x24]
add rdx, 0x28
mov dword [rcx + 0x24], eax
add rcx, 0x28
cmp rdx, r10
jne 0x180014930
mov rdx, rcx
call fcn.180053310
mov r9, rdi
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.180051600
mov r10, qword [rbp + 0xa8]
lea esi, [r15 + 0xb]
xor r9d, r9d
lea rdx, [0x180000000]
mov r11d, VarCyFromDate
mov edi, VarR4FromCy
movabs rbx, 0x6666666666666667
mov r8, qword [rbp + 0x90]
inc r13d
inc r12d
cmp r13d, esi
jb 0x180014660
mov edx, 0x70
lea edi, [r15 + 0x6b4]
cmp r15d, edi
jae 0x180014e21
mov r12, qword [rsp + 0x50]
movabs r13, 0x6c006c0064
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x50]
nop word [rax + rax]
cmp r15d, 0x298
ja 0x180014d12
je 0x180014cd5
cmp r15d, 0x186
ja 0x180014ca2
je 0x180014c6e
mov eax, r15d
sub eax, 0xeb
je 0x180014c5f
sub eax, 0xc
je 0x180014c53
cmp eax, 0x83
jne 0x180014df4
lea rdx, [0x18008fe10]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov r8d, 1
lea rdx, [0x18008f55c]
lea rcx, [rsp + 0x58]
call fcn.1800666b0
mov eax, reloc.OLEAUT32.dll_VarR8FromCy
mov word [rsp + 0x5b], ax
mov eax, 0x75
mov word [rsp + 0x5c], ax
jmp 0x180014df4
mov rbx, qword [r10]
mov rdi, qword [r10 + 8]
cmp rbx, rdi
je 0x1800149a4
nop word [rax + rax]
lea rcx, [rbp - 0x78]
mov qword [rbp - 0x68], r9
mov qword [rbp - 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov eax, r9d
mov byte [rbp - 0x78], 0
mov word [rbp - 0x58], r9w
mov dword [rbp - 0x54], eax
cmp rcx, rbx
je 0x180014ae8
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x180014ad1
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp - 0x78]
call fcn.180051100
mov eax, dword [rbp - 0x54]
mov r8, qword [rbp + 0x90]
mov rdx, qword [r14 + 8]
movzx ecx, word [r8]
mov word [rbp - 0x58], cx
cmp rdx, qword [r14 + 0x10]
je 0x180014b17
movups xmm0, xmmword [rbp - 0x78]
movups xmm1, xmmword [rbp - 0x68]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov word [rdx + 0x20], cx
mov dword [rdx + 0x24], eax
add qword [r14 + 8], 0x28
jmp 0x180014b65
lea r8, [rbp - 0x78]
mov rcx, r14
call fcn.180051d40
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x180014b5e
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180014b59
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180014e42
call fcn.18005c7e8
mov r8, qword [rbp + 0x90]
add rbx, 0x20
mov r9d, 0
cmp rbx, rdi
jne 0x180014aa0
mov r10, qword [rbp + 0xa8]
jmp 0x180014997
lea rdx, [0x180000000]
mov edi, VarR4FromCy
jmp case.0x18001467d.11
mov eax, dword [r8]
test eax, eax
je 0x180014c38
test al, 1
je 0x180014bcd
mov r9, r14
mov dword [rsp + 0x20], 0xbe
lea r8, [rbp - 0x50]
xor edx, edx
mov rcx, r14
call fcn.1800036e0
xor r9d, r9d
mov ebx, eax
test eax, eax
jne 0x180014c20
mov r8, qword [rbp + 0x90]
cmp dword [r8], 1
jbe 0x180014c0e
mov dword [rsp + 0x40], 0xdf
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x38], r9
xor r8d, r8d
mov qword [rsp + 0x30], r9
xor edx, edx
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x50]
call fcn.18001ec30
mov ebx, eax
test eax, eax
jne 0x180014c1d
mov r8, qword [rbp + 0x90]
mov eax, dword [r8]
shr eax, 1
mov dword [r8], eax
je 0x180014c38
xor r9d, r9d
jmp 0x180014ba0
xor r9d, r9d
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x11f
call fcn.180045a00
mov eax, ebx
jmp 0x180014e27
xor r9d, r9d
lea rcx, [rbp - 0x50]
xor edx, edx
mov r8d, 0x11f
call fcn.180045a00
xor eax, eax
jmp 0x180014e27
mov qword [r10 + 0x88], r8
jmp 0x180014df4
mov qword [rsp + 0x7e], r13
mov byte [rsp + 0x58], 0
jmp 0x180014df4
mov qword [rsp + 0x28], r9
lea r8, [0x1800429c0]
mov dword [rsp + 0x20], r9d
xor edx, edx
mov r9, r10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
mov qword [0x1800a0e90], rax
setne byte [rbp + 0x98]
jmp 0x180014df4
mov eax, r15d
sub eax, 0x209
je 0x180014cba
cmp eax, 0xc
je 0x180014e21
jmp 0x180014df4
mov eax, dword [str.ery_A]
mov dword [rsp + 0x5d], eax
movzx eax, word [0x18008fe30]
mov word [rsp + 0x61], ax
jmp 0x180014df4
lea rdx, [0x18008fe14]
mov word [rbp - 0x38], r9w
lea rcx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.sapi.
lea rcx, [rbp - 0x34]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x18008f5d4]
lea rcx, [rbp - 0x2a]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x180014df4
cmp r15d, 0x327
je 0x180014dd6
cmp r15d, 0x3b6
je 0x180014db7
cmp r15d, 0x445
je 0x180014d8b
cmp r15d, 0x4d4
je 0x180014d5b
cmp r15d, 0x563
jne 0x180014df4
cmp dword [r14], 0xffffffff
setne byte [rbp + 0x98]
jmp 0x180014e21
test rbx, rbx
je 0x180014d77
cmp word [rbx + 0x10], 1
je 0x180014d71
mov rbx, qword [rbx]
test rbx, rbx
jne 0x180014d60
jmp 0x180014d77
mov eax, dword [rbx + 0x20]
mov dword [r14], eax
mov rcx, qword [rsp + 0x50]
mov edx, 1
mov r15d, 0x4d4
call rsi
jmp 0x180014df4
mov qword [rsp + 0x28], r9
lea rax, [rsp + 0x50]
mov edx, 1
mov qword [rsp + 0x20], rax
mov r9, r8
mov rcx, r10
lea r8d, [rdx + 0x67]
call r12
test eax, eax
jne 0x180014e1a
mov rbx, qword [rsp + 0x50]
jmp 0x180014df4
mov r8d, edx
lea r9, [rsp + 0x58]
lea rdx, [rbp - 0x38]
xor ecx, ecx
call fcn.18001b7a0
mov r12, rax
mov dword [r14], 0xffffffff
jmp 0x180014df4
mov r8d, edx
mov dword [rbp - 0x26], 0x6c
lea rdx, [rsp + 0x70]
xor ecx, ecx
lea r9, [rsp + 0x68]
call fcn.18001b7a0
mov rsi, rax
add r15d, 0x8f
cmp r15d, edi
jae 0x180014e21
mov r8, qword [rbp + 0x90]
xor r9d, r9d
mov r10, qword [rbp + 0xa8]
lea edx, [r9 + 0x70]
jmp 0x180014a00
mov byte [rbp + 0x98], 0
mov eax, dword [rbp + 0x98]
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18006144c
int3
call fcn.1800012b0
int3
call fcn.180051430
int3