Function at 0x1800e6360
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter
Get file size
Get system information on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov rax, qword [0x18029e198]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov rbx, r9
mov qword [rsp + 0x258], rbx
mov r14, r8
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x268], rcx
mov qword [rsp + 0x250], r8
mov qword [rsp + 0x220], rbx
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x260], rax
mov r15, qword [rsp + 0x350]
mov qword [rsp + 0x80], r15
mov byte [rsp + 0x42], 0
xor al, al
mov byte [rsp + 0x40], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x48], rsi
mov ecx, 0x80000000
mov r12d, ecx
mov dword [rsp + 0x50], ecx
xor r13b, r13b
mov byte [rsp + 0x60], r13b
xor edi, edi
mov qword [rsp + 0x58], rdi
cmp edx, 1
je 0x1800e679f
cmp rbx, 0xc
jb 0x1800e6d27
test edx, edx
jne 0x1800e64ad
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x238], xmm0
xor eax, eax
mov byte [rsp + 0x240], al
mov qword [rsp + 0x238], rdi
mov qword [rsp + 0x20], r15
mov r9d, 0xc0000000
mov r8, qword [r8]
lea rcx, [rsp + 0x228]
call fcn.1800e6090
nop
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x228], rsi
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x60], al
xor ecx, ecx
call fcn.1801e61d0
nop
jmp 0x1800e6616
mov ebx, edi
cmp edx, 2
jne 0x1800e698a
mov byte [rsp + 0x41], bl
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
test bl, bl
jne 0x1800e6601
xorps xmm0, xmm0
movups xmmword [rsp + 0x2a0], xmm0
movups xmmword [rsp + 0x2b0], xmm0
xor eax, eax
mov byte [rsp + 0x2b8], al
mov qword [rsp + 0x2b0], rdi
mov qword [rsp + 0x20], r15
mov r9d, 0xc0000000
mov r8, qword [r14]
xor edx, edx
lea rcx, [rsp + 0x2a0]
call fcn.1800e6090
nop
mov rax, qword [rsp + 0x2a0]
cmp rsi, 0xffffffffffffffff
mov rcx, rsi
mov qword [rsp + 0x2a0], rcx
mov rsi, rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x2a8], r12d
mov r12d, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x2b0]
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x2b0], rbx
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x2b8]
mov byte [rsp + 0x2b8], r13b
movzx r13d, al
mov byte [rsp + 0x60], al
je 0x1800e658b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x2a0], 0xffffffffffffffff
mov rcx, rbx
call fcn.1801e61d0
nop
mov byte [rsp + 0x42], 1
mov bl, 1
mov byte [rsp + 0x41], bl
lea rcx, [rsp + 0x68]
call fcn.1800eb2c0
jmp 0x1800e64c6
mov ebx, edi
cmp byte [rsp + 0x42], 0
je 0x1800e698a
mov rbx, qword [rsp + 0x258]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1800eb0d0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x278], xmm0
movups xmmword [rsp + 0x288], xmm0
mov qword [rsp + 0x298], rax
mov dword [rsp + 0x30], 0xffffffff
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8d, 0xc0000000
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x278]
call fcn.1800e44c0
nop
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x80], rdx
xor eax, eax
mov r15d, 1
lock cmpxchg dword [rdx], r15d
jne 0x1800e6787
mov r9, qword [rsp + 0x278]
lea r8, [r9 + 8]
mov rax, qword [rsp + 0x358]
test eax, eax
je 0x1800e66bb
sub eax, r15d
je 0x1800e66d2
cmp eax, r15d
jne 0x1800e66d2
test r8, r8
je 0x1800e66d2
mov eax, dword [rsp + 0x35c]
xchg dword [r8], eax
mov r9, qword [rsp + 0x278]
mov r8, qword [rsp + 0x78]
mov rax, qword [r8]
mov qword [r8], r9
mov qword [rsp + 0x278], rax
mov rcx, qword [r8 + 8]
mov rax, qword [rsp + 0x280]
mov qword [r8 + 8], rax
mov qword [rsp + 0x280], rcx
mov rcx, qword [r8 + 0x10]
mov rax, qword [rsp + 0x288]
mov qword [r8 + 0x10], rax
mov qword [rsp + 0x288], rcx
mov ecx, dword [r8 + 0x18]
mov eax, dword [rsp + 0x290]
mov dword [r8 + 0x18], eax
mov dword [rsp + 0x290], ecx
mov rcx, qword [r8 + 0x20]
mov rax, qword [rsp + 0x298]
mov qword [r8 + 0x20], rax
mov qword [rsp + 0x298], rcx
mov eax, 2
xchg dword [rdx], eax
mov rcx, qword [rsp + 0x278]
test rcx, rcx
je 0x1800e676d
sub rcx, qword [rsp + 0x288]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsp + 0x278], rdi
mov rcx, qword [rsp + 0x298]
cmp rcx, 0xffffffffffffffff
je 0x1800e6782
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x1800e6ca6
dec eax
lea rcx, [rsp + 0x220]
cmp eax, r15d
jbe 0x1800e6d90
jmp 0x1800e6d5f
mov eax, dword [rsp + 0x340]
cmp eax, 0xc0000000
jne 0x1800e684a
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x238], xmm0
xor eax, eax
mov byte [rsp + 0x240], al
mov qword [rsp + 0x238], rdi
mov qword [rsp + 0x220], rdi
lea rax, [rsp + 0x220]
mov qword [rsp + 0x20], rax
mov r9d, 0xc0000000
mov r8, qword [r8]
mov r15d, 1
mov edx, r15d
lea rcx, [rsp + 0x228]
call fcn.1800e6090
nop
mov rsi, qword [rsp + 0x228]
mov qword [rsp + 0x48], rsi
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x60], al
xor ecx, ecx
call fcn.1801e61d0
nop
mov ebx, edi
xor r14b, r14b
jmp 0x1800e6996
cmp eax, ecx
jne 0x1800e68e9
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x238], xmm0
xor eax, eax
mov byte [rsp + 0x240], al
mov qword [rsp + 0x238], rdi
mov qword [rsp + 0x220], rdi
lea rax, [rsp + 0x220]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [r8]
mov r15d, 1
mov edx, r15d
lea rcx, [rsp + 0x228]
call fcn.1800e6090
nop
mov rsi, qword [rsp + 0x228]
mov qword [rsp + 0x48], rsi
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x60], al
movzx r14d, r15b
xor ecx, ecx
call fcn.1801e61d0
nop
mov ebx, edi
jmp 0x1800e6996
mov ebx, edi
cmp eax, 0xc0000001
jne 0x1800e698a
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x238], xmm0
xor eax, eax
mov byte [rsp + 0x240], al
mov qword [rsp + 0x238], rdi
mov qword [rsp + 0x220], rdi
lea rax, [rsp + 0x220]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [r8]
mov r15d, 1
mov edx, r15d
lea rcx, [rsp + 0x228]
call fcn.1800e6090
nop
mov rsi, qword [rsp + 0x228]
mov qword [rsp + 0x48], rsi
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x60], al
xor ecx, ecx
call fcn.1801e61d0
nop
mov ebx, r15d
xor r14b, r14b
jmp 0x1800e6996
mov r15d, 1
movzx r14d, byte [rsp + 0x40]
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 0
nop dword [rax]
lea rdx, [rsp + 0x250]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1800e6ce5
lea rcx, [rsp + 0x68]
call fcn.1800eb2c0
mov rax, qword [rsp + 0x250]
test rax, rax
je 0x1800e69b0
cmp rax, 1
je 0x1800e6dc2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x238], xmm0
mov qword [rsp + 0x248], rax
test r14b, r14b
mov r8d, 0x80000000
jne 0x1800e6a19
lea r8d, [rbx - 0x40000000]
mov dword [rsp + 0x30], 0xffffffff
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x228]
call fcn.1800e44c0
nop
mov r12, qword [rsp + 0x228]
mov eax, dword [r12]
mov rsi, rdi
mov r14d, edi
mov ebx, edi
movabs r13, 0x38d7ea4c67fff
mov dword [rsp + 0x74], ebx
cmp eax, 1
ja 0x1800e6bf6
test ebx, ebx
jne 0x1800e6aa6
mov eax, dword [0x1802b0580]
test eax, eax
jne 0x1800e6a97
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x2c0]
mov ebx, 0x20
cmp eax, 1
cmova ebx, edi
mov dword [rsp + 0x74], ebx
cmp ebx, 8
jb 0x1800e6b9d
cmp ebx, 0x20
jae 0x1800e6abe
pause
inc ebx
mov eax, dword [r12]
jmp 0x1800e6a67
jne 0x1800e6b7d
mov ecx, 7
call fcn.1800e98c0
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x260]
call rax
lea rcx, [rsp + 0x220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x1800e6b11
mov ecx, dword [rsp + 0x258]
dec ecx
mov eax, 0xd1b71759
mul ecx
mov eax, edx
shr eax, 0xd
jmp 0x1800e6b39
mov eax, dword [rsp + 0x258]
imul r8, rax, 0x5f5e100
mov rax, r13
cqo
idiv qword [rsp + 0x220]
lea rcx, [rax + 1]
lea rax, [r8 - 1]
cqo
idiv rcx
lea r14d, [rax + 1]
lea rcx, [rsp + 0x268]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1800e6b6a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov qword [rsp + 0x268], rsi
inc ebx
mov eax, dword [r12]
jmp 0x1800e6a67
mov rsi, qword [rsp + 0x268]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6a67
test r14d, r14d
jne 0x1800e6ba8
movzx eax, byte [rsp + 0x74]
and al, 1
je 0x1800e6be2
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
test eax, eax
jne 0x1800e6b9d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6a67
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1800e6bcc
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov qword [rsp + 0x270], rcx
jmp 0x1800e6bd4
mov rcx, qword [rsp + 0x270]
sub rcx, rsi
mov eax, r14d
cmp rcx, rax
jb 0x1800e6b8b
mov r14d, edi
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6a67
cmp eax, 2
jne 0x1800e6dfa
mov r9, qword [rsp + 0x78]
mov rdx, qword [r9]
mov rax, qword [rsp + 0x228]
mov qword [r9], rax
mov qword [rsp + 0x228], rdx
mov rcx, qword [r9 + 8]
mov rax, qword [rsp + 0x230]
mov qword [r9 + 8], rax
mov qword [rsp + 0x230], rcx
mov r8, qword [r9 + 0x10]
mov rax, qword [rsp + 0x238]
mov qword [r9 + 0x10], rax
mov qword [rsp + 0x238], r8
mov ecx, dword [r9 + 0x18]
mov eax, dword [rsp + 0x240]
mov dword [r9 + 0x18], eax
mov dword [rsp + 0x240], ecx
mov rcx, qword [r9 + 0x20]
mov rax, qword [rsp + 0x248]
mov qword [r9 + 0x20], rax
mov qword [rsp + 0x248], rcx
test rdx, rdx
je 0x1800e6c99
sub rdx, r8
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rsp + 0x228], rdi
mov rcx, qword [rsp + 0x248]
cmp rcx, 0xffffffffffffffff
je 0x1800e6ca6
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rsp + 0x48]
cmp rcx, 0xffffffffffffffff
je 0x1800e6cb7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call fcn.1801e61d0
nop
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1801e68c0
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call sub.KERNEL32.dll_GetLastError
nop
mov edx, eax
lea rcx, [rsp + 0x220]
call fcn.1800e75f0
xor r8d, r8d
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x1e0]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0x1e0]
call fcn.18020aad0
int3
lea edx, [rsi + 0x13]
lea rcx, [rsp + 0x220]
call fcn.1800e7630
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0xa0]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0xa0]
call fcn.18020aad0
nop
mov edx, reloc.WS2_32.dll_send
call fcn.1800e7630
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0xe0]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0xe0]
call fcn.18020aad0
mov edx, 9
call fcn.1800e7630
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x120]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0x120]
call fcn.18020aad0
nop
lea edx, [rax + 0x12]
lea rcx, [rsp + 0x220]
call fcn.1800e7630
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x160]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0x160]
call fcn.18020aad0
nop
mov edx, reloc.WS2_32.dll_send
lea rcx, [rsp + 0x78]
call fcn.1800e7630
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x1a0]
call fcn.1800e7690
lea rdx, [0x18027edf0]
lea rcx, [rsp + 0x1a0]
call fcn.18020aad0
int3