Function at 0x14005cd10
Capabilities:
Check for time delay via gettickcount
Create thread

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9a0
mov qword [rax - 0x700], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401cee90]
xor rax, rsp
mov qword [rsp + 0x990], rax
mov r14, rcx
mov qword [rsp + 0x198], rcx
xor r12d, r12d
mov dword [rsp + 0x44], r12d
mov byte [0x1401d1c22], r12b
mov byte [0x1401d6ea4], 1
call fcn.140013820
test eax, eax
jne 0x14005e50a
lea rax, [rsp + 0x80]
mov qword [rsp + 0xe8], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rdx, str.613b3d2b26252223
test rdx, 0xffffffffffff0000
jne 0x14005cdd7
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14005cdeb
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140002960
jmp 0x14005cdeb
mov r8d, 0x10
lea rcx, [rsp + 0x80]
call fcn.140002670
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x2c0]
call fcn.14002b560
nop
mov rdx, qword [rax]
lea rbx, [r14 + 0x20]
test rdx, rdx
jne 0x14005ce15
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005ce42
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005ce26
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005ce42
call fcn.1400d5c54
test rax, rax
jne 0x14005ce38
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005ce42
sub rax, qword [rbx]
sar rax, 1
or rdi, 0xffffffffffffffff
cmp eax, 0xffffffff
setne sil
mov rdx, qword [rsp + 0x2c0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005ce69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
jne 0x14005ceb5
mov qword [r14 + 0x2d8], 0xffffffff80000001
mov qword [0x1401d1d58], 0xffffffff80000001
lea rax, [rsp + 0x238]
mov qword [rsp + 0x38], rax
lea r8, [r14 + 0x198]
lea rdx, [0x140160708]
lea rcx, [rsp + 0x238]
call fcn.14001b660
nop
mov rcx, rax
call fcn.14004fcd0
mov rax, qword [r14 + 0x2d8]
mov qword [r14 + 0x2c0], rax
call fcn.140057a90
test rax, rax
jne 0x14005ced2
mov ecx, r12d
jmp 0x14005cedf
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14005ced5
mov r8d, ecx
mov rdx, rax
lea rcx, [r14 + 0x198]
call fcn.140010c10
cmp dword [r14 + 0x2d0], 0
jne 0x14005cf06
mov dword [r14 + 0x2d0], 1
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb8], rax
lea rdx, [0x140160770]
test rdx, 0xffffffffffff0000
jne 0x14005cf64
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005cf78
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140002960
jmp 0x14005cf78
mov r8d, 0x28
lea rcx, [rsp + 0xb8]
call fcn.140002670
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x180]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005cf9a
mov eax, edi
jmp 0x14005cfbb
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005cfa7
mov eax, edi
jmp 0x14005cfbb
call fcn.1400d5c54
test rax, rax
jne 0x14005cfb5
mov eax, edi
jmp 0x14005cfbb
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005cfe1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005d0c8
lea rax, [rsp + 0x270]
mov qword [rsp + 0x38], rax
lea rdx, str.61252b2b3e2f2227382b27203a262b2a2f3c2573
lea rcx, [rsp + 0x270]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x280]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x190]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rax, [rsp + 0x3a8]
mov qword [rsp + 0x3a0], rax
mov r8d, 3
lea rcx, [rsp + 0x3a0]
call fcn.14001bae0
nop
mov rcx, qword [rsp + 0x3a0]
call fcn.1400d6018
mov dword [r14 + 0x1e0], eax
lea rax, [rsp + 0x3a8]
mov rcx, qword [rsp + 0x3a0]
cmp rcx, rax
je 0x14005d087
call fcn.1400d5948
nop
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d0a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x280]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d0c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [0x140160980]
test rdx, 0xffffffffffff0000
jne 0x14005d126
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d13a
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.140002960
jmp 0x14005d13a
mov r8d, 0x2e
lea rcx, [rsp + 0xb0]
call fcn.140002670
nop
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x1a0]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005d15c
mov eax, edi
jmp 0x14005d17d
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005d169
mov eax, edi
jmp 0x14005d17d
call fcn.1400d5c54
test rax, rax
jne 0x14005d177
mov eax, edi
jmp 0x14005d17d
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d1a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005d28a
lea rax, [rsp + 0x290]
mov qword [rsp + 0x38], rax
lea rdx, str.61392f273a3a27232b2c2b3a392b2b202d262b2d253d73
lea rcx, [rsp + 0x290]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x1b8]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x2a0]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rax, [rsp + 0x438]
mov qword [rsp + 0x430], rax
mov r8d, 3
lea rcx, [rsp + 0x430]
call fcn.14001bae0
nop
mov rcx, qword [rsp + 0x430]
call fcn.1400d6018
mov dword [r14 + 0x1dc], eax
lea rax, [rsp + 0x438]
mov rcx, qword [rsp + 0x430]
cmp rcx, rax
je 0x14005d249
call fcn.1400d5948
nop
mov rdx, qword [rsp + 0x2a0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d26a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1b8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d28a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rdx, [0x140160a40]
test rdx, 0xffffffffffff0000
jne 0x14005d2e8
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d2fc
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140002960
jmp 0x14005d2fc
mov r8d, 0x14
lea rcx, [rsp + 0x98]
call fcn.140002670
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x2b8]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005d31e
mov eax, edi
jmp 0x14005d33f
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005d32b
mov eax, edi
jmp 0x14005d33f
call fcn.1400d5c54
test rax, rax
jne 0x14005d339
mov eax, edi
jmp 0x14005d33f
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x2b8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d365
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005d52a
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [0x14015e1b4]
test rdx, 0xffffffffffff0000
jne 0x14005d3c6
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d3d1
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140002960
jmp 0x14005d3d1
lea rcx, [rsp + 0x70]
call fcn.140003940
nop
lea rdx, [0x1401607c8]
lea rcx, [rsp + 0x1c8]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x248]
call fcn.14002aa20
nop
mov r8, rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xc8]
call fcn.140010150
nop
mov rdx, qword [rsp + 0x248]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d442
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d463
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d480
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xc8]
lea rcx, [rdx - 0x18]
mov rsi, qword [r14 + 0x2b0]
sub rsi, 0x18
cmp rcx, rsi
je 0x14005d4e7
cmp dword [rsi + 0x10], 0
jl 0x14005d4d7
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14005d4d7
call fcn.1400027c0
mov r13, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
dec ecx
jg 0x14005d4ca
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [r14 + 0x2b0], rax
jmp 0x14005d4e7
mov r8d, dword [rdx - 0x10]
lea rcx, [r14 + 0x2b0]
call fcn.140002670
lea r9, [r14 + 0x1f0]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
lea r8, [0x140062250]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d52a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [0x140160830]
test rdx, 0xffffffffffff0000
jne 0x14005d5a2
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d5b6
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140002960
jmp 0x14005d5b6
mov r8d, 0x34
lea rcx, [rsp + 0xa0]
call fcn.140002670
nop
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x288]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005d5d8
mov eax, edi
jmp 0x14005d5f9
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005d5e5
mov eax, edi
jmp 0x14005d5f9
call fcn.1400d5c54
test rax, rax
jne 0x14005d5f3
mov eax, edi
jmp 0x14005d5f9
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x288]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d61f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005d70d
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x38], rax
lea rdx, str.610a2222002f232b787a1a210720242b2d3a1a210d263c21232b
lea rcx, [rsp + 0x1e8]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x258]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [rsp + 0x58]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x14005d6cc
cmp dword [rsi + 0x10], 0
jl 0x14005d6bd
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14005d6bd
call fcn.1400027c0
mov r15, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
dec ecx
jg 0x14005d6b2
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r15 + 0x18]
mov qword [rsp + 0x58], rax
jmp 0x14005d6cc
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x58]
call fcn.140002670
nop
mov rdx, qword [rsp + 0x258]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d6ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1f8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d70d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rdx, [0x140160b20]
test rdx, 0xffffffffffff0000
jne 0x14005d79f
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d7b3
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140002960
jmp 0x14005d7b3
mov r8d, 0x3a
lea rcx, [rsp + 0x90]
call fcn.140002670
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x2a8]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005d7d5
mov eax, edi
jmp 0x14005d7f6
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005d7e2
mov eax, edi
jmp 0x14005d7f6
call fcn.1400d5c54
test rax, rax
jne 0x14005d7f0
mov eax, edi
jmp 0x14005d7f6
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x2a8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d81c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005d90a
lea rax, [rsp + 0x208]
mov qword [rsp + 0x38], rax
lea rdx, str.610a2222002f232b787a117f1a210720242b2d3a1a210d263c21232b73
lea rcx, [rsp + 0x208]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x218]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x268]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [rsp + 0x50]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x14005d8c9
cmp dword [rsi + 0x10], 0
jl 0x14005d8ba
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14005d8ba
call fcn.1400027c0
mov r15, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
dec ecx
jg 0x14005d8af
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r15 + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14005d8c9
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140002670
nop
mov rdx, qword [rsp + 0x268]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d8ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x218]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d90a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rdx, [0x140160c40]
test rdx, 0xffffffffffff0000
jne 0x14005d968
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005d97c
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140002960
jmp 0x14005d97c
mov r8d, 0x3a
lea rcx, [rsp + 0x88]
call fcn.140002670
nop
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x298]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005d99e
mov eax, edi
jmp 0x14005d9bf
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005d9ab
mov eax, edi
jmp 0x14005d9bf
call fcn.1400d5c54
test rax, rax
jne 0x14005d9b9
mov eax, edi
jmp 0x14005d9bf
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x298]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005d9e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005dad3
lea rax, [rsp + 0x170]
mov qword [rsp + 0x38], rax
lea rdx, str.610a2222002f232b787a117c1a210720242b2d3a1a210d263c21232b73
lea rcx, [rsp + 0x170]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x278]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [rsp + 0x60]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x14005da92
cmp dword [rsi + 0x10], 0
jl 0x14005da83
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14005da83
call fcn.1400027c0
mov r15, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
dec ecx
jg 0x14005da78
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r15 + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14005da92
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140002670
nop
mov rdx, qword [rsp + 0x278]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005dab3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005dad3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x38], rax
lea rcx, str.D_r_
mov rax, qword [str.D_r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
lea rdx, [0x140160738]
test rdx, 0xffffffffffff0000
jne 0x14005db4b
movzx esi, dx
mov ecx, esi
call fcn.1400019e0
test rax, rax
je 0x14005db5f
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.140002960
jmp 0x14005db5f
mov r8d, 0x1a
lea rcx, [rsp + 0xa8]
call fcn.140002670
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x1b0]
call fcn.14002b560
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005db81
mov eax, edi
jmp 0x14005dba2
mov rcx, qword [rbx]
cmp dword [rcx - 0x10], 0
jge 0x14005db8e
mov eax, edi
jmp 0x14005dba2
call fcn.1400d5c54
test rax, rax
jne 0x14005db9c
mov eax, edi
jmp 0x14005dba2
sub rax, qword [rbx]
sar rax, 1
test eax, eax
setns sil
mov rdx, qword [rsp + 0x1b0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005dbc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14005dcb7
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x38], rax
lea rdx, str.612021382f787a2c273a2b362b
lea rcx, [rsp + 0x1c0]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.14002b560
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x1d0]
call fcn.14002aa20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [rsp + 0x48]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x14005dc75
cmp dword [rsi + 0x10], 0
jl 0x14005dc66
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14005dc66
call fcn.1400027c0
mov r15, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
dec ecx
jg 0x14005dc5b
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r15 + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x14005dc75
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140002670
nop
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005dc96
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005dcb7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x368], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x378], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x380], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x2e0], rax
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x350], rcx
call fcn.1400027c0
mov qword [rsp + 0x2f0], rax
add rax, 0x18
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x398], rcx
call fcn.1400027c0
mov qword [rsp + 0x300], rax
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x360], rcx
call fcn.1400027c0
mov qword [rsp + 0x310], rax
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x390], rcx
call fcn.1400027c0
mov qword [rsp + 0x320], rax
add rax, 0x18
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd8]
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.14005e610
mov dl, 1
mov rcx, r14
call fcn.140062b10
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x370], rax
lea rdx, str.612a21203a392f273a28213c222729263a
lea rcx, [rsp + 0x1f0]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.14002b560
mov qword [rsp + 0x330], rax
mov rdx, qword [rax]
mov qword [rsp + 0x388], rdx
mov qword [rsp + 0x340], rbx
test rdx, rdx
jne 0x14005de2f
mov ecx, edi
jmp 0x14005de76
mov rcx, qword [rbx]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x2b0], eax
test eax, eax
jns 0x14005de44
mov ecx, edi
jmp 0x14005de76
mov qword [rsp + 0x2d0], rcx
call fcn.1400d5c54
mov rcx, rax
mov qword [rsp + 0x2d8], rax
test rax, rax
jne 0x14005de65
mov ecx, edi
jmp 0x14005de76
mov rax, qword [rbx]
mov qword [rsp + 0x2e8], rax
sub rcx, rax
sar rcx, 1
mov dword [rsp + 0x68], ecx
cmp ecx, 0xffffffff
sete byte [rsp + 0x40]
mov rcx, qword [rsp + 0x200]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x210], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005deb2
mov rdx, qword [rsp + 0x210]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x40], 0
je 0x14005e153
mov r8d, dword [0x1401d6d80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
sub ecx, edx
cmp ecx, 5
jne 0x14005df1c
mov ecx, r12d
mov dword [rsp + 0xc4], ecx
movsxd rax, ecx
cmp rax, 0x1cc
jae 0x14005df1c
mov eax, dword [rsp + rax*4 + 0x4c0]
imul eax, eax, 0xed
add r8d, eax
mov dword [0x1401d6d80], r8d
inc ecx
jmp 0x14005deef
mov rcx, r14
call fcn.140061030
mov dword [rsp + 0xc0], eax
test eax, eax
je 0x14005dfe6
lea rax, [rsp + 0x220]
mov qword [rsp + 0x2f8], rax
lea rdx, str.612a2b2c3b292827222b
lea rcx, [rsp + 0x220]
call fcn.1400024a0
nop
mov rdx, rax
lea rcx, [rsp + 0x230]
call fcn.14002b560
mov qword [rsp + 0x308], rax
mov ebx, dword [rsp + 0x44]
or ebx, 1
mov dword [rsp + 0x44], ebx
mov rdx, qword [rax]
mov qword [rsp + 0x318], rdx
lea rsi, [r14 + 0x20]
mov qword [rsp + 0x328], rsi
test rdx, rdx
je 0x14005dfdf
mov rcx, qword [rsi]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x228], eax
test eax, eax
js 0x14005dfdf
mov qword [rsp + 0x338], rcx
call fcn.1400d5c54
mov qword [rsp + 0x348], rax
test rax, rax
je 0x14005dfdf
mov rcx, qword [rsi]
mov qword [rsp + 0x358], rcx
sub rax, rcx
sar rax, 1
mov dword [rsp + 0x188], eax
cmp eax, 0xffffffff
jne 0x14005dfea
mov byte [rsp + 0x30], 1
jmp 0x14005dfef
mov ebx, dword [rsp + 0x44]
mov byte [rsp + 0x30], 0
test bl, 1
je 0x14005e02b
and ebx, 0xfffffffe
mov dword [rsp + 0x44], ebx
mov rcx, qword [rsp + 0x230]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x240], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005e02b
mov rdx, qword [rsp + 0x240]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x30], 0
je 0x14005e0f7
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x250], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005e064
mov rdx, qword [rsp + 0x250]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x260], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005e092
mov rdx, qword [rsp + 0x260]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x178], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005e0c0
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x58]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0xe8], rax
lock xadd dword [rax + 0x10], edi
dec edi
jg 0x14005e0eb
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rsp + 0xc0]
jmp 0x14005e50a
mov r8d, dword [0x1401d6d80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 7
sub ecx, edx
cmp ecx, 4
jne 0x14005e160
mov ecx, r8d
test r8d, r8d
je 0x14005e147
dec ecx
je 0x14005e13e
inc r8d
mov dword [0x1401d6d80], r8d
jmp 0x14005e160
mov dword [0x1401d6d80], r12d
jmp 0x14005e160
mov dword [0x1401d6d80], 2
jmp 0x14005e160
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r14 + 0x1d8], eax
mov qword [r14 + 0x2a8], r14
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rbx, rax
lea rax, vtable.WTL::CMessageLoop.0
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
lea rdx, [rsp + 0x110]
call fcn.140056590
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r14 + 0x1e4], eax
lea rsi, [r14 + 0x1f0]
lea rdx, [rsi + 0x10]
mov r8, rsi
call fcn.140004cd0
mov byte [rsi + 0x40], 0
mov dword [rsi + 0x44], r12d
lea r9, [0x1400647b0]
mov r8, rbx
mov rcx, qword [0x1401d54f0]
call fcn.140064840
cmp dword [rsi + 0x44], 0
jge 0x14005e20a
test rax, rax
je 0x14005e213
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [rsi + 0x44]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14005e213
test rax, rax
jne 0x14005e380
call fcn.1400571f0
mov rbx, rax
lea rcx, str.D_r_
mov rdx, qword [str.D_r_]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x14005e27c
test rbx, 0xffffffffffff0000
jne 0x14005e264
movzx ebx, bx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14005e290
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140002960
jmp 0x14005e290
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14005e270
jmp 0x14005e27f
mov eax, r12d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140002670
nop
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.140063370
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e2bc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14005e2d6
call fcn.1400d5948
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x14005e2f8
call fcn.1400d5948
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r12
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e31e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e33c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e35a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
jg 0x14005e376
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, 2
jmp 0x14005e50a
lea rcx, [rsp + 0x110]
call fcn.1400563a0
call fcn.140056680
mov rdx, qword [r14 + 0xe0]
mov rcx, r12
lea r8, [0x140160d68]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x14005e3ca
cmp rcx, 5
jne 0x14005e3b0
mov eax, r12d
jmp 0x14005e3cf
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x14005e3e1
mov rcx, r14
call fcn.1400175c0
nop
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14005e3fb
call fcn.1400d5948
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x14005e41d
call fcn.1400d5948
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r12
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e443
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e461
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005e47f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
jg 0x14005e49a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14005e50a
mov rcx, qword [rsp + 0x990]
xor rcx, rsp
call fcn.1400d4e00
lea r11, [rsp + 0x9a0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret