Function at 0x1400113d0
Capabilities:
Check for time delay via gettickcount
Get system information on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
movaps xmmword [rsp + 0x340], xmm6
mov rax, qword [0x1400cf248]
xor rax, rsp
mov qword [rsp + 0x330], rax
mov rdi, r9
mov rsi, r8
mov r13, rcx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x50], r9
mov r12, qword [rsp + 0x3b8]
mov qword [rsp + 0xc0], r12
mov r15, qword [rsp + 0x3c0]
mov qword [rsp + 0xb0], r15
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0x40], 0
xor r14d, r14d
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x150], r14
movdqa xmm6, xmmword [0x14009f370]
movdqu xmmword [rsp + 0x160], xmm6
mov byte [rsp + 0x150], r14b
cmp edx, 1
je 0x14001169a
cmp r9, 0xd0
jb 0x140011ccd
test edx, edx
jne 0x1400114bf
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x20], al
mov r9, r15
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0x140]
call fcn.14000f320
jmp 0x140011566
mov eax, r14d
cmp edx, 2
jne 0x1400117a7
xor bl, bl
mov byte [rsp + 0x41], bl
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
nop dword [rax + rax]
test bl, bl
jne 0x140011558
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x20], al
mov r9, r15
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0x140]
call fcn.14000f320
mov byte [rsp + 0x40], 1
mov bl, 1
mov byte [rsp + 0x41], bl
lea rcx, [rsp + 0x68]
call fcn.14001ca70
jmp 0x1400114e0
mov eax, r14d
cmp byte [rsp + 0x40], 0
je 0x1400117a7
mov dword [rsp + 0x30], 0xffffffff
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8d, 0xc0000000
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x78]
call fcn.14000e750
nop
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rbx
xor eax, eax
mov r15d, 1
lock cmpxchg dword [rbx], r15d
jne 0x140011685
lea r8, [rdi - 8]
mov r9, qword [rsp + 0x78]
lea rdx, [r9 + 8]
mov r10, qword [rsp + 0xa8]
cmp dword [r10 + 8], r15d
je 0x1400115dc
mov rcx, qword [r10]
call fcn.140014c50
mov r9, qword [rsp + 0x78]
mov rax, qword [r13]
mov qword [r13], r9
mov qword [rsp + 0x78], rax
mov rcx, qword [r13 + 8]
mov rax, qword [rsp + 0x80]
mov qword [r13 + 8], rax
mov qword [rsp + 0x80], rcx
mov rcx, qword [r13 + 0x10]
mov rax, qword [rsp + 0x88]
mov qword [r13 + 0x10], rax
mov qword [rsp + 0x88], rcx
mov ecx, dword [r13 + 0x18]
mov eax, dword [rsp + 0x90]
mov dword [r13 + 0x18], eax
mov dword [rsp + 0x90], ecx
mov rcx, qword [r13 + 0x20]
mov rax, qword [rsp + 0x98]
mov qword [r13 + 0x20], rax
mov qword [rsp + 0x98], rcx
mov eax, 2
xchg dword [rbx], eax
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14001166b
sub rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsp + 0x78], r14
mov rcx, qword [rsp + 0x98]
cmp rcx, 0xffffffffffffffff
je 0x140011680
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x140011c4c
dec eax
lea rcx, [rsp + 0x68]
cmp eax, r15d
jbe 0x140011d34
jmp 0x140011d03
mov ecx, dword [rsp + 0x3b0]
cmp ecx, 0xc0000000
jne 0x14001185f
mov rbx, qword [r8]
mov qword [rsp + 0x120], r14
movdqa xmm0, xmmword [0x14009f370]
movdqu xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x120], 0
lea rdx, [0x14009d988]
test rbx, rbx
cmovne rdx, rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1400116e6
lea rcx, [rsp + 0x120]
call fcn.140004a00
mov r8, rbx
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [rsp + 0x110], rax
test rax, rax
je 0x140011d66
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x148], 0xc0000000
movups xmm1, xmmword [rsp + 0x120]
movups xmm2, xmmword [rsp + 0x130]
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x150], xmm1
movups xmmword [rsp + 0x160], xmm2
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0x10
jb 0x1400117a4
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001179f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011dae
call fcn.140062edc
mov eax, r14d
mov r15d, 1
lea ebx, [rax - 0x40000000]
mov dword [rsp + 0x30], 0xffffffff
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8d, ebx
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x110]
call fcn.14000e750
nop
mov r12, qword [rsp + 0x110]
mov rdi, r14
mov esi, r14d
mov ebx, r14d
movabs r13, 0x38d7ea4c67fff
mov eax, dword [r12]
mov dword [rsp + 0xbc], ebx
nop
cmp eax, 1
ja 0x140011b6b
test ebx, ebx
jne 0x140011847
mov eax, dword [0x1400fe848]
test eax, eax
jne 0x140011834
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x100]
mov ebx, 0x20
cmp eax, 1
cmova ebx, r14d
mov dword [rsp + 0xbc], ebx
cmp ebx, 8
jb 0x140011b1e
cmp ebx, 0x20
jae 0x140011a52
pause
inc ebx
jmp 0x1400117fc
mov ebx, 0x80000000
cmp ecx, ebx
jne 0x14001196a
mov rdi, qword [r8]
mov qword [rsp + 0x120], r14
movdqa xmm0, xmmword [0x14009f370]
movdqu xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x120], 0
lea rdx, [0x14009d988]
test rdi, rdi
cmovne rdx, rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1400118a5
lea rcx, [rsp + 0x120]
call fcn.140004a00
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 5]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [rsp + 0x110], rax
test rax, rax
je 0x140011db4
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x148], ebx
movups xmm1, xmmword [rsp + 0x120]
movups xmm2, xmmword [rsp + 0x130]
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x150], xmm1
movups xmmword [rsp + 0x160], xmm2
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0x10
jb 0x14001195f
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001195a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011dae
call fcn.140062edc
mov r15d, 1
jmp 0x1400117b3
mov eax, r14d
cmp ecx, 0xc0000001
jne 0x1400117a7
mov r9d, ebx
mov r8, qword [r8]
movzx edx, byte [0x1400fe719]
lea rcx, [rsp + 0x110]
call fcn.140012db0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], r14
mov qword [rsp + 0x140], rax
mov ecx, dword [rsp + 0x118]
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x118], eax
mov dword [rsp + 0x148], ecx
movups xmm1, xmmword [rsp + 0x120]
movups xmm2, xmmword [rsp + 0x130]
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm6
movups xmmword [rsp + 0x150], xmm1
movups xmmword [rsp + 0x160], xmm2
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 0x10
jb 0x140011a44
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011a3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011dfc
call fcn.140062edc
mov r15d, 1
mov eax, r15d
jmp 0x1400117ad
jne 0x140011afc
mov ecx, 7
call fcn.140016050
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0xa0]
call rax
mov ecx, 9
call fcn.140016050
lea rcx, [rsp + 0x68]
call rax
test eax, eax
jne 0x140011aa2
mov ecx, dword [rsp + 0x50]
dec ecx
mov eax, 0xd1b71759
mul ecx
mov eax, edx
shr eax, 0xd
jmp 0x140011ac4
mov eax, dword [rsp + 0x50]
imul r8, rax, 0x5f5e100
mov rax, r13
cqo
idiv qword [rsp + 0x68]
lea rcx, [rax + 1]
lea rax, [r8 - 1]
cqo
idiv rcx
lea esi, [rax + 1]
mov ecx, 8
call fcn.140016050
lea rcx, [rsp + 0x58]
call rax
test eax, eax
jne 0x140011af0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov qword [rsp + 0x58], rdi
inc ebx
jmp 0x1400117fc
mov rdi, qword [rsp + 0x58]
inc ebx
jmp 0x1400117fc
test esi, esi
jne 0x140011b25
movzx eax, byte [rsp + 0xbc]
and al, 1
je 0x140011b5b
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
test eax, eax
jne 0x140011b1e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x1400117fc
mov ecx, 8
call fcn.140016050
lea rcx, [rsp + 0x60]
call rax
test eax, eax
jne 0x140011b49
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov qword [rsp + 0x60], rcx
jmp 0x140011b4e
mov rcx, qword [rsp + 0x60]
sub rcx, rdi
mov eax, esi
cmp rcx, rax
jb 0x140011b0c
mov esi, r14d
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x1400117fc
cmp eax, 2
mov r13, qword [rsp + 0xc8]
jne 0x140011e02
mov rax, qword [rsp + 0x110]
lea rdx, [rax + 8]
test r14b, r14b
jne 0x140011bb0
mov r10, qword [rsp + 0xa8]
cmp dword [r10 + 8], 0
je 0x140011bb0
mov rcx, qword [r10]
cmp qword [rcx], 0
jne 0x140011bb0
mov qword [rcx], rdx
mov rax, qword [rsp + 0x110]
mov r8, qword [r13]
mov qword [r13], rax
mov qword [rsp + 0x110], r8
mov rcx, qword [r13 + 8]
mov rax, qword [rsp + 0x118]
mov qword [r13 + 8], rax
mov qword [rsp + 0x118], rcx
mov r9, qword [r13 + 0x10]
mov rax, qword [rsp + 0x120]
mov qword [r13 + 0x10], rax
mov qword [rsp + 0x120], r9
mov edx, dword [r13 + 0x18]
mov eax, dword [rsp + 0x128]
mov dword [r13 + 0x18], eax
mov dword [rsp + 0x128], edx
mov rcx, qword [r13 + 0x20]
mov rax, qword [rsp + 0x130]
mov qword [r13 + 0x20], rax
mov qword [rsp + 0x130], rcx
test r8, r8
je 0x140011c3f
sub r8, r9
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsp + 0x110], r14
mov rcx, qword [rsp + 0x130]
cmp rcx, 0xffffffffffffffff
je 0x140011c4c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x140011c5f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x140011ca2
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011c9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011e39
call fcn.140062edc
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1400634e0
movaps xmm6, xmmword [rsp + 0x340]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea edx, [r14 + 0x12]
lea rcx, [rsp + 0x68]
call fcn.1400124c0
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x170]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x170]
call fcn.14006442c
nop
mov edx, 0x13
call fcn.1400124c0
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x1f0]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x1f0]
call fcn.14006442c
mov edx, 9
call fcn.1400124c0
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x230]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x230]
call fcn.14006442c
nop
call sub.KERNEL32.dll_GetLastError
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140012480
lea rcx, [rsp + 0x110]
call fcn.140018390
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x270]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x270]
call fcn.14006442c
nop
call fcn.140071a7c
nop
call sub.KERNEL32.dll_GetLastError
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140012480
lea rcx, [rsp + 0x110]
call fcn.140018390
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x2b0]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x2b0]
call fcn.14006442c
nop
call fcn.140071a7c
nop
mov edx, 0x13
lea rcx, [rsp + 0x48]
call fcn.1400124c0
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x2f0]
call fcn.1400124d0
lea rdx, [0x1400c7a78]
lea rcx, [rsp + 0x2f0]
call fcn.14006442c
nop
call fcn.140071a7c
int3