Function at 0x14005b410
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, 0x4e0
mov qword [rax - 0x230], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401cde90]
xor rax, rsp
mov qword [rsp + 0x4d0], rax
mov r15, rcx
mov qword [rsp + 0xc0], rcx
xor r13d, r13d
mov dword [rsp + 0x70], r13d
mov byte [0x1401d0c12], r13b
mov byte [0x1401d5e84], 1
call fcn.1400137c0
test eax, eax
jne 0x14005cb5a
lea rax, [rsp + 0x90]
mov qword [rsp + 0x100], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rdx, str.0b5157414c4f4849
test rdx, 0xffffffffffff0000
jne 0x14005b4d7
movzx ebx, dx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14005b4eb
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140002760
jmp 0x14005b4eb
mov r8d, 0x10
lea rcx, [rsp + 0x90]
call fcn.140002470
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1c8]
call fcn.14002b890
nop
mov rdx, qword [rax]
lea rsi, [r15 + 0x20]
test rdx, rdx
jne 0x14005b515
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005b542
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005b526
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005b542
call fcn.1400d4634
test rax, rax
jne 0x14005b538
or rdi, 0xffffffffffffffff
mov eax, edi
jmp 0x14005b542
sub rax, qword [rsi]
sar rax, 1
or rdi, 0xffffffffffffffff
cmp eax, 0xffffffff
setne bl
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b568
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x14005b5b3
mov qword [r15 + 0x2d8], 0xffffffff80000001
mov qword [0x1401d0d48], 0xffffffff80000001
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x38], rax
lea r8, [r15 + 0x198]
lea rdx, [0x14015f600]
lea rcx, [rsp + 0x2d0]
call fcn.14001b400
nop
mov rcx, rax
call fcn.14004f3b0
mov rax, qword [r15 + 0x2d8]
mov qword [r15 + 0x2c0], rax
call fcn.140056170
test rax, rax
jne 0x14005b5d0
mov ecx, r13d
jmp 0x14005b5dd
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14005b5d3
mov r8d, ecx
mov rdx, rax
lea rcx, [r15 + 0x198]
call fcn.1400109d0
mov ebx, 1
cmp dword [r15 + 0x2d0], 0
jne 0x14005b605
mov dword [r15 + 0x2d0], ebx
lea rax, [rsp + 0x98]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rdx, [0x14015f630]
test rdx, 0xffffffffffff0000
jne 0x14005b665
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005b679
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140002760
jmp 0x14005b679
mov r8d, 0x28
lea rcx, [rsp + 0x98]
call fcn.140002470
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x258]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005b69b
mov eax, edi
jmp 0x14005b6bc
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005b6a8
mov eax, edi
jmp 0x14005b6bc
call fcn.1400d4634
test rax, rax
jne 0x14005b6b6
mov eax, edi
jmp 0x14005b6bc
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x258]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b6e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005b7c9
lea rax, [rsp + 0x190]
mov qword [rsp + 0x38], rax
lea rdx, str.0b4f41415445484d52414d4a504c414045564f19
lea rcx, [rsp + 0x190]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x1a0]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x270]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rax, [rsp + 0x3b8]
mov qword [rsp + 0x3b0], rax
mov r8d, 3
lea rcx, [rsp + 0x3b0]
call fcn.14001b880
nop
mov rcx, qword [rsp + 0x3b0]
call fcn.1400d49f8
mov dword [r15 + 0x1e0], eax
lea rax, [rsp + 0x3b8]
mov rcx, qword [rsp + 0x3b0]
cmp rcx, rax
je 0x14005b788
call fcn.1400d4328
nop
mov rdx, qword [rsp + 0x270]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b7a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b7c9
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.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [0x14015f8d0]
test rdx, 0xffffffffffff0000
jne 0x14005b829
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005b83d
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.140002760
jmp 0x14005b83d
mov r8d, 0x2e
lea rcx, [rsp + 0xb0]
call fcn.140002470
nop
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x280]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005b85f
mov eax, edi
jmp 0x14005b880
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005b86c
mov eax, edi
jmp 0x14005b880
call fcn.1400d4634
test rax, rax
jne 0x14005b87a
mov eax, edi
jmp 0x14005b880
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x280]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b8a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005b98d
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x38], rax
lea rdx, str.0b53454d50504d49414641505341414a474c41474f5719
lea rcx, [rsp + 0x1b0]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x290]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rax, [rsp + 0x448]
mov qword [rsp + 0x440], rax
mov r8d, 3
lea rcx, [rsp + 0x440]
call fcn.14001b880
nop
mov rcx, qword [rsp + 0x440]
call fcn.1400d49f8
mov dword [r15 + 0x1dc], eax
lea rax, [rsp + 0x448]
mov rcx, qword [rsp + 0x440]
cmp rcx, rax
je 0x14005b94c
call fcn.1400d4328
nop
mov rdx, qword [rsp + 0x290]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b96d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1c0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005b98d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [0x14015f990]
test rdx, 0xffffffffffff0000
jne 0x14005b9ed
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005ba01
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140002760
jmp 0x14005ba01
mov r8d, 0x14
lea rcx, [rsp + 0xa0]
call fcn.140002470
nop
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x2a0]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005ba23
mov eax, edi
jmp 0x14005ba44
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005ba30
mov eax, edi
jmp 0x14005ba44
call fcn.1400d4634
test rax, rax
jne 0x14005ba3e
mov eax, edi
jmp 0x14005ba44
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x2a0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005ba6a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005bc36
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x14015d10c]
test rdx, 0xffffffffffff0000
jne 0x14005bacd
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005bad8
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140002760
jmp 0x14005bad8
lea rcx, [rsp + 0x78]
call fcn.1400034f0
nop
lea rdx, [0x14015f9c0]
lea rcx, [rsp + 0x1d0]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x2c0]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x2b0]
call fcn.14002add0
nop
mov r8, rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xd0]
call fcn.14000ff10
nop
mov rdx, qword [rsp + 0x2b0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bb49
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x2c0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bb6a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bb87
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rdx - 0x18]
mov r14, qword [r15 + 0x2b0]
sub r14, 0x18
cmp rcx, r14
je 0x14005bbf3
cmp dword [r14 + 0x10], 0
jl 0x14005bbe3
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x14005bbe3
call fcn.1400025c0
mov r13, rax
mov ecx, edi
lock xadd dword [r14 + 0x10], ecx
dec ecx
jg 0x14005bbd3
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [r15 + 0x2b0], rax
xor r13d, r13d
jmp 0x14005bbf3
mov r8d, dword [rdx - 0x10]
lea rcx, [r15 + 0x2b0]
call fcn.140002470
lea r9, [r15 + 0x1f0]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
lea r8, [0x140060860]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bc36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rdx, [0x14015f740]
test rdx, 0xffffffffffff0000
jne 0x14005bcb0
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005bcc4
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140002760
jmp 0x14005bcc4
mov r8d, 0x34
lea rcx, [rsp + 0x88]
call fcn.140002470
nop
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x1e8]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005bce6
mov eax, edi
jmp 0x14005bd07
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005bcf3
mov eax, edi
jmp 0x14005bd07
call fcn.1400d4634
test rax, rax
jne 0x14005bd01
mov eax, edi
jmp 0x14005bd07
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x1e8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bd2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005be1d
lea rax, [rsp + 0x298]
mov qword [rsp + 0x38], rax
lea rdx, str.0b6048486a4549411210704b6d4a4e414750704b674c564b4941
lea rcx, [rsp + 0x298]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x268]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x1f8]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov r14, qword [rsp + 0x60]
add r14, 0xffffffffffffffe8
cmp rcx, r14
je 0x14005bddc
cmp dword [r14 + 0x10], 0
jl 0x14005bdcd
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x14005bdcd
call fcn.1400025c0
mov r13, rax
mov ecx, edi
lock xadd dword [r14 + 0x10], ecx
dec ecx
jg 0x14005bdc2
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14005bddc
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140002470
nop
mov rdx, qword [rsp + 0x1f8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bdfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x268]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005be1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rdx, [0x14015f820]
test rdx, 0xffffffffffff0000
jne 0x14005beb1
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005bec5
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140002760
jmp 0x14005bec5
mov r8d, 0x3a
lea rcx, [rsp + 0x80]
call fcn.140002470
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x208]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005bee7
mov eax, edi
jmp 0x14005bf08
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005bef4
mov eax, edi
jmp 0x14005bf08
call fcn.1400d4634
test rax, rax
jne 0x14005bf02
mov eax, edi
jmp 0x14005bf08
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x208]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bf2e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005c01e
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x38], rax
lea rdx, str.0b6048486a45494112107b15704b6d4a4e414750704b674c564b494119
lea rcx, [rsp + 0x2b8]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x278]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x218]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov r14, qword [rsp + 0x50]
add r14, 0xffffffffffffffe8
cmp rcx, r14
je 0x14005bfdd
cmp dword [r14 + 0x10], 0
jl 0x14005bfce
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x14005bfce
call fcn.1400025c0
mov r13, rax
mov ecx, edi
lock xadd dword [r14 + 0x10], ecx
dec ecx
jg 0x14005bfc3
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14005bfdd
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140002470
nop
mov rdx, qword [rsp + 0x218]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005bffe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x278]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c01e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
lea rdx, [0x14015fb20]
test rdx, 0xffffffffffff0000
jne 0x14005c07e
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005c092
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.140002760
jmp 0x14005c092
mov r8d, 0x3a
lea rcx, [rsp + 0xa8]
call fcn.140002470
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x180]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005c0b4
mov eax, edi
jmp 0x14005c0d5
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005c0c1
mov eax, edi
jmp 0x14005c0d5
call fcn.1400d4634
test rax, rax
jne 0x14005c0cf
mov eax, edi
jmp 0x14005c0d5
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c0fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005c1eb
lea rax, [rsp + 0x2a8]
mov qword [rsp + 0x38], rax
lea rdx, str.0b6048486a45494112107b16704b6d4a4e414750704b674c564b494119
lea rcx, [rsp + 0x2a8]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x288]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x238]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov r14, qword [rsp + 0x68]
add r14, 0xffffffffffffffe8
cmp rcx, r14
je 0x14005c1aa
cmp dword [r14 + 0x10], 0
jl 0x14005c19b
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x14005c19b
call fcn.1400025c0
mov r13, rax
mov ecx, edi
lock xadd dword [r14 + 0x10], ecx
dec ecx
jg 0x14005c190
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [rsp + 0x68], rax
jmp 0x14005c1aa
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x68]
call fcn.140002470
nop
mov rdx, qword [rsp + 0x238]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c1cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x288]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c1eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
lea rcx, str.__r_
mov rax, qword [str.__r_]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb8], rax
lea rdx, str.0b4a4b52451210464d50415c41
test rdx, 0xffffffffffff0000
jne 0x14005c265
movzx r14d, dx
mov ecx, r14d
call fcn.1400019e0
test rax, rax
je 0x14005c279
mov r8d, r14d
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140002760
jmp 0x14005c279
mov r8d, 0x1a
lea rcx, [rsp + 0xb8]
call fcn.140002470
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x248]
call fcn.14002b890
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14005c29b
mov eax, edi
jmp 0x14005c2bc
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jge 0x14005c2a8
mov eax, edi
jmp 0x14005c2bc
call fcn.1400d4634
test rax, rax
jne 0x14005c2b6
mov eax, edi
jmp 0x14005c2bc
sub rax, qword [rsi]
sar rax, 1
test eax, eax
setns r14b
mov rdx, qword [rsp + 0x248]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c2e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14b, r14b
je 0x14005c3d3
lea rax, [rsp + 0x2c8]
mov qword [rsp + 0x38], rax
lea rdx, [0x14015f708]
lea rcx, [rsp + 0x2c8]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.14002b890
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x1d8]
call fcn.14002add0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov r14, qword [rsp + 0x48]
add r14, 0xffffffffffffffe8
cmp rcx, r14
je 0x14005c391
cmp dword [r14 + 0x10], 0
jl 0x14005c382
mov rax, qword [r14]
cmp qword [rcx], rax
jne 0x14005c382
call fcn.1400025c0
mov r13, rax
mov ecx, edi
lock xadd dword [r14 + 0x10], ecx
dec ecx
jg 0x14005c377
mov rcx, qword [r14]
mov r8, qword [rcx]
mov rdx, r14
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r13 + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x14005c391
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140002470
nop
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c3b2
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 0x14005c3d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x388], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x398], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x350], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x48]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x3a0], rax
mov rcx, rax
call fcn.1400025c0
mov qword [rsp + 0x300], rax
add rax, 0x18
mov qword [rsp + 0xf0], rax
mov r12, qword [rsp + 0x68]
add r12, 0xffffffffffffffe8
mov qword [rsp + 0x360], r12
mov rcx, r12
call fcn.1400025c0
mov qword [rsp + 0x310], rax
add rax, 0x18
mov qword [rsp + 0xe8], rax
mov r13, qword [rsp + 0x50]
add r13, 0xffffffffffffffe8
mov qword [rsp + 0x390], r13
mov rcx, r13
call fcn.1400025c0
mov qword [rsp + 0x320], rax
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x60]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x370], rax
mov rcx, rax
call fcn.1400025c0
mov qword [rsp + 0x330], rax
add rax, 0x18
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe8]
lea r8, [rsp + 0xd8]
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.14005cc60
mov dl, 1
mov rcx, r15
call fcn.140061240
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x3a8], rax
lea rdx, str.0b404b4a5053454d50424b56484d434c50
lea rcx, [rsp + 0x1f0]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.14002b890
mov qword [rsp + 0x340], rax
mov rdx, qword [rax]
mov qword [rsp + 0x380], rdx
mov qword [rsp + 0x2e0], rsi
test rdx, rdx
jne 0x14005c564
mov ecx, edi
jmp 0x14005c5ab
mov rcx, qword [rsi]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x1b8], eax
test eax, eax
jns 0x14005c579
mov ecx, edi
jmp 0x14005c5ab
mov qword [rsp + 0x2e8], rcx
call fcn.1400d4634
mov rcx, rax
mov qword [rsp + 0x2f8], rax
test rax, rax
jne 0x14005c59a
mov ecx, edi
jmp 0x14005c5ab
mov rax, qword [rsi]
mov qword [rsp + 0x308], rax
sub rcx, rax
sar rcx, 1
mov dword [rsp + 0x58], 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 0x14005c5e7
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 0x14005c808
mov rcx, r15
call fcn.14005f470
mov dword [rsp + 0xc8], eax
test eax, eax
je 0x14005c6b4
lea rax, [rsp + 0x220]
mov qword [rsp + 0x318], rax
lea rdx, str.0b4041465143424d4841
lea rcx, [rsp + 0x220]
call fcn.1400022b0
nop
mov rdx, rax
lea rcx, [rsp + 0x230]
call fcn.14002b890
mov qword [rsp + 0x328], rax
mov r14d, ebx
mov dword [rsp + 0x70], ebx
mov rdx, qword [rax]
mov qword [rsp + 0x338], rdx
mov qword [rsp + 0x348], rsi
test rdx, rdx
je 0x14005c6ad
mov rcx, qword [rsi]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x228], eax
test eax, eax
js 0x14005c6ad
mov qword [rsp + 0x358], rcx
call fcn.1400d4634
mov qword [rsp + 0x368], rax
test rax, rax
je 0x14005c6ad
mov rcx, qword [rsi]
mov qword [rsp + 0x378], rcx
sub rax, rcx
sar rax, 1
mov dword [rsp + 0x1a8], eax
cmp eax, 0xffffffff
jne 0x14005c6b9
mov byte [rsp + 0x30], 1
jmp 0x14005c6be
mov r14d, dword [rsp + 0x70]
mov byte [rsp + 0x30], 0
test r14b, 1
je 0x14005c6fd
and r14d, 0xfffffffe
mov dword [rsp + 0x70], r14d
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 0x14005c6fd
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 0x14005c7b5
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 0x260], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
dec eax
jg 0x14005c735
mov rdx, qword [rsp + 0x260]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [rsp + 0x188], r12
mov eax, edi
lock xadd dword [r12 + 0x10], eax
dec eax
jg 0x14005c75c
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov qword [rsp + 0x198], r13
mov eax, edi
lock xadd dword [r13 + 0x10], eax
dec eax
jg 0x14005c782
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x100], rax
lock xadd dword [rax + 0x10], edi
dec edi
jg 0x14005c7a9
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rsp + 0xc8]
jmp 0x14005cb5a
mov r8d, dword [0x1401d5d60]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0x17
jne 0x14005c815
mov dword [rsp + 0xcc], ebx
cmp ebx, r8d
jge 0x14005c800
mov eax, r8d
cdq
idiv ebx
inc ebx
add ebx, edx
mov dword [rsp + 0xcc], ebx
jmp 0x14005c7e8
mov dword [0x1401d5d60], ebx
jmp 0x14005c815
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r15 + 0x1d8], eax
mov qword [r15 + 0x2a8], r15
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rbx, rax
lea rax, vtable.WTL::CMessageLoop.0
mov qword [rsp + 0x120], rax
xor r14d, r14d
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
lea rdx, [rsp + 0x120]
call fcn.140054c10
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r15 + 0x1e4], eax
lea rsi, [r15 + 0x1f0]
lea rdx, [rsi + 0x10]
mov r8, rsi
call fcn.1400048c0
mov byte [rsi + 0x40], r14b
mov dword [rsi + 0x44], r14d
lea r9, [0x140063110]
mov r8, rbx
mov rcx, qword [0x1401d44d0]
call fcn.1400631a0
cmp dword [rsi + 0x44], r14d
jge 0x14005c8c2
test rax, rax
je 0x14005c8cb
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 0x14005c8cb
test rax, rax
jne 0x14005c9d6
call fcn.140055b70
mov rdx, rax
lea rcx, [rsp + 0xf8]
call fcn.1400022b0
nop
lea rdx, [rsp + 0xf8]
mov rcx, r15
call fcn.140061a30
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c913
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14005c92d
call fcn.1400d4328
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14005c94f
call fcn.1400d4328
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], r14
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c975
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c993
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 0x14005c9b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
jg 0x14005c9cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 2
jmp 0x14005cb5a
lea rcx, [rsp + 0x120]
call fcn.140054a20
call fcn.140054d00
mov rdx, qword [r15 + 0xe0]
mov rcx, r14
lea r8, [0x14015fa68]
nop dword [rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x14005ca1a
cmp rcx, 5
jne 0x14005ca00
mov eax, r14d
jmp 0x14005ca1f
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x14005ca31
mov rcx, r15
call fcn.140017220
nop
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14005ca4b
call fcn.1400d4328
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14005ca6d
call fcn.1400d4328
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], r14
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005ca93
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005cab1
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 0x14005cacf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
jg 0x14005caea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14005cb5a
mov rcx, qword [rsp + 0x4d0]
xor rcx, rsp
call fcn.1400d37e0
lea r11, [rsp + 0x4e0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret