Function at 0x1c5546e2880
Capabilities:
Create thread
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x16b0]
mov eax, 0x17b0
call fcn.1c5546fd8b0
sub rsp, rax
mov rax, qword [0x1c55473c080]
xor rax, rsp
mov qword [rbp + 0x16a0], rax
mov r14, rcx
mov qword [rbp + 0x120], rcx
xor r15d, r15d
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
call fcn.1c5546fad74
mov dword [rbp + 0x1694], 0xffffffff
mov dword [rbp + 0x314], eax
mov edx, 1
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x314], eax
inc rdx
cmp rdx, 0x270
jb 0x1c5546e2900
mov dword [rbp + 0x310], 0x270
lea rcx, [rbp + 0x310]
call fcn.1c5546f5c60
imul ecx, eax, 0x29
cmp ecx, 0x24
ja 0x1c5546e2954
lea rcx, [rbp + 0x310]
call fcn.1c5546f5c60
imul ecx, eax, 0x29
cmp ecx, 0x25
jb 0x1c5546e2940
lea rcx, [rbp + 0x1d0]
call fcn.1c5546f8dd0
nop
lea rcx, [rbp + 0x1d0]
call fcn.1c5546f9870
lea rdx, [0x1c554732510]
lea rcx, [rbp + 0x1b0]
call fcn.1c5546e83d0
nop
lea rdx, [0x1c554732510]
lea rcx, [rbp + 0x190]
call fcn.1c5546e83d0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x148], xmm0
mov qword [rbp + 0x158], r15
mov qword [rbp + 0x160], r15
xor r8d, r8d
lea rdx, [0x1c554732470]
lea rcx, [rbp + 0x148]
call fcn.1c5546ea880
nop
movabs r12, 0x7fffffffffffffff
movabs r13, 0x8000000000000000
lea rbx, str.api_kcehc
lea r8, [rbp + 0x1b0]
lea rdx, str._a1_:_
lea rcx, [rsp + 0x60]
call fcn.1c5546ea1a0
nop
mov r8d, 9
lea rdx, str.____a2_:_
mov rcx, rax
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, r14
cmp qword [r14 + 0x18], 7
jbe 0x1c5546e2a4d
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rsp + 0x40]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x118], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x110], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a3_:_
lea rcx, [rbp + 0x100]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 7
cmova rdx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x240]
lea rcx, [rbp + 0xe0]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a4_:_
lea rcx, [rbp + 0xc0]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x250]
cmp qword [rbp + 0x268], 7
cmova rdx, qword [rbp + 0x250]
mov r8, qword [rbp + 0x260]
lea rcx, [rbp + 0xa0]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x90], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a5_:_
lea rcx, [rbp + 0x80]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 7
cmova rdx, qword [rbp + 0x290]
mov r8, qword [rbp + 0x2a0]
lea rcx, [rbp + 0x60]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a6_:_
lea rcx, [rbp + 0x40]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 7
cmova rdx, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2c0]
lea rcx, [rbp + 0x20]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a7_:_
lea rcx, [rbp]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x270]
cmp qword [rbp + 0x288], 7
cmova rdx, qword [rbp + 0x270]
mov r8, qword [rbp + 0x280]
lea rcx, [rbp - 0x20]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 9
lea rdx, str.____a8_:_
lea rcx, [rbp - 0x40]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 7
cmova rdx, qword [rbp + 0x190]
mov r8, qword [rbp + 0x1a0]
lea rcx, [rbp - 0x60]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov r8d, 2
lea rdx, [0x1c554732514]
lea rcx, [rbp - 0x80]
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r15
mov qword [rbp + 0x140], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x128], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x138], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x1c5546e2f0c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e2f07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e390a
call fcn.1c5546fcfe0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r15w
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x1c5546e2f5d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e2f58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3910
call fcn.1c5546fcfe0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r15w
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x1c5546e2fae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e2fa9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3916
call fcn.1c5546fcfe0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r15w
mov rdx, qword [rbp - 8]
cmp rdx, 7
jbe 0x1c5546e2fff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e2ffa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e391c
call fcn.1c5546fcfe0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x1c5546e3050
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e304b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3922
call fcn.1c5546fcfe0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 7
mov word [rbp], r15w
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x1c5546e30a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e309c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3928
call fcn.1c5546fcfe0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r15w
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x1c5546e30f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e30ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e392e
call fcn.1c5546fcfe0
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], r15w
mov rdx, qword [rbp + 0x78]
cmp rdx, 7
jbe 0x1c5546e3143
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e313e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3934
call fcn.1c5546fcfe0
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r15w
mov rdx, qword [rbp + 0x98]
cmp rdx, 7
jbe 0x1c5546e319a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e3195
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e393a
call fcn.1c5546fcfe0
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], r15w
mov rdx, qword [rbp + 0xb8]
cmp rdx, 7
jbe 0x1c5546e31fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e31f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3940
call fcn.1c5546fcfe0
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], 7
mov word [rbp + 0xa0], r15w
mov rdx, qword [rbp + 0xd8]
cmp rdx, 7
jbe 0x1c5546e325a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e3255
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3946
call fcn.1c5546fcfe0
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], 7
mov word [rbp + 0xc0], r15w
mov rdx, qword [rbp + 0xf8]
cmp rdx, 7
jbe 0x1c5546e32ba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e32b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e394c
call fcn.1c5546fcfe0
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], 7
mov word [rbp + 0xe0], r15w
mov rdx, qword [rbp + 0x118]
cmp rdx, 7
jbe 0x1c5546e331a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e3315
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3952
call fcn.1c5546fcfe0
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x118], 7
mov word [rbp + 0x100], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x1c5546e3376
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e3371
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3958
call fcn.1c5546fcfe0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1c5546e33cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e33c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e395e
call fcn.1c5546fcfe0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
lea rdx, [rbp + 0x128]
cmp qword [rbp + 0x140], 7
cmova rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x128]
cmova rdx, qword [rbp + 0x128]
lea rcx, [rbp + 0x168]
call fcn.1c5546ea320
nop
lea rax, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova rax, qword [rbp + 0x168]
lea rcx, [rbp + 0x148]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.1c5546f9060
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
lea rsi, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova rsi, qword [rbp + 0x148]
mov rdi, qword [rbp + 0x158]
cmp rdi, r12
ja 0x1c5546e398e
cmp rdi, 0xf
ja 0x1c5546e34aa
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
jmp 0x1c5546e3535
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
jbe 0x1c5546e34bf
mov rbx, r12
lea rax, [r13 + 0x27]
jmp 0x1c5546e34f0
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1c5546e34da
mov rax, r15
jmp 0x1c5546e3517
cmp rcx, 0x1000
jb 0x1c5546e3512
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1c5546e396a
mov rcx, rax
call fcn.1c5546fcfe8
mov rcx, rax
test rax, rax
je 0x1c5546e3964
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1c5546e3517
call fcn.1c5546fcfe8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1c5547237f0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1b0]
call fcn.1c5546e25f0
mov ebx, eax
xor r8d, r8d
lea rdx, [0x1c554732470]
lea rcx, [rbp + 0x148]
call fcn.1c5546e9170
nop
mov rdx, qword [rbp + 0x180]
cmp rdx, 0xf
jbe 0x1c5546e35a0
inc rdx
mov rcx, qword [rbp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e359b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3970
call fcn.1c5546fcfe0
mov qword [rbp + 0x178], r15
mov qword [rbp + 0x180], 0xf
mov byte [rbp + 0x168], 0
mov rdx, qword [rbp + 0x140]
cmp rdx, 7
jbe 0x1c5546e35ff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e35fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3976
call fcn.1c5546fcfe0
test ebx, ebx
je 0x1c5546e29d8
lea rdi, str.api_time_check
nop
lea r8, [rbp + 0x1b0]
lea rdx, str._b1_:_
lea rcx, [rsp + 0x60]
call fcn.1c5546ea1a0
nop
mov r8d, 2
lea rdx, [0x1c554732514]
mov rcx, rax
call fcn.1c5546ec740
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r15
mov qword [rbp + 0x140], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x128], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x138], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1c5546e36bd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e36b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e397c
call fcn.1c5546fcfe0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
lea rdx, [rbp + 0x128]
cmp qword [rbp + 0x140], 7
cmova rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x128]
cmova rdx, qword [rbp + 0x128]
lea rcx, [rbp + 0x168]
call fcn.1c5546ea320
nop
lea rax, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova rax, qword [rbp + 0x168]
lea rcx, [rbp + 0x148]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.1c5546f9060
lea rax, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova rax, qword [rbp + 0x148]
cmp qword [rbp + 0x158], 2
jne 0x1c5546e376d
cmp word [rax], 0x5d5b
je 0x1c5546e37f4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
mov r8d, 0x160
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
lea rdx, [rbp + 0x1d0]
mov rcx, rax
call fcn.1c5546e39a0
lea rcx, [rbx + 0x140]
lea rax, [rbp + 0x148]
cmp rcx, rax
je 0x1c5546e37cf
lea rdx, [rbp + 0x148]
cmp qword [rbp + 0x160], 0xf
cmova rdx, qword [rbp + 0x148]
mov r8, qword [rbp + 0x158]
call fcn.1c5546e9170
lea rax, [rbp + 0x188]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [0x1c5546e4950]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r8, r15
lea rdx, [0x1c554732470]
lea rcx, [rbp + 0x148]
mov ebx, 0x80000028
call fcn.1c5546e9170
lea rcx, [rbp + 0x310]
call fcn.1c5546f5c60
mov ecx, eax
imul rax, rcx, 0x29
cmp eax, 0x24
ja 0x1c5546e3847
nop word [rax + rax]
lea rcx, [rbp + 0x310]
call fcn.1c5546f5c60
mov ecx, eax
imul rax, rcx, 0x29
cmp eax, 0x25
jb 0x1c5546e3830
shr rax, 0x20
lea ecx, [rax + rbx]
xor ecx, 0x80000000
imul ecx, ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rdx, qword [rbp + 0x180]
cmp rdx, 0xf
jbe 0x1c5546e38a2
inc rdx
mov rcx, qword [rbp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e389d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3982
call fcn.1c5546fcfe0
mov qword [rbp + 0x178], r15
mov qword [rbp + 0x180], 0xf
mov byte [rbp + 0x168], 0
mov rdx, qword [rbp + 0x140]
cmp rdx, 7
jbe 0x1c5546e3610
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1c5546e3900
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1c5546e3988
call fcn.1c5546fcfe0
jmp 0x1c5546e3610
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
int3
call fcn.1c5546e1390
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c55470c194
int3
call fcn.1c55470c194
nop
call fcn.1c55470c194
nop
call fcn.1c5546e1430
int3