Function at 0x14003d200
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rbx, rcx
xor esi, esi
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
mov dword [rcx + 0x10], send
mov dword [rcx + 0x30], esi
mov dword [rcx + 0x34], 0xa
mov qword [rcx + 0x38], rsi
mov qword [rcx + 0x40], rsi
mov dword [rcx + 0x14], 0x3f400000
mov dword [rcx + 0x18], 0x3e800000
mov dword [rcx + 0x1c], 0x40100000
xor eax, eax
movss xmm1, dword [0x14013873c]
movabs rcx, 0x8000000000000000
movss xmm0, dword [0x1401329f0]
comiss xmm1, xmm0
jbe 0x14003d27c
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14003d27c
mov rax, rcx
cvttss2si rdx, xmm1
add rdx, rax
mov qword [rbx + 0x20], rdx
xor eax, eax
movss xmm1, dword [0x140138738]
comiss xmm1, xmm0
jbe 0x14003d2a3
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14003d2a3
mov rax, rcx
cvttss2si rcx, xmm1
add rcx, rax
mov rax, rcx
cmp rcx, 0x11
cmovb rax, rsi
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x48], rsi
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rsi
mov dword [rbx + 0x60], esi
mov qword [rbx + 0x68], rsi
mov qword [rbx + 0x70], rsi
mov dword [rbx + 0x78], send
mov dword [rbx + 0x98], esi
mov dword [rbx + 0x9c], 0xa
mov qword [rbx + 0xa0], rsi
mov qword [rbx + 0xa8], rsi
mov dword [rbx + 0x7c], 0x3f400000
mov dword [rbx + 0x80], 0x3e800000
mov dword [rbx + 0x84], 0x40100000
mov qword [rbx + 0x88], rdx
cmovb rcx, rsi
mov qword [rbx + 0x90], rcx
mov qword [rbx + 0xb0], rsi
or rdi, 0xffffffffffffffff
mov qword [rbx + 0xb8], rdi
lea rcx, [rbx + 0xc0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
jne 0x14003d362
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14003d35a
movzx eax, ax
or eax, 0x80070000
mov ecx, eax
call fcn.1400022b0
nop
lea rcx, [rbx + 0xe8]
call fcn.140030a10
nop
mov qword [rbx + 0x160], rsi
mov dword [rbx + 0x1a4], 0x400
lea rcx, [rbx + 0x1a8]
mov qword [rsp + 0x70], rcx
call fcn.14007ad00
nop
mov qword [rbx + 0x1c8], rsi
mov qword [rbx + 0x1d0], rsi
mov qword [rbx + 0x1d8], rsi
lea rcx, [rbx + 0x1e8]
call fcn.140094510
nop
lea rcx, [rbx + 0x2a0]
call fcn.140095c80
nop
mov qword [rbx + 0x368], rsi
mov word [rbx + 0x2b70], 0x101
mov dword [rbx + 0x2d7a], 0
mov dword [rbx + 0x2d80], esi
mov qword [rbx + 0x2d88], rsi
mov qword [rbx + 0x2d90], rsi
mov word [rbx + 0x2d98], 0
mov qword [rbx + 0x2da0], rsi
mov qword [rbx + 0x2da8], rsi
mov qword [rbx + 0x2db0], rsi
mov qword [rbx + 0x2db8], rsi
mov qword [rbx + 0x2dc0], rsi
mov dword [rbx + 0x2dc8], 0xa
mov qword [rbx + 0x2dd0], rsi
mov qword [rbx + 0x2dd8], rsi
mov qword [rbx + 0x2de0], rsi
mov qword [rbx + 0x2de8], rsi
mov qword [rbx + 0x2df0], rsi
mov dword [rbx + 0x2df8], 0xa
mov qword [rbx + 0x2e00], rsi
mov qword [rbx + 0x2e08], rsi
mov qword [rbx + 0x2e10], rsi
mov qword [rbx + 0x2e18], rsi
mov qword [rbx + 0x2e20], rsi
mov dword [rbx + 0x2e28], 0xa
mov qword [rbx + 0x2e30], rsi
mov qword [rbx + 0x2e38], rsi
mov qword [rbx + 0x2e40], rsi
mov qword [rbx + 0x2e48], rsi
mov qword [rbx + 0x2e50], rsi
mov dword [rbx + 0x2e58], 0xa
mov dword [rbx + 0x2e68], esi
mov dword [rbx + 0x2e6c], esi
lea rcx, [rbx + 0x370]
lea r8, [0x14012eda0]
mov edx, 0x400
call fcn.1400d7f70
lea rcx, [rbx + 0xb70]
lea r8, [0x140129a38]
mov edx, 0x400
call fcn.1400d7f70
lea rcx, [rbx + 0x1b70]
lea r8, [0x140129a38]
mov edx, 0x400
call fcn.1400d7f70
lea rcx, [rbx + 0x1370]
lea r8, [0x140129a38]
mov edx, 0x400
call fcn.1400d7f70
lea rcx, [rbx + 0x2b72]
lea r8, str.scfsp.sys
mov edx, 0x104
call fcn.1400d7f70
lea rcx, [rbx + 0x2370]
lea r8, [0x140129a38]
mov edx, 0x400
call fcn.1400d7f70
mov rcx, rbx
call fcn.1400428b0
lea rcx, [rsp + 0x70]
call fcn.1400853d0
nop
lea r8, [0x14012cc3c]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400162e0
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003d58f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8, qword [rsp + 0x68]
cmp dword [r8 - 8], 1
jle 0x14003d5ae
mov edx, dword [r8 - 0x10]
lea rcx, [rsp + 0x68]
call fcn.140001fb0
mov r8, qword [rsp + 0x68]
mov edx, 0x104
lea rcx, [0x140182a90]
call fcn.1400d7f70
call fcn.140041180
lea r8, str.EB03E83A_4058_4a73_8B15_63E9178F1B66
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx + 0x360], rax
lea r9, str.D57EA188_6550_421c_9652_434C1A2E634A
xor r8d, r8d
lea edx, [r8 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x358], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, [0x140042bb0]
xor edx, edx
xor ecx, ecx
call fcn.1400d86a0
test rax, rax
je 0x14003d624
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x14003d642
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, rbx
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret