Function at 0x140009160
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 8], rcx
push rbp
push r14
push r15
sub rsp, 0x60
movzx r15d, byte [0x140102e5a]
or r15b, byte [0x140102e59]
mov r14, qword [0x140102ec0]
mov byte [rsp + 0x98], r15b
movsxd rbp, edx
mov qword [rsp + 0x20], r14
jne 0x1400091ad
xor edx, edx
xor ecx, ecx
add rsp, 0x60
pop r15
pop r14
pop rbp
jmp fcn.140009fb0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov rdi, qword [0x140102e68]
test rdi, rdi
jne 0x140009342
mov ecx, 0x1800
call fcn.1400a4c34
mov qword [0x140102e68], rax
test rax, rax
je 0x140009338
mov ecx, 0x3000
call fcn.1400a4c34
mov qword [0x140102e60], rax
test rax, rax
je 0x140009338
mov ecx, 0x20000
call fcn.1400a4c34
mov qword [0x140102e80], rax
test rax, rax
je 0x140009338
mov ecx, 0x40000
call fcn.1400a4c34
mov qword [0x140102e78], rax
test rax, rax
je 0x140009338
movsxd rcx, dword [0x140102ec8]
add rcx, rcx
call fcn.1400a8dd8
mov qword [0x140102e70], rax
mov rbx, rax
test rax, rax
je 0x140009338
mov rdi, qword [0x140102e68]
xor edx, edx
mov rcx, rdi
mov r8d, 0x1800
call fcn.1400a7bf0
mov rsi, qword [0x140102e60]
xor edx, edx
mov rcx, rsi
mov r8d, 0x3000
call fcn.1400a7bf0
mov byte [rdi + 0x1a4], 3
lea rax, [0x1400fda6c]
mov byte [rdi + 0xf3c], 1
mov byte [rdi + 0xf54], 2
mov byte [rdi + 0x1bc], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov byte [rdi + 0xf6c], 4
mov byte [rdi + 0xf84], 8
mov byte [rdi + 0x18c], gethostbyname
mov byte [rdi + 0xf0c], 0x10
mov byte [rdi + 0xf24], 0x20
mov byte [rdi + 0x894], 0x40
mov byte [rdi + 0x8ac], 0x80
mov byte [rsi + 0x2c4], 1
mov byte [rsi + 0x1ac4], 2
mov byte [rsi + 0x54c], 4
mov byte [rsi + 0x1d4c], 8
mov byte [rsi + 0x3fc], 0x10
mov byte [rsi + 0x1d1c], 0x20
mov byte [rsi + 0x2094], 0x40
mov byte [rsi + 0x20ac], 0x80
mov qword [rdi + 0xd98], rax
lea rax, [0x1400fe30c]
mov qword [rdi + 0x1e0], rax
lea rax, [0x1400ff2f4]
mov qword [rdi + 0xd80], rax
jmp 0x140009350
call fcn.14000a720
jmp 0x140009dd8
mov rsi, qword [0x140102e60]
mov rbx, qword [0x140102e70]
mov qword [rsp + 0x48], r12
lea rax, [rdi + 0xd]
mov qword [rsp + 0x40], r13
mov r12d, 0x7fff
mov ecx, 0x100
nop dword [rax]
and byte [rax + 3], 8
mov word [rax - 3], r12w
mov word [rax], 0
mov byte [rax + 2], 0
mov byte [rax + 0xa], 0
lea rax, [rax + 0x18]
sub rcx, 1
jne 0x140009370
lea rax, [rsi + 0xd]
mov ecx, 0x200
nop dword [rax]
and byte [rax + 3], 8
mov word [rax - 3], r12w
mov word [rax], 0
mov byte [rax + 2], 0
mov byte [rax + 0xa], 0
lea rax, [rax + 0x18]
sub rcx, 1
jne 0x1400093a0
lea rdx, [0x1400fda78]
mov r8d, 0x1fe
lea edi, [rcx + 0xd]
movzx ecx, word [rdx]
lea eax, [rcx - 1]
cmp ax, r8w
ja 0x1400093e8
movzx eax, cx
lea rcx, [rax + rax*2]
mov byte [rsi + rcx*8 + 0x17], 1
add rdx, 0x10
sub rdi, 1
jne 0x1400093d0
mov rdi, qword [0x140102e80]
mov ecx, 0x10000
movzx eax, r12w
rep stosw word [rdi], ax
mov rdi, qword [0x140102e78]
mov ecx, 0x20000
movzx eax, r12w
rep stosw word [rdi], ax
xor eax, eax
cmp dword [0x140102ec8], eax
jle 0x140009442
nop dword [rax]
nop word [rax + rax]
mov word [rbx], r12w
lea rbx, [rbx + 2]
inc eax
cmp eax, dword [0x140102ec8]
jl 0x140009430
movzx ecx, word [0x140102ed4]
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400a4c34
xor ecx, ecx
mov qword [rsp + 0x80], rax
xor r13d, r13d
mov qword [rax], rcx
mov rax, rbp
mov qword [rsp + 0x28], rax
test ebp, ebp
jle 0x140009c35
mov r15, qword [rsp + 0x80]
xor r12d, r12d
mov rbx, qword [0x140102e68]
add r15, 6
mov rsi, qword [0x140102e60]
mov ecx, 0x1ff
mov r8d, 0x8000
nop dword [rax]
mov rdi, qword [r14 + r12*8]
movzx eax, byte [rdi + 0x12]
dec al
cmp al, 2
ja 0x140009724
cmp byte [0x140102d01], 0
je 0x140009524
cmp word [rdi + 6], 0
jne 0x140009724
mov rbp, qword [rdi + 0x28]
test rbp, rbp
je 0x140009724
mov rcx, rbp
call fcn.140083940
test al, al
jne 0x14000950b
mov rbp, qword [rbp + 0x10]
test rbp, rbp
jne 0x1400094e3
mov rbx, qword [0x140102e68]
mov rsi, qword [0x140102e60]
jmp 0x140009724
mov rbx, qword [0x140102e68]
mov ecx, 0x1ff
mov rsi, qword [0x140102e60]
mov r8d, 0x8000
cmp word [rdi + 6], 0
je 0x140009572
cmp byte [rdi + 0x19], 0
sete al
test al, al
jne 0x140009724
movzx edx, byte [rdi + 0x10]
test dl, dl
jne 0x14000954d
cmp word [rdi + 8], 0
je 0x140009724
movzx eax, word [rdi + 8]
cmp ax, cx
ja 0x140009724
test dl, dl
jne 0x140009594
movzx eax, ax
lea rcx, [rax + rax*2]
lea rbp, [rsi + rcx*8]
mov byte [rbp + 0x17], 1
jmp 0x140009673
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x140009724
nop
cmp byte [rax + 0x28], 0
jne 0x14000953a
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140009580
jmp 0x140009724
movzx eax, dl
lea rcx, [rax + rax*2]
lea rbp, [rbx + rcx*8]
movzx ecx, dl
sub ecx, 0x10
je 0x140009635
sub ecx, 1
je 0x1400095f5
cmp ecx, 1
jne 0x140009673
mov byte [rbx + 0xf6e], cl
mov byte [rbx + 0xf86], cl
mov byte [rsi + 0x54e], cl
mov byte [rsi + 0x1d4e], cl
cmp byte [rdi + 0x16], 0
je 0x140009673
mov byte [rbx + 0xf6f], cl
mov byte [rbx + 0xf87], cl
mov byte [rsi + 0x54f], cl
mov byte [rsi + 0x1d4f], cl
jmp 0x140009673
mov byte [rbx + 0xf3e], 1
mov byte [rbx + 0xf56], 1
mov byte [rsi + 0x2c6], 1
mov byte [rsi + 0x1ac6], 1
cmp byte [rdi + 0x16], 0
je 0x140009673
mov byte [rbx + 0xf3f], 1
mov byte [rbx + 0xf57], 1
mov byte [rsi + 0x2c7], 1
mov byte [rsi + 0x1ac7], 1
jmp 0x140009673
mov byte [rbx + 0xf0e], 1
mov byte [rbx + 0xf26], 1
mov byte [rsi + 0x3fe], 1
mov byte [rsi + 0x1d1e], 1
cmp byte [rdi + 0x16], 0
je 0x140009673
mov byte [rbx + 0xf0f], 1
mov byte [rbx + 0xf27], 1
mov byte [rsi + 0x3ff], 1
mov byte [rsi + 0x1d1f], 1
mov byte [rbp + 0xe], 1
cmp byte [rdi + 0x16], 0
movzx r14d, word [rdi + 4]
je 0x14000968a
mov byte [rbp + 0xf], 1
or r14w, r8w
movzx edx, byte [rdi + 0x11]
test dl, dl
jne 0x14000969d
cmp word [rdi + 0xa], 0
jne 0x14000969d
xor al, al
jmp 0x14000969f
mov al, 1
cmp byte [rbp + 0xc], 0
je 0x140009828
cmp byte [rdi + 0xf], 0
jne 0x140009828
test al, al
jne 0x140009830
test byte [rdi + 0x13], 2
jne 0x1400096d1
movzx edx, word [rdi + 8]
xor r8d, r8d
movzx ecx, byte [rdi + 0x10]
call fcn.140008f60
cmp byte [rdi + 0xf], 0
jne 0x1400096e1
test byte [rdi + 0x13], 2
je 0x1400096e1
or byte [rbp + 0x10], 1
movzx eax, word [rdi + 6]
test ax, ax
cmovne r14w, ax
inc r13d
mov word [r15 + 4], r14w
movzx eax, byte [rdi + 0x10]
mov byte [r15], al
movzx eax, word [rdi + 8]
mov word [r15 + 2], ax
mov eax, dword [rdi]
mov dword [r15 - 6], eax
movzx eax, byte [rdi + 0xe]
mov byte [r15 - 2], al
movzx eax, byte [rdi + 0x15]
mov byte [r15 - 1], al
add r15, 0xc
mov r14, qword [rsp + 0x20]
inc r12
mov ecx, 0x1ff
mov r8d, 0x8000
cmp r12, qword [rsp + 0x28]
jl 0x1400094b0
test r13d, r13d
je 0x140009c26
mov rbx, qword [rsp + 0x80]
lea r9, [0x140008d70]
movsxd rdi, r13d
mov rcx, rbx
mov rdx, rdi
mov qword [rsp + 0x20], rdi
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call fcn.1400ab4e0
test r13d, r13d
jle 0x140009c26
mov rsi, qword [0x140102e78]
lea rax, [rbx + 0xa]
mov r14, qword [0x140102e80]
add rsi, 0x270
mov r9, qword [0x140102e70]
add r14, 0x14a
mov qword [rsp + 0x30], r14
mov edx, 0x7fff
mov qword [rsp + 0x28], rsi
nop dword [rax]
movzx ebx, word [rax]
movzx r10d, byte [rax - 6]
movzx r15d, bx
mov r11d, dword [rax - 0xa]
and bx, dx
shr r15w, 0xf
mov r13d, r11d
and r15b, 1
test r10b, r10b
je 0x140009817
movzx ecx, r10b
and cl, 0xc0
neg cl
movzx ecx, r10b
sbb edx, edx
and edx, 8
mov edi, edx
or edi, 1
and cl, 0xc
movzx ecx, r10b
cmove edi, edx
mov r8d, edi
or r8d, 4
and cl, 0x30
movzx ecx, r10b
cmove r8d, edi
mov edx, r8d
or edx, 2
and cl, 3
cmove edx, r8d
or r13d, edx
cmp byte [rax - 5], 0
je 0x140009964
xor cl, cl
jmp 0x1400099bb
test al, al
je 0x1400096d1
test dl, dl
je 0x14000990b
movzx eax, dl
lea rcx, [rax + rax*2]
cmp byte [rbx + rcx*8 + 0xc], 0
lea rax, [rbx + rcx*8]
je 0x1400098f2
lea eax, [rdx - 0x10]
cmp al, 2
ja 0x1400098e4
movzx ecx, dl
sub ecx, 0x10
je 0x1400098bf
sub ecx, 1
je 0x140009897
cmp ecx, 1
jne 0x14000994f
mov byte [rbx + 0x1bd], 2
mov byte [rbx + 0xf6d], 2
mov byte [rbx + 0xf85], 2
mov byte [rsi + 0x54d], 2
mov byte [rsi + 0x1d4d], 2
jmp 0x14000994f
mov byte [rbx + 0x1a5], 2
mov byte [rbx + 0xf3d], 2
mov byte [rbx + 0xf55], 2
mov byte [rsi + 0x2c5], 2
mov byte [rsi + 0x1ac5], 2
jmp 0x14000994f
mov byte [rbx + 0x18d], 2
mov byte [rbx + 0xf0d], 2
mov byte [rbx + 0xf25], 2
mov byte [rsi + 0x3fd], 2
mov byte [rsi + 0x1d1d], 2
jmp 0x14000994f
movzx eax, dl
lea rcx, [rax + rax*2]
mov byte [rbx + rcx*8 + 0xd], 1
jmp 0x14000994f
mov byte [rax + 0xd], 1
test byte [rdi + 0x13], 1
je 0x14000994f
movzx eax, byte [rdi + 0x11]
lea rcx, [rax + rax*2]
or byte [rbx + rcx*8 + 0x10], 1
jmp 0x14000994f
movzx ecx, word [rdi + 0xa]
lea rax, [rcx + rcx*2]
cmp byte [rsi + rax*8 + 0xc], 0
lea rdx, [rsi + rax*8]
je 0x14000992b
mov eax, ecx
lea rcx, [rcx + rcx*2]
mov byte [rsi + rcx*8 + 0xd], 1
jmp 0x14000994f
mov byte [rdx + 0xd], 1
test byte [rdi + 0x13], 1
je 0x140009942
movzx eax, word [rdi + 0xa]
lea rcx, [rax + rax*2]
or byte [rsi + rcx*8 + 0x10], 1
movzx eax, word [rdi + 0xa]
lea rcx, [rax + rax*2]
mov byte [rsi + rcx*8 + 0x17], 1
movzx eax, word [rbp + 0xa]
mov word [rdi + 0xc], ax
movzx eax, word [rdi + 4]
mov word [rbp + 0xa], ax
jmp 0x14000971f
mov ecx, r11d
mov edi, r11d
and cl, 8
neg cl
sbb cl, cl
and cl, 0xc0
movzx r8d, cl
movzx ecx, r8b
or cl, 0xc
movzx edx, cl
and dil, 1
mov edi, r11d
cmove edx, r8d
movzx r8d, dl
movzx ecx, r8b
or cl, 3
movzx edx, cl
and dil, 2
cmove edx, r8d
movzx edx, dl
movzx ecx, dl
or cl, 0x30
movzx ecx, cl
and r11b, 4
cmove ecx, edx
or cl, r10b
not cl
xor r10d, r10d
movzx r12d, cl
xor ebp, ebp
xor r11d, r11d
test r10d, r12d
jne case.0x140009b63.19
movzx ecx, r10b
and cl, 0xc0
neg cl
movzx ecx, r10b
sbb edx, edx
and edx, 8
mov edi, edx
or edi, 1
and cl, 0xc
movzx ecx, r10b
cmove edi, edx
mov r8d, edi
or r8d, 4
and cl, 0x30
movzx ecx, r10b
cmove r8d, edi
mov edx, r8d
or edx, 2
and cl, 3
cmove edx, r8d
and edx, r13d
cmp r13d, edx
jne case.0x140009b63.19
movzx ecx, byte [rax - 6]
test cl, cl
je 0x140009a34
movzx edx, cl
mov ecx, edx
and ecx, r10d
cmp edx, ecx
jne case.0x140009b63.19
movzx ecx, byte [rax - 4]
test cl, cl
jne 0x140009ac5
movzx ecx, word [rax - 2]
mov rdx, qword [0x140102e78]
add ecx, ebp
movsxd rcx, ecx
movzx edi, word [rdx + rcx*2]
lea r8, [rdx + rcx*2]
mov edx, 0x7fff
cmp di, dx
jne 0x140009a6e
movzx ecx, word [rax]
mov word [r8], cx
jmp case.default.0x140009b63
movzx ecx, di
shr cx, 0xf
and cl, 1
test r15b, r15b
je 0x140009a91
test cl, cl
jne 0x140009aa9
movzx ecx, word [rax]
and rdi, rdx
mov word [r9 + rdi*2], cx
jmp case.default.0x140009b63
test cl, cl
je 0x140009aa9
movzx ecx, bx
mov word [r9 + rcx*2], di
movzx ecx, word [rax]
mov word [r8], cx
jmp case.default.0x140009b63
and rdi, rdx
movzx edx, bx
movzx ecx, word [r9 + rdi*2]
mov word [r9 + rdx*2], cx
movzx ecx, word [rax]
mov word [r8], cx
jmp case.0x140009b63.19
mov rdx, qword [0x140102e80]
movzx ecx, cl
add ecx, r11d
movsxd rcx, ecx
movzx edi, word [rdx + rcx*2]
lea r8, [rdx + rcx*2]
mov edx, 0x7fff
cmp di, dx
je 0x140009b2d
movzx ecx, di
shr cx, 0xf
and cl, 1
test r15b, r15b
je 0x140009b0a
test cl, cl
jne 0x140009b18
movzx ecx, word [rax]
and rdi, rdx
mov word [r9 + rdi*2], cx
jmp case.default.0x140009b63
test cl, cl
je 0x140009b18
movzx ecx, bx
mov word [r9 + rcx*2], di
jmp 0x140009b2d
and rdi, rdx
movzx edx, bx
movzx ecx, word [r9 + rdi*2]
mov word [r9 + rdx*2], cx
mov edx, 0x7fff
movzx ecx, word [rax]
mov word [r8], cx
movzx ecx, byte [rax - 4]
add ecx, 0xfffffff0
cmp ecx, 0x95
ja case.default.0x140009b63
lea rdi, [0x140000000]
movsxd rcx, ecx
movzx ecx, byte [rdi + rcx + 0x9e10]
mov edx, dword [rdi + rcx*4 + 0x9df4]
add rdx, rdi
jmp rdx
movzx ecx, word [rax]
mov word [r14 - 2], cx
movzx ecx, word [rax]
mov word [rsi - 0x200], cx
cmp byte [rax - 4], 0xa4
je case.0x140009b63.19
movzx ecx, word [rax]
mov word [r14], cx
movzx ecx, word [rax]
mov word [rsi], cx
jmp case.0x140009b63.19
movzx ecx, word [rax]
mov word [r14 - 0xa], cx
movzx ecx, word [rax]
mov word [rsi - 0x21c], cx
cmp byte [rax - 4], 0xa0
je case.0x140009b63.19
movzx ecx, word [rax]
mov word [r14 - 8], cx
movzx ecx, word [rax]
mov word [rsi - 4], cx
jmp case.0x140009b63.19
movzx ecx, word [rax]
mov word [r14 - 6], cx
movzx ecx, word [rax]
mov word [rsi - 0x236], cx
cmp byte [rax - 4], 0xa2
je case.0x140009b63.19
movzx ecx, word [rax]
mov word [r14 - 4], cx
movzx ecx, word [rax]
mov word [rsi - 0x36], cx
mov edx, 0x7fff
inc r10d
add r11d, 0x100
add r14, 0x200
add ebp, 0x200
add rsi, 0x400
cmp r11d, 0xff00
jle 0x1400099c7
mov rsi, qword [rsp + 0x28]
add rax, 0xc
sub qword [rsp + 0x20], 1
mov r14, qword [rsp + 0x30]
jne 0x1400097b0
movzx r15d, byte [rsp + 0x98]
mov r12d, 0x7fff
mov rcx, qword [rsp + 0x80]
call fcn.1400a4c3c
mov rdx, qword [0x140102e68]
mov r13, qword [rsp + 0x40]
cmp byte [rdx + 0x18e], 0
je 0x140009cc8
movzx r8d, word [rdx + 0x18a]
cmp r8w, r12w
je 0x140009cc8
lea rax, [rdx + 0xf0a]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009c94
mov rdi, qword [0x140102ec0]
nop dword [rax]
movzx eax, cx
mov rax, qword [rdi + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009c80
mov word [rax], r8w
lea rax, [rdx + 0xf22]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009cc4
mov rdi, qword [0x140102ec0]
nop
movzx eax, cx
mov rax, qword [rdi + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009cb0
mov word [rax], r8w
cmp byte [rdx + 0x1a6], 0
je 0x140009d48
movzx r8d, word [rdx + reloc.OLEAUT32.dll_OleCreatePictureIndirect]
cmp r8w, r12w
je 0x140009d48
lea rax, [rdx + 0xf3a]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009d14
mov rdi, qword [0x140102ec0]
nop word [rax + rax]
movzx eax, cx
mov rax, qword [rdi + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009d00
mov word [rax], r8w
lea rax, [rdx + 0xf52]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009d44
mov rdi, qword [0x140102ec0]
nop
movzx eax, cx
mov rax, qword [rdi + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009d30
mov word [rax], r8w
cmp byte [rdx + 0x1be], 0
je 0x140009dc8
movzx r8d, word [rdx + 0x1ba]
cmp r8w, r12w
je 0x140009dc8
lea rax, [rdx + 0xf6a]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009d94
mov rdi, qword [0x140102ec0]
nop word [rax + rax]
movzx eax, cx
mov rax, qword [rdi + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009d80
mov word [rax], r8w
lea rax, [rdx + 0xf82]
movzx ecx, word [rax]
cmp cx, r12w
je 0x140009dc4
mov rdx, qword [0x140102ec0]
nop
movzx eax, cx
mov rax, qword [rdx + rax*8]
add rax, 0xc
movzx ecx, word [rax]
cmp cx, r12w
jne 0x140009db0
mov word [rax], r8w
xor edx, edx
movzx ecx, r15b
call fcn.140009fb0
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x50]
add rsp, 0x60
pop r15
pop r14
pop rbp
ret