Function at 0x1800e6280
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 0x1800e66bf
cmp rbx, 0xc
jb 0x1800e6c47
test edx, edx
jne 0x1800e63cd
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.1800e5fb0
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.1801e60f0
nop
jmp 0x1800e6536
mov ebx, edi
cmp edx, 2
jne 0x1800e68aa
mov byte [rsp + 0x41], bl
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
test bl, bl
jne 0x1800e6521
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.1800e5fb0
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 0x1800e64ab
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x2a0], 0xffffffffffffffff
mov rcx, rbx
call fcn.1801e60f0
nop
mov byte [rsp + 0x42], 1
mov bl, 1
mov byte [rsp + 0x41], bl
lea rcx, [rsp + 0x68]
call fcn.1800eb1e0
jmp 0x1800e63e6
mov ebx, edi
cmp byte [rsp + 0x42], 0
je 0x1800e68aa
mov rbx, qword [rsp + 0x258]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1800eaff0
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.1800e43e0
nop
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x80], rdx
xor eax, eax
mov r15d, 1
lock cmpxchg dword [rdx], r15d
jne 0x1800e66a7
mov r9, qword [rsp + 0x278]
lea r8, [r9 + 8]
mov rax, qword [rsp + 0x358]
test eax, eax
je 0x1800e65db
sub eax, r15d
je 0x1800e65f2
cmp eax, r15d
jne 0x1800e65f2
test r8, r8
je 0x1800e65f2
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 0x1800e668d
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 0x1800e66a2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
jmp 0x1800e6bc6
dec eax
lea rcx, [rsp + 0x220]
cmp eax, r15d
jbe 0x1800e6cb0
jmp 0x1800e6c7f
mov eax, dword [rsp + 0x340]
cmp eax, 0xc0000000
jne 0x1800e676a
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.1800e5fb0
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.1801e60f0
nop
mov ebx, edi
xor r14b, r14b
jmp 0x1800e68b6
cmp eax, ecx
jne 0x1800e6809
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.1800e5fb0
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.1801e60f0
nop
mov ebx, edi
jmp 0x1800e68b6
mov ebx, edi
cmp eax, 0xc0000001
jne 0x1800e68aa
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.1800e5fb0
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.1801e60f0
nop
mov ebx, r15d
xor r14b, r14b
jmp 0x1800e68b6
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 0x1800e6c05
lea rcx, [rsp + 0x68]
call fcn.1800eb1e0
mov rax, qword [rsp + 0x250]
test rax, rax
je 0x1800e68d0
cmp rax, 1
je 0x1800e6ce2
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 0x1800e6939
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.1800e43e0
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 0x1800e6b16
test ebx, ebx
jne 0x1800e69c6
mov eax, dword [0x1802b0580]
test eax, eax
jne 0x1800e69b7
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 0x1800e6abd
cmp ebx, 0x20
jae 0x1800e69de
pause
inc ebx
mov eax, dword [r12]
jmp 0x1800e6987
jne 0x1800e6a9d
mov ecx, 7
call fcn.1800e97e0
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 0x1800e6a31
mov ecx, dword [rsp + 0x258]
dec ecx
mov eax, 0xd1b71759
mul ecx
mov eax, edx
shr eax, 0xd
jmp 0x1800e6a59
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 0x1800e6a8a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov qword [rsp + 0x268], rsi
inc ebx
mov eax, dword [r12]
jmp 0x1800e6987
mov rsi, qword [rsp + 0x268]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6987
test r14d, r14d
jne 0x1800e6ac8
movzx eax, byte [rsp + 0x74]
and al, 1
je 0x1800e6b02
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
test eax, eax
jne 0x1800e6abd
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6987
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1800e6aec
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov qword [rsp + 0x270], rcx
jmp 0x1800e6af4
mov rcx, qword [rsp + 0x270]
sub rcx, rsi
mov eax, r14d
cmp rcx, rax
jb 0x1800e6aab
mov r14d, edi
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov eax, dword [r12]
jmp 0x1800e6987
cmp eax, 2
jne 0x1800e6d1a
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 0x1800e6bb9
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 0x1800e6bc6
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rsp + 0x48]
cmp rcx, 0xffffffffffffffff
je 0x1800e6bd7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call fcn.1801e60f0
nop
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1801e67e0
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.1800e7510
xor r8d, r8d
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x1e0]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0x1e0]
call fcn.18020a9f0
int3
lea edx, [rsi + 0x13]
lea rcx, [rsp + 0x220]
call fcn.1800e7550
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0xa0]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0xa0]
call fcn.18020a9f0
nop
mov edx, reloc.WS2_32.dll_send
call fcn.1800e7550
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0xe0]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0xe0]
call fcn.18020a9f0
mov edx, 9
call fcn.1800e7550
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x120]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0x120]
call fcn.18020a9f0
nop
lea edx, [rax + 0x12]
lea rcx, [rsp + 0x220]
call fcn.1800e7550
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x160]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0x160]
call fcn.18020a9f0
nop
mov edx, reloc.WS2_32.dll_send
lea rcx, [rsp + 0x78]
call fcn.1800e7550
mov rdx, rax
xor r8d, r8d
lea rcx, [rsp + 0x1a0]
call fcn.1800e75b0
lea rdx, [0x18027ecd0]
lea rcx, [rsp + 0x1a0]
call fcn.18020a9f0
int3