Function at 0x40157f
Capabilities:
Execute command

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xc0
call dbg.__main
mov dword [rbp - 4], 0x14
mov dword [rbp - 8], 0x14
mov dword [rbp - 0xc], 0x14
mov dword [rbp - 0x10], 0x14
mov ecx, 0
call dbg.time
mov ecx, eax
call sym.srand
mov dword [rbp - 0x14], 0
cmp dword [rbp - 0x14], 3
jg 0x401607
call sym.rand
mov ecx, eax
movsxd rax, ecx
imul rax, rax, 0x66666667
shr rax, 0x20
mov edx, eax
sar edx, 3
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
sub ecx, eax
mov edx, ecx
mov eax, dword [rbp - 0x14]
cdqe
mov dword [rbp + rax*4 - 0x50], edx
add dword [rbp - 0x14], 1
jmp 0x4015c3
mov dword [rbp - 0x18], 0
cmp dword [rbp - 0x18], 3
jg 0x401650
mov dword [rbp - 0x1c], 0
cmp dword [rbp - 0x1c], 3
jg 0x40164a
mov eax, dword [rbp - 0x18]
cdqe
mov edx, dword [rbp + rax*4 - 0x50]
mov eax, dword [rbp - 0x1c]
cdqe
mov eax, dword [rbp + rax*4 - 0x50]
cmp edx, eax
jne 0x401644
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp - 0x1c]
je 0x401644
jmp 0x40158f
add dword [rbp - 0x1c], 1
jmp 0x40161b
add dword [rbp - 0x18], 1
jmp 0x40160e
mov ecx, 0
call dbg.time
mov ecx, eax
call sym.srand
mov dword [rbp - 0x20], 0
cmp dword [rbp - 0x20], 3
jg 0x4016b4
mov eax, dword [rbp - 0x20]
cdqe
mov eax, dword [rbp + rax*4 - 0x50]
mov edx, eax
mov rcx, qword [0x004bd230]
call method.std::ostream.operator___int_
lea rdx, [0x004b8001]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov eax, dword [rbp - 0x20]
cdqe
mov eax, dword [rbp + rax*4 - 0x50]
cmp dword [rbp - 4], eax
jle 0x4016ae
mov eax, dword [rbp - 0x20]
cdqe
mov eax, dword [rbp + rax*4 - 0x50]
mov dword [rbp - 4], eax
add dword [rbp - 0x20], 1
jmp 0x401668
lea rdx, [0x004b8003]
mov rcx, qword [0x004bd230]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [rbp - 0x24], 0
cmp dword [rbp - 0x24], 3
jg 0x401709
mov eax, dword [rbp - 0x24]
cdqe
mov eax, dword [rbp + rax*4 - 0x50]
cmp dword [rbp - 4], eax
je 0x4016f6
mov eax, dword [rbp - 0x24]
cdqe
mov edx, dword [rbp + rax*4 - 0x50]
mov eax, dword [rbp - 0x24]
cdqe
mov dword [rbp + rax*4 - 0x60], edx
jmp 0x401703
mov eax, dword [rbp - 0x24]
cdqe
mov dword [rbp + rax*4 - 0x60], 0
add dword [rbp - 0x24], 1
jmp 0x4016ce
mov dword [rbp - 0x28], 0
cmp dword [rbp - 0x28], 3
jg 0x401769
mov eax, dword [rbp - 0x28]
cdqe
mov eax, dword [rbp + rax*4 - 0x60]
mov edx, eax
mov rcx, qword [0x004bd230]
call method.std::ostream.operator___int_
lea rdx, [0x004b8001]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov eax, dword [rbp - 0x28]
cdqe
mov eax, dword [rbp + rax*4 - 0x60]
test eax, eax
je 0x401763
mov eax, dword [rbp - 0x28]
cdqe
mov eax, dword [rbp + rax*4 - 0x60]
cmp dword [rbp - 8], eax
jle 0x401763
mov eax, dword [rbp - 0x28]
cdqe
mov eax, dword [rbp + rax*4 - 0x60]
mov dword [rbp - 8], eax
add dword [rbp - 0x28], 1
jmp 0x401710
lea rdx, [0x004b8003]
mov rcx, qword [0x004bd230]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [rbp - 0x2c], 0
cmp dword [rbp - 0x2c], 3
jg 0x4017af
mov eax, dword [rbp - 0x2c]
cdqe
mov eax, dword [rbp + rax*4 - 0x60]
cmp dword [rbp - 8], eax
je 0x4017a9
mov eax, dword [rbp - 0x2c]
cdqe
mov edx, dword [rbp + rax*4 - 0x60]
mov eax, dword [rbp - 0x2c]
cdqe
mov dword [rbp + rax*4 - 0x80], edx
add dword [rbp - 0x2c], 1
jmp 0x401783
mov dword [rbp - 0x30], 0
cmp dword [rbp - 0x30], 3
jg 0x4017e9
mov eax, dword [rbp - 0x30]
cdqe
mov eax, dword [rbp + rax*4 - 0x80]
test eax, eax
je 0x4017e3
mov eax, dword [rbp - 0x30]
cdqe
mov eax, dword [rbp + rax*4 - 0x80]
cmp dword [rbp - 0xc], eax
jle 0x4017e3
mov eax, dword [rbp - 0x30]
cdqe
mov eax, dword [rbp + rax*4 - 0x80]
mov dword [rbp - 0xc], eax
add dword [rbp - 0x30], 1
jmp 0x4017b6
lea rdx, [0x004b8003]
mov rcx, qword [0x004bd230]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [rbp - 0x34], 0
cmp dword [rbp - 0x34], 3
jg 0x40182f
mov eax, dword [rbp - 0x34]
cdqe
mov eax, dword [rbp + rax*4 - 0x80]
cmp dword [rbp - 0xc], eax
je 0x401829
mov eax, dword [rbp - 0x34]
cdqe
mov edx, dword [rbp + rax*4 - 0x80]
mov eax, dword [rbp - 0x34]
cdqe
mov dword [rbp + rax*4 - 0x70], edx
add dword [rbp - 0x34], 1
jmp 0x401803
mov dword [rbp - 0x38], 0
cmp dword [rbp - 0x38], 3
jg 0x401869
mov eax, dword [rbp - 0x38]
cdqe
mov eax, dword [rbp + rax*4 - 0x70]
test eax, eax
je 0x401863
mov eax, dword [rbp - 0x38]
cdqe
mov eax, dword [rbp + rax*4 - 0x70]
cmp dword [rbp - 0x10], eax
jle 0x401863
mov eax, dword [rbp - 0x38]
cdqe
mov eax, dword [rbp + rax*4 - 0x70]
mov dword [rbp - 0x10], eax
add dword [rbp - 0x38], 1
jmp 0x401836
lea rdx, [0x004b8003]
mov rcx, qword [0x004bd230]
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov eax, dword [rbp - 4]
mov dword [rbp - 0x90], eax
mov eax, dword [rbp - 8]
mov dword [rbp - 0x8c], eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x88], eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x84], eax
mov dword [rbp - 0x3c], 0
cmp dword [rbp - 0x3c], 3
jg 0x4018dc
mov eax, dword [rbp - 0x3c]
cdqe
mov eax, dword [rbp + rax*4 - 0x90]
mov edx, eax
mov rcx, qword [0x004bd230]
call method.std::ostream.operator___int_
lea rdx, [0x004b8001]
mov rcx, rax
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
add dword [rbp - 0x3c], 1
jmp 0x4018a7
lea rcx, str.pause
call sym.system
mov eax, 0
add rsp, 0xc0
pop rbp
ret