Function at 0x140044608
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140096940]
xor rax, rsp
mov qword [rbp - 8], rax
xor r14d, r14d
mov qword [rbp - 0x30], r14
mov rcx, qword [str.___t_]
lea r12, str.___t_
lea r13, [0x140083a78]
mov dil, 5
mov r15b, 4
cmp rcx, r12
je 0x140044678
test byte [rcx + 0x1c], r15b
je 0x140044678
cmp byte [rcx + 0x19], dil
jb 0x140044678
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x11]
mov r8, r13
call fcn.140001010
mov ebx, 0xea60
mov esi, 2
mov r8d, ebx
mov ecx, esi
call fcn.140022cb8
call fcn.1400670a4
test eax, eax
jne 0x140044762
lea rcx, [rbp - 0x40]
call fcn.1400678dc
test eax, eax
jne 0x14004472c
cmp dword [rbp - 0x40], r14d
je 0x140044758
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400446db
test byte [rcx + 0x1c], r15b
je 0x1400446db
cmp byte [rcx + 0x19], dil
jb 0x1400446db
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x11]
mov r8, r13
call fcn.140001010
call fcn.140067a00
test eax, eax
jne 0x14004470d
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044758
test byte [rcx + 0x1c], r15b
je 0x140044758
cmp byte [rcx + 0x19], dil
jb 0x140044758
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x14]
mov r8, r13
call fcn.140001010
jmp 0x140044758
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044758
test byte [rcx + 0x1c], r15b
je 0x140044758
cmp byte [rcx + 0x19], sil
jb 0x140044758
mov edx, 0x15
jmp 0x140044749
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044758
test byte [rcx + 0x1c], r15b
je 0x140044758
cmp byte [rcx + 0x19], sil
jb 0x140044758
mov edx, 0x16
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r8d, ebx
mov ecx, esi
call fcn.140022cb8
mov r8d, ebx
mov ecx, esi
call fcn.140022cb8
lea rcx, [rbp - 0x30]
call fcn.140062684
test eax, eax
jne 0x1400447b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400447ad
test byte [rcx + 0x1c], r15b
je 0x1400447ad
cmp byte [rcx + 0x19], sil
jb 0x1400447ad
mov rcx, qword [rcx + 0x10]
mov edx, 0x17
mov r9d, eax
mov r8, r13
call fcn.140001030
mov eax, ebx
jmp 0x140045016
mov r8d, ebx
mov ecx, esi
call fcn.140022cb8
call fcn.140065454
mov ebx, eax
mov edi, 1
test eax, eax
je 0x140044809
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
lea edx, [rdi + 0x17]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r13
call fcn.140001030
jmp 0x140044fce
call fcn.14004c25c
test eax, eax
jne 0x140044845
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
mov edx, 0x19
jmp 0x1400447f5
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
xor r9d, r9d
mov r8d, edi
mov edx, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x14009a380], rax
test rax, rax
jne 0x1400448a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
mov edx, 0x1a
jmp 0x140044fbf
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
mov ecx, 0x3c
call fcn.1400625b0
mov qword [0x14009a398], rax
test rax, rax
jne 0x140044912
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400448fb
test byte [rcx + 0x1c], r15b
je 0x1400448fb
cmp byte [rcx + 0x19], sil
jb 0x1400448fb
mov rcx, qword [rcx + 0x10]
mov edx, 0x1b
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r9d, 0xc0007d72
xor r8d, r8d
mov edx, edi
mov ecx, edi
call fcn.1400629d0
jmp 0x1400447ad
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x3c]
call sub.msvcrt.dll_memset
call fcn.140077224
test eax, eax
jns 0x140044957
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400448fb
test byte [rcx + 0x1c], r15b
je 0x1400448fb
cmp byte [rcx + 0x19], sil
jb 0x1400448fb
mov edx, 0x1c
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r13
call fcn.140001030
jmp 0x1400448fb
call fcn.14007735c
test eax, eax
jns 0x14004497f
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400448fb
test byte [rcx + 0x1c], r15b
je 0x1400448fb
cmp byte [rcx + 0x19], sil
jb 0x1400448fb
mov edx, 0x1d
jmp 0x140044946
mov rcx, qword [0x14009a398]
lea rax, [rcx + 8]
lea r9, [rcx + 0xc]
mov qword [rsp + 0x20], rax
lea r8, [rcx + 4]
add rcx, 0x10
call fcn.1400775ec
test eax, eax
je 0x1400449dd
mov rax, qword [str.___t_]
cmp rax, r12
je 0x1400449dd
test byte [rax + 0x1c], r15b
je 0x1400449dd
cmp byte [rax + 0x19], sil
jb 0x1400449dd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
mov edx, 0x1e
mov r9d, eax
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140001030
mov rcx, qword [0x14009a398]
lea rax, [rcx + 0x1c]
lea r10, [rcx + 0x20]
mov qword [rsp + 0x28], rax
lea r9, [rcx + 0x18]
mov qword [rsp + 0x20], r10
lea r8, [rcx + 0x14]
lea rdx, [rcx + 0x28]
add rcx, 0x24
call fcn.14007782c
test eax, eax
je 0x140044a48
mov rax, qword [str.___t_]
cmp rax, r12
je 0x140044a48
test byte [rax + 0x1c], r15b
je 0x140044a48
cmp byte [rax + 0x19], sil
jb 0x140044a48
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
mov edx, 0x1f
mov r9d, eax
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140001030
mov rcx, qword [0x14009a398]
lea r9, [rcx + 0x34]
lea r8, [rcx + 0x38]
lea rdx, [rcx + 0x30]
add rcx, 0x2c
call fcn.14007740c
test eax, eax
je 0x140044aa1
mov rax, qword [str.___t_]
cmp rax, r12
je 0x140044aa1
test byte [rax + 0x1c], r15b
je 0x140044aa1
cmp byte [rax + 0x19], sil
jb 0x140044aa1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
mov edx, 0x20
mov r9d, eax
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140001030
lea rcx, [0x14009a358]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, qword [0x14009a398]
lea rcx, [0x14009a358]
imul eax, dword [rdx + 0x20], 0x3c
mov dword [0x14009a3a0], eax
imul eax, dword [rdx + 0x38], 0x3c
mov dword [0x14009a38c], eax
imul eax, dword [rdx + 0xc], 0x3c
mov dword [0x14009a3a4], eax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
lea rcx, [rbp - 0x30]
call fcn.140044350
mov ebx, eax
test eax, eax
je 0x140044b39
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400447ad
test byte [rcx + 0x1c], r15b
je 0x1400447ad
cmp byte [rcx + 0x19], sil
jb 0x1400447ad
mov edx, 0x21
mov r9d, eax
mov rcx, qword [rcx + 0x10]
mov r8, r13
call fcn.140001030
jmp 0x1400447ad
mov ebx, 0xea60
mov ecx, esi
mov r8d, ebx
call fcn.140022cb8
call fcn.14004c474
test eax, eax
jne 0x140044c10
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044b89
test byte [rcx + 0x1c], r15b
je 0x140044b89
cmp byte [rcx + 0x19], sil
jb 0x140044b89
mov rcx, qword [rcx + 0x10]
mov edx, 0x22
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r9d, ebx
mov dword [rbp - 0x28], ebx
lea r8, [0x140081e00]
mov word [rbp - 0x24], r14w
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, [rbp - 0x24]
call fcn.14000292c
test eax, eax
lea rcx, [rbp - 0x24]
mov rax, qword [0x14009a428]
mov r9d, 0xc0007d68
cmovs rcx, r14
mov r8d, esi
mov qword [rsp + 0x28], rcx
mov edx, edi
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x20], rcx
mov ecx, edi
call fcn.1400629d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
mov edx, 0x23
jmp 0x140044fbf
mov r8d, ebx
mov ecx, esi
call fcn.140022cb8
call fcn.1400269b0
mov ebx, eax
test eax, eax
je 0x140044cdd
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044c55
test byte [rcx + 0x1c], r15b
je 0x140044c55
cmp byte [rcx + 0x19], sil
jb 0x140044c55
mov rcx, qword [rcx + 0x10]
mov edx, 0x24
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r9d, ebx
mov dword [rbp - 0x28], ebx
lea r8, [0x140081e00]
mov word [rbp - 0x24], r14w
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, [rbp - 0x24]
call fcn.14000292c
test eax, eax
lea rcx, [rbp - 0x24]
mov rax, qword [0x14009a2a0]
mov r9d, 0xc0007d69
cmovs rcx, r14
mov r8d, esi
mov qword [rsp + 0x28], rcx
mov edx, edi
mov ecx, edi
mov qword [rsp + 0x20], rax
call fcn.1400629d0
lea rcx, [0x14009a088]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x14009a0b8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x14009a0b8]
mov qword [0x14009a294], r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x14009a088]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
call fcn.14005328c
mov ebx, eax
test eax, eax
je 0x140044d4c
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044d21
test byte [rcx + 0x1c], r15b
je 0x140044d21
cmp byte [rcx + 0x19], sil
jb 0x140044d21
mov rcx, qword [rcx + 0x10]
mov edx, 0x25
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r9d, ebx
mov dword [rbp - 0x28], ebx
lea r8, [0x140081e00]
mov word [rbp - 0x24], r14w
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, [rbp - 0x24]
call fcn.14000292c
mov r9d, 0xc0007d2c
jmp 0x140044ff4
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
call fcn.1400562ec
mov ebx, eax
test eax, eax
je 0x140044d92
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
mov edx, 0x26
jmp 0x140044fbf
mov r8d, 0xea60
mov ecx, esi
call fcn.140022cb8
mov r9, qword [rbp - 0x30]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea r8, [0x140045f20]
xor edx, edx
mov dword [rsp + 0x20], r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x140044e05
mov rax, qword [str.___t_]
cmp rax, r12
je 0x1400447ad
test byte [rax + 0x1c], r15b
je 0x1400447ad
cmp byte [rax + 0x19], sil
jb 0x1400447ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
lea edx, [rdi + 0x27]
mov ebx, eax
jmp 0x140044b25
mov r8d, 0x4e20
mov ecx, esi
call fcn.140022cb8
mov edx, 0x2710
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
test eax, eax
je 0x140044eab
cmp eax, 0x102
jne 0x140044e62
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044e5a
test byte [rcx + 0x1c], r15b
je 0x140044e5a
cmp byte [rcx + 0x19], 5
jb 0x140044e5a
mov rcx, qword [rcx + 0x10]
mov edx, 0x29
mov r8, r13
call fcn.140001010
mov r8d, 0x7530
jmp 0x140044e0b
mov rax, qword [str.___t_]
cmp rax, r12
je 0x140044e9d
test byte [rax + 0x1c], r15b
je 0x140044e9d
cmp byte [rax + 0x19], sil
jb 0x140044e9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x2a
mov rcx, qword [str.___t_]
mov r9d, eax
mov r8, r13
mov ebx, eax
mov rcx, qword [rcx + 0x10]
call fcn.140001030
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400447ad
lea rdx, [rbp - 0x3c]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
jne 0x140044ee1
mov rax, qword [str.___t_]
cmp rax, r12
je 0x140044e9d
test byte [rax + 0x1c], r15b
je 0x140044e9d
cmp byte [rax + 0x19], sil
jb 0x140044e9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x28
jmp 0x140044e85
mov ebx, dword [rbp - 0x3c]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140044f22
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x1400447ad
test byte [rcx + 0x1c], r15b
je 0x1400447ad
cmp byte [rcx + 0x19], sil
jb 0x1400447ad
mov edx, 0x2b
mov r9d, ebx
jmp 0x140044b28
xor r8d, r8d
mov r9d, 0x40007d01
lea edx, [r8 + 3]
lea edi, [rdx - 2]
mov ecx, edi
call fcn.1400629d0
call fcn.140023548
mov ebx, eax
test eax, eax
je 0x140044f61
mov rcx, qword [str.___t_]
cmp rcx, r12
je 0x140044fce
test byte [rcx + 0x1c], r15b
je 0x140044fce
cmp byte [rcx + 0x19], sil
jb 0x140044fce
lea edx, [rdi + 0x2b]
jmp 0x140044fbf
lea rax, [rbp - 0x38]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea r8, [0x140046810]
xor edx, edx
mov dword [rsp + 0x20], r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x14009a390], rax
test rax, rax
jne 0x140045014
mov rax, qword [str.___t_]
cmp rax, r12
je 0x140044fce
test byte [rax + 0x1c], r15b
je 0x140044fce
cmp byte [rax + 0x19], sil
jb 0x140044fce
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
mov edx, 0x2d
mov ebx, eax
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r13
call fcn.140001030
mov r9d, ebx
mov dword [rbp - 0x28], ebx
lea r8, [0x140081e00]
mov word [rbp - 0x24], r14w
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, [rbp - 0x24]
call fcn.14000292c
mov r9d, 0xc0007d29
test eax, eax
lea rcx, [rbp - 0x24]
mov r8d, edi
mov edx, edi
cmovs rcx, r14
mov qword [rsp + 0x20], rcx
mov ecx, edi
call fcn.1400629d0
jmp 0x1400447ad
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400786e0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret