Function at 0x140047110
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, 0x5a0
mov qword [rax - 0x2f0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1401a2e90]
xor rax, rsp
mov qword [rsp + 0x590], rax
mov r13, rcx
mov qword [rsp + 0x1b8], rcx
xor r14d, r14d
mov dword [rsp + 0x48], r14d
mov byte [0x1401a5c22], r14b
mov byte [0x1401aaea4], 1
call fcn.140011310
mov ebx, eax
test eax, eax
je 0x140047199
call fcn.1400421dc
test al, al
jne 0x140047192
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetMailslotInfo]
mov eax, ebx
jmp 0x14004855f
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0xe8], rax
lea rdx, str.7e242234393a3d3c
lea rcx, [rsp + 0x2b8]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x1d0]
call fcn.1400233a4
nop
mov rdx, qword [rax]
lea r12, [r13 + 0x20]
test rdx, rdx
je 0x1400471ef
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x1400471ef
call fcn.1400be6e4
test rax, rax
jne 0x1400471f8
or r15, 0xffffffffffffffff
mov eax, r15d
jmp 0x140047203
sub rax, qword [r12]
sar rax, 1
or r15, 0xffffffffffffffff
cmp eax, r15d
setne bl
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004722d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
jne 0x140047277
mov rax, 0xffffffff80000001
mov qword [r13 + 0x2e0], rax
mov qword [0x1401a5d58], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x38], rax
lea r8, [r13 + 0x1a0]
lea rdx, str.Software_
lea rcx, [rsp + 0x120]
call fcn.1400190f0
nop
mov rcx, rax
call fcn.14003e1ec
mov rax, qword [r13 + 0x2e0]
mov qword [r13 + 0x2c8], rax
call fcn.140042d90
mov rdx, rax
lea rcx, [r13 + 0x1a0]
test rax, rax
jne 0x14004729e
mov eax, r14d
jmp 0x1400472ab
mov rax, r15
inc rax
cmp word [rdx + rax*2], r14w
jne 0x1400472a1
mov r8d, eax
call fcn.14000e884
cmp dword [r13 + 0x2d8], r14d
jne 0x1400472c7
mov dword [r13 + 0x2d8], 1
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x38], rax
lea rdx, str.7e3a343421303d382734383f2539343530233a6c
lea rcx, [rsp + 0x1e8]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140047316
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x140047316
call fcn.1400be6e4
test rax, rax
jne 0x14004731b
mov eax, r15d
jmp 0x140047322
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004734b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14004741e
lea rax, [rsp + 0x1f8]
mov qword [rsp + 0x38], rax
lea rdx, str.7e3a343421303d382734383f2539343530233a6c
lea rcx, [rsp + 0x1f8]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x208]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x140]
call fcn.140022c24
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x490]
call fcn.1400193d0
nop
mov rcx, qword [rax]
call fcn.1400bea00
mov dword [r13 + 0x1e8], eax
lea rax, [rsp + 0x498]
mov rcx, qword [rsp + 0x490]
cmp rcx, rax
je 0x1400473d5
call fcn.1400be3d8
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400473fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x208]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004741e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x150]
mov qword [rsp + 0x38], rax
lea rdx, str.7e2630382525383c343334252634343f323934323a226c
lea rcx, [rsp + 0x150]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x218]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x14004746d
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x14004746d
call fcn.1400be6e4
test rax, rax
jne 0x140047472
mov eax, r15d
jmp 0x140047479
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x218]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400474a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140047575
lea rax, [rsp + 0x160]
mov qword [rsp + 0x38], rax
lea rdx, str.7e2630382525383c343334252634343f323934323a226c
lea rcx, [rsp + 0x160]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x228]
call fcn.140022c24
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x400]
call fcn.1400193d0
nop
mov rcx, qword [rax]
call fcn.1400bea00
mov dword [r13 + 0x1e4], eax
lea rax, [rsp + 0x408]
mov rcx, qword [rsp + 0x400]
cmp rcx, rax
je 0x14004752c
call fcn.1400be3d8
nop
mov rdx, qword [rsp + 0x228]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047551
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047575
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x238]
mov qword [rsp + 0x38], rax
lea rdx, str.7e353433243637383d34
lea rcx, [rsp + 0x238]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x1400475c4
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x1400475c4
call fcn.1400be6e4
test rax, rax
jne 0x1400475c9
mov eax, r15d
jmp 0x1400475d0
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400475f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x14004773f
lea rax, [rsp + 0x248]
mov qword [rsp + 0x38], rax
lea rdx, [0x14013dafc]
lea rcx, [rsp + 0xe0]
call fcn.140002df8
nop
lea rdx, str.7e353433243637383d34
lea rcx, [rsp + 0x248]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x258]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x190]
call fcn.140022c24
nop
mov r8, rax
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xf8]
call fcn.14000de60
nop
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004769b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x258]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400476c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400476e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r13 + 0x2b8]
lea rdx, [rsp + 0xf8]
call fcn.140002038
lea r9, [r13 + 0x1f8]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
lea r8, [0x14004bde8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004773f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdi, [0x1401a29a8]
mov rcx, rdi
mov rax, qword [0x1401a29a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c346765053e183f3b343225053e1239233e3c34
lea rcx, [rsp + 0x1a0]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x268]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x1400477ab
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x1400477ab
call fcn.1400be6e4
test rax, rax
jne 0x1400477b0
mov eax, r15d
jmp 0x1400477b7
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x268]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400477e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140047886
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c346765053e183f3b343225053e1239233e3c34
lea rcx, [rsp + 0x1b0]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x278]
call fcn.140022c24
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140002038
nop
mov rdx, qword [rsp + 0x278]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047862
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047886
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
mov rax, qword [0x1401a29a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rcx, rdi
mov rax, qword [0x1401a29a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x288]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c3467650e60053e183f3b343225053e1239233e3c346c
lea rcx, [rsp + 0x288]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140047901
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x140047901
call fcn.1400be6e4
test rax, rax
jne 0x140047906
mov eax, r15d
jmp 0x14004790d
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x298]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047936
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x1400479dc
lea rax, [rsp + 0x250]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c3467650e60053e183f3b343225053e1239233e3c346c
lea rcx, [rsp + 0x250]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x290]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x1e0]
call fcn.140022c24
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140002038
nop
mov rdx, qword [rsp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400479b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x290]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400479dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c3467650e63053e183f3b343225053e1239233e3c346c
lea rcx, [rsp + 0x1f0]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x260]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140047a2b
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x140047a2b
call fcn.1400be6e4
test rax, rax
jne 0x140047a30
mov eax, r15d
jmp 0x140047a37
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x260]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047a60
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140047b06
lea rax, [rsp + 0x200]
mov qword [rsp + 0x38], rax
lea rdx, str.7e153d3d1f303c3467650e63053e183f3b343225053e1239233e3c346c
lea rcx, [rsp + 0x200]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x2b0]
call fcn.140022c24
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140002038
nop
mov rdx, qword [rsp + 0x2b0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047ae2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047b06
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
mov rax, qword [0x1401a29a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x270]
mov qword [rsp + 0x38], rax
lea rdx, str.7e3f3e27306765333825342934
lea rcx, [rsp + 0x270]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.1400233a4
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140047b6b
mov rcx, qword [r12]
cmp dword [rcx - 0x10], r14d
jl 0x140047b6b
call fcn.1400be6e4
test rax, rax
jne 0x140047b70
mov eax, r15d
jmp 0x140047b77
sub rax, qword [r12]
sar rax, 1
test eax, eax
setns bl
mov rdx, qword [rsp + 0x220]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047ba0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test bl, bl
je 0x140047c47
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x38], rax
lea rdx, str.7e3f3e27306765333825342934
lea rcx, [rsp + 0x2a0]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x280]
call fcn.1400233a4
nop
mov r8, rax
mov rdx, r12
lea rcx, [rsp + 0x230]
call fcn.140022c24
nop
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140002038
nop
mov rdx, qword [rsp + 0x230]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047c22
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047c47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, [rsp + 0x240]
mov qword [rsp + 0x320], rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x330], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x348], rax
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x2e8], rax
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x240]
call fcn.140002d5c
mov rsi, rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x2c0]
call fcn.140002d5c
mov rdi, rax
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x1c8]
call fcn.140002d5c
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x1d8]
call fcn.140002d5c
nop
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov rcx, r13
call fcn.14004863c
mov edi, 1
mov dl, dil
mov rcx, r13
call fcn.14004c7a4
lea rax, [rsp + 0x118]
mov qword [rsp + 0x370], rax
lea rdx, str.7e353e3f2526303825373e233d38363925
lea rcx, [rsp + 0x118]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.1400233a4
mov qword [rsp + 0x2f8], rax
mov rdx, qword [rax]
mov qword [rsp + 0x368], rdx
mov qword [rsp + 0x308], r12
test rdx, rdx
jne 0x140047d59
mov ecx, r15d
jmp 0x140047d9a
mov rcx, qword [r12]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x2a8], eax
test eax, eax
js 0x140047d54
mov qword [rsp + 0x358], rcx
call fcn.1400be6e4
mov rcx, rax
mov qword [rsp + 0x318], rax
test rax, rax
je 0x140047d54
mov rax, qword [r12]
mov qword [rsp + 0x340], rax
sub rcx, rax
sar rcx, 1
mov dword [rsp + 0x44], ecx
cmp ecx, r15d
sete byte [rsp + 0x40]
mov rcx, qword [rsp + 0x128]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x138], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047dda
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x40], r14b
je 0x1400480fe
mov rcx, r13
call fcn.14004a960
mov dword [rsp + 0x74], eax
test eax, eax
je 0x140047ea8
lea rax, [rsp + 0x148]
mov qword [rsp + 0x328], rax
lea rdx, str.7e353433243637383d34
lea rcx, [rsp + 0x148]
call fcn.140001f6c
nop
mov rdx, rax
lea rcx, [rsp + 0x158]
call fcn.1400233a4
mov qword [rsp + 0x350], rax
mov ebx, edi
mov dword [rsp + 0x48], ebx
mov rdx, qword [rax]
mov qword [rsp + 0x338], rdx
mov qword [rsp + 0x360], r12
test rdx, rdx
je 0x140047ea1
mov rcx, qword [r12]
mov eax, dword [rcx - 0x10]
mov dword [rsp + 0x210], eax
test eax, eax
js 0x140047ea1
mov qword [rsp + 0x2e0], rcx
call fcn.1400be6e4
mov rcx, rax
mov qword [rsp + 0x2f0], rax
test rax, rax
je 0x140047ea1
mov rax, qword [r12]
mov qword [rsp + 0x300], rax
sub rcx, rax
sar rcx, 1
mov dword [rsp + 0x1a8], ecx
cmp ecx, r15d
jne 0x140047eac
mov byte [rsp + 0x30], dil
jmp 0x140047eb1
mov ebx, dword [rsp + 0x48]
mov byte [rsp + 0x30], r14b
test dil, bl
je 0x140047ef1
and ebx, 0xfffffffe
mov dword [rsp + 0x48], ebx
mov rcx, qword [rsp + 0x158]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x168], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047ef1
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [rsp + 0x30], r14b
je 0x14004800d
mov ecx, dword [0x1401aad80]
lea edx, [rcx + 2]
lea eax, [rcx + 1]
imul edx, eax
imul edx, ecx
and edx, 0x8000000f
jge 0x140047f1d
sub edx, edi
or edx, 0xfffffff0
add edx, edi
cmp edx, 9
jne 0x140047f3d
lea ecx, [rdx - 5]
call fcn.1400be0e0
mov rcx, rax
mov qword [rsp + 0x310], rax
mov eax, dword [0x1401aad80]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x178], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047f6f
mov rdx, qword [rsp + 0x178]
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 + 0x188], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047fa1
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x198], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140047fd3
mov rdx, qword [rsp + 0x198]
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 + 0xe8], rcx
mov eax, r15d
lock xadd dword [rcx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048004
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rsp + 0x74]
jmp 0x14004855f
mov esi, dword [0x1401aad80]
mov ecx, esi
imul ecx, esi
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, 0x14
jne 0x14004810b
lea ecx, [rsi + 2]
lea eax, [rsi + 1]
imul ecx, eax
imul ecx, esi
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
cmp ecx, 8
jne 0x140048078
mov dword [rsp + 0x378], r14d
mov dword [rsp + 0x3a0], r14d
mov dword [rsp + 0x3d0], r14d
mov r10d, r14d
mov dword [rsp + 0x78], r14d
cmp r10d, edi
jge 0x14004810b
mov r11d, r14d
mov dword [rsp + 0x7c], r14d
cmp r11d, 0xe
jge 0x1400480f4
mov ebx, r14d
mov dword [rsp + 0x70], ebx
cmp ebx, 8
jge 0x1400480ea
lea r12d, [rbx + 1]
lea ecx, [r11 + 1]
mov eax, esi
cdq
idiv ecx
mov r9d, edx
mov eax, esi
cdq
idiv r12d
imul r9d, eax
mov eax, esi
sub eax, r10d
imul r9d, eax
movsxd r8, r10d
imul r8, r8, 0xe
movsxd rax, r11d
add r8, rax
movsxd rax, ebx
lea rcx, [rsp + 0x520]
add rcx, rax
mov byte [rcx + r8*8], r9b
mov ebx, r12d
jmp 0x14004809a
add r11d, edi
mov dword [rsp + 0x7c], r11d
jmp 0x140048091
add r10d, edi
mov dword [rsp + 0x78], r10d
jmp 0x140048080
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r13 + 0x1e0], eax
mov qword [r13 + 0x2b0], r13
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rbx, rax
lea rax, vtable.WTL::CMessageLoop.0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], r14
lea rdx, [rsp + 0x80]
call fcn.140041be8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [r13 + 0x1ec], eax
lea rcx, [r13 + 0x1f8]
mov rdx, rbx
call fcn.14004db30
test rax, rax
jne 0x14004829d
call fcn.1400425b8
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140001f6c
nop
lea rdx, [rsp + 0xf0]
mov rcx, r13
call fcn.14004d1ec
nop
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400481c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1400481e2
call fcn.1400be3d8
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], r14
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140048204
call fcn.1400be3d8
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14004822e
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048250
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048272
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048293
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 2
jmp 0x14004855f
mov esi, r14d
mov ebx, edi
jmp 0x1400482e1
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x1400482e5
mov edx, esi
lea rcx, [rsp + 0x80]
mov rax, qword [rsp + 0x80]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add esi, edi
test eax, eax
jne 0x1400482e1
mov ebx, r14d
test ebx, ebx
jne 0x1400482a4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, r15d
je 0x1400482e1
test eax, eax
je 0x140048362
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x80]
mov rax, qword [rsp + 0x80]
call qword [rax]
test eax, eax
jne 0x14004833e
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [rsp + 0xb0]
sub eax, 0xf
je 0x1400482e1
sub eax, 0x91
je 0x1400482e1
sub eax, 0x78
je 0x1400482e1
cmp eax, 0xe8
je 0x1400482e1
jmp 0x14004829d
mov rbx, qword [0x1401acea0]
add rbx, 0x18
mov qword [rsp + 0x2c8], rbx
mov byte [rsp + 0x2d0], r14b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [rsp + 0x2d0], dil
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov edx, r14d
mov rcx, qword [0x1401ace08]
cmp dword [rcx + 0x10], r14d
jle 0x1400483ba
mov rax, qword [rcx]
cmp dword [rax], r8d
je 0x1400483bd
add edx, edi
add rax, 4
cmp edx, dword [rcx + 0x10]
jl 0x1400483aa
mov edx, r15d
cmp edx, r15d
je 0x1400483c7
call fcn.14004ddbc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [rsp + 0x2d0], r14b
lea rdx, str.task
mov rcx, qword [r13 + 0xe0]
call fcn.1400d1908
test eax, eax
sete al
test al, al
je 0x1400483fd
mov rcx, r13
call fcn.140014800
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x140048417
call fcn.1400be3d8
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], r14
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140048439
call fcn.1400be3d8
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048463
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140048485
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400484a7
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, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400484c8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004855f
mov rcx, qword [rsp + 0x590]
xor rcx, rsp
call fcn.1400bd920
lea r11, [rsp + 0x5a0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret