Function at 0x140040f50
Capabilities:
Check for time delay via gettickcount
Encode data using xor
Terminate process

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4d0
mov qword [rax - 0x420], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x140184e90]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov r15, rdx
mov r14, rcx
mov qword [rsp + 0x98], rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
xor r13d, r13d
mov dword [rsp + 0x20], r13d
lea rdx, [rsp + 0x20]
mov rcx, qword [r15 + 0x1d0]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edi, eax
mov ebx, dword [r14 + 0x1e4]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, dword [r15 + 0x1e8]
jbe 0x140040fed
test ebx, ebx
jne 0x140040fe1
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [r15 + 0x1f0]
call fcn.14004f368
test edi, edi
je 0x14004100a
cmp dword [rsp + 0x20], 0x103
jne 0x14004100a
mov ecx, dword [r15 + 0x1dc]
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140040fa1
mov ecx, dword [0x14018cd80]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub r8d, edx
cmp r8d, 4
jne 0x14004104b
lea rcx, [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
cmp dword [rsp + 0x20], r13d
je 0x1400412d7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, esi
mov eax, 0x10624dd3
mul ecx
mov esi, edx
shr esi, 6
lea rcx, [r14 + 0x48]
mov r8d, 8
lea rdx, [rsp + 0xa8]
call fcn.1400168f8
nop
mov r8d, 4
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.1400169b0
nop
mov r13d, 0x10
mov r8d, r13d
xor edx, edx
mov rcx, qword [rax]
call fcn.1400b5a08
mov ebx, eax
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
or edi, 0xffffffff
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
add ecx, edi
xor r12d, r12d
test ecx, ecx
jg 0x1400410d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400410f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ebx, eax
mov eax, 7
cmp ebx, eax
jne 0x1400412d2
xor ecx, ecx
call fcn.1400b3854
mov rbx, rax
call fcn.14001daa4
movsxd rcx, eax
sub rbx, rcx
cmp rbx, 0x93a80
jge 0x1400412d2
xor r13d, r13d
lea rdx, [0x140188b68]
lea ebx, [r13 + 1]
cmp byte [0x14018d87d], r12b
lea r12, [0x140187da0]
jne 0x1400411bd
mov dword [rsp + 0x480], 0x47
mov dword [rsp + 0x484], 0x100014
mov dword [rsp + 0x488], 0x3f0007
mov dword [rsp + 0x48c], 0x80006
mov dword [rsp + 0x490], 0x500006
mov word [rsp + 0x494], r13w
mov ecx, r13d
movzx eax, byte [rcx + r12]
xor ax, word [rsp + rcx*2 + 0x480]
mov word [rdx + rcx*2], ax
add rcx, rbx
cmp rcx, 0xa
jl 0x14004119d
mov byte [0x14018d87d], bl
lea rcx, [rsp + 0x38]
call fcn.140001cb0
nop
call fcn.14003a844
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140001cb0
nop
mov r8d, dword [rsp + 0x20]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.14001a7a4
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14001a818
nop
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14001a7a4
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14004123e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140041261
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140041284
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400412a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1400424e0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400412e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400412e6
xor r13d, r13d
jmp 0x1400412da
or edi, 0xffffffff
mov ebx, 1
lea r12, [0x140187da0]
mov dword [r14 + 0x1d8], r13d
mov ecx, dword [0x14018cd80]
imul ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
cmp ecx, 0x11
jne 0x14004139d
mov rsi, r13
mov qword [rsp + 0x50], r13
cmp rsi, 0x5a
jae 0x140041346
call fcn.1400b1650
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rsp + rsi*8 + 0x1b0], xmm0
add rsi, rbx
mov qword [rsp + 0x50], rsi
jmp 0x140041320
mov eax, r13d
mov dword [rsp + 0x34], eax
cmp eax, 0x5a
jge 0x14004139d
mov ecx, 0x59
mov dword [rsp + 0x30], ecx
cmp ecx, eax
jle 0x140041399
movsxd rdx, ecx
movsd xmm0, qword [rsp + rdx*8 + 0x1b0]
movsd xmm1, qword [rsp + rdx*8 + 0x1a8]
comisd xmm0, xmm1
jbe 0x140041395
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + rdx*8 + 0x1b0], xmm1
movsd qword [rsp + rdx*8 + 0x1a8], xmm0
sub ecx, ebx
jmp 0x140041357
add eax, ebx
jmp 0x140041349
lea rcx, [r15 + 0x1f0]
call fcn.14004f368
lea r13, [r14 + 0x188]
mov rdx, r13
lea rcx, [rsp + 0x28]
call fcn.140002948
nop
mov rcx, r15
call fcn.1400403ac
mov esi, eax
mov dword [rsp + 0xc0], eax
test eax, eax
je 0x1400413ff
lea rdx, str.task
mov rcx, qword [r14 + 0xe0]
call fcn.1400c4c70
test eax, eax
sete dl
test dl, dl
je 0x1400413f7
mov rcx, r14
call fcn.140013464
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [r13]
mov qword [rsp + 0xe8], rcx
xor esi, esi
mov eax, esi
test rcx, rcx
setne al
mov dword [rsp + 0xc4], eax
test eax, eax
jne 0x14004142a
mov ecx, 0x80004005
call fcn.140001874
mov rax, qword [rsp + 0x28]
sub rcx, rax
mov r13d, 2
movzx edx, word [rax]
cmp dx, word [rax + rcx]
jne 0x14004144d
add rax, r13
test dx, dx
jne 0x140041438
mov eax, esi
jmp 0x140041451
sbb eax, eax
or eax, ebx
mov dword [rsp + 0x60], eax
test eax, eax
je 0x14004162d
lea rdx, str.___:
lea rcx, [rsp + 0x48]
call fcn.1400029e4
nop
lea r9, [0x140188628]
cmp byte [0x14018d881], sil
jne 0x140041527
mov dword [rsp + 0x498], 0xd0002
mov dword [rsp + 0x49c], 0x30033
mov dword [rsp + 0x4a0], 0x190001
mov dword [rsp + 0x4a4], 0xc001c
mov dword [rsp + 0x4a8], 0x3000c
mov dword [rsp + 0x4ac], 0x120039
mov r10d, 0x12
mov dword [rsp + 0x4b0], 0xf001c
mov dword [rsp + 0x4b4], 0xc000b
mov dword [rsp + 0x4b8], 0x2f0010
mov word [rsp + 0x4bc], si
mov r8d, esi
mov dword [rsp + 0x24], esi
cmp r8d, r10d
jge 0x140041521
movsxd rdx, r8d
movzx ecx, word [rsp + rdx*2 + 0x498]
movzx eax, byte [rdx + r12]
xor ecx, eax
mov word [r9 + rdx*2], cx
add r8d, ebx
mov dword [rsp + 0x24], r8d
jmp 0x1400414fb
mov byte [0x14018d881], bl
lea r8, [rsp + 0x28]
mov rdx, r9
lea rcx, [rsp + 0x58]
call fcn.140016b30
nop
lea r8, [rsp + 0x48]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.14000cfa0
nop
lea r8, [r14 + 0x188]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.14000cfa0
nop
mov rdx, rax
mov rcx, r14
call fcn.1400424e0
nop
mov rcx, qword [rsp + 0xa0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xd0], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400415a7
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0xb0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xc8], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
add eax, edi
test eax, eax
jg 0x1400415da
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x68], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140041604
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x78], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14004162d
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r15 + 0x1f0]
call fcn.14004f368
nop
mov rcx, qword [rsp + 0x28]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x88], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14004166a
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xor eax, eax
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.1400b0c90
lea r11, [rsp + 0x4d0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret