Function at 0x140058c00
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x168
lea rbp, [rsp + 0x20]
lea rcx, [0x1401a1509]
call fcn.140068b20
mov rax, qword [rbp + 0x168]
mov qword [rbp + 8], rax
mov ecx, 0x18
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x140058c7b
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea r8, str.smack
lea rdx, str._s:_out_of_memory_error_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0x28]
mov ecx, dword [rbp + 0x170]
mov dword [rax + 0x10], ecx
mov eax, dword [rbp + 0x180]
and eax, 1
test eax, eax
jbe 0x140058ca1
mov dword [rbp + 0x134], 1
jmp 0x140058cab
mov dword [rbp + 0x134], 0
mov eax, dword [rbp + 0x134]
and eax, 1
mov rcx, qword [rbp + 0x28]
mov ecx, dword [rcx + 0x14]
and ecx, 0xfffffffe
or ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 0x14], eax
mov eax, dword [rbp + 0x180]
and eax, 2
test eax, eax
jbe 0x140058ce2
mov dword [rbp + 0x134], 1
jmp 0x140058cec
mov dword [rbp + 0x134], 0
mov eax, dword [rbp + 0x134]
and eax, 1
shl eax, 1
mov rcx, qword [rbp + 0x28]
mov ecx, dword [rcx + 0x14]
and ecx, 0xfffffffd
or ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 0x14], eax
mov eax, dword [rbp + 0x180]
and eax, 4
test eax, eax
jbe 0x140058d25
mov dword [rbp + 0x134], 1
jmp 0x140058d2f
mov dword [rbp + 0x134], 0
mov eax, dword [rbp + 0x134]
and eax, 1
shl eax, 2
mov rcx, qword [rbp + 0x28]
mov ecx, dword [rcx + 0x14]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 0x14], eax
mov eax, dword [rbp + 0x180]
and eax, 8
test eax, eax
jbe 0x140058d69
mov dword [rbp + 0x134], 1
jmp 0x140058d73
mov dword [rbp + 0x134], 0
mov eax, dword [rbp + 0x134]
and eax, 1
shl eax, 3
mov rcx, qword [rbp + 0x28]
mov ecx, dword [rcx + 0x14]
and ecx, 0xfffffff7
or ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x28]
mov dword [rcx + 0x14], eax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x178]
mov qword [rax], rcx
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 8]
and eax, 1
mov r8d, eax
mov edx, dword [rbp + 0x170]
mov rcx, qword [rbp + 8]
call fcn.140058a40
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x14]
and eax, 1
test eax, eax
je 0x140058dee
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 8]
or eax, 2
mov rcx, qword [rbp + 0x160]
mov dword [rcx + 8], eax
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x14]
shr eax, 1
and eax, 1
test eax, eax
je 0x140058e15
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 8]
or eax, 4
mov rcx, qword [rbp + 0x160]
mov dword [rcx + 8], eax
mov r8d, dword [rbp + 0x170]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x160]
call fcn.1400592e0
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x14]
shr eax, 2
and eax, 1
test eax, eax
je 0x140058e56
mov r8d, 1
lea rdx, [0x14008c914]
mov rcx, qword [rbp + 0x160]
call fcn.1400592e0
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 0x18]
inc eax
mov rcx, qword [rbp + 0x160]
cmp eax, dword [rcx + 0x1c]
jb 0x140058f2a
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 0x1c]
lea eax, [rax + rax + 1]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x64]
shl rax, 3
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
jne 0x140058eca
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
lea r8, str.smack
lea rdx, str._s:_out_of_memory_error_n
mov rcx, rax
call fcn.140001b10
mov ecx, 1
call qword [sym.imp.ucrtbased.dll_exit]
mov rax, qword [rbp + 0x160]
cmp qword [rax + 0x10], 0
je 0x140058f0e
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 0x18]
shl rax, 3
mov r8, rax
mov rax, qword [rbp + 0x160]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp + 0x48]
call sub.VCRUNTIME140D.dll_memcpy
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax + 0x10]
call qword [sym.imp.ucrtbased.dll_free]
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x48]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0x160]
mov ecx, dword [rbp + 0x64]
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 0x18]
mov rcx, qword [rbp + 0x160]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rbp + 0x28]
mov qword [rcx + rax*8], rdx
mov rax, qword [rbp + 0x160]
mov eax, dword [rax + 0x18]
inc eax
mov rcx, qword [rbp + 0x160]
mov dword [rcx + 0x18], eax
lea rsp, [rbp + 0x148]
pop rdi
pop rbp
ret