Function at 0x14001ad10
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov rax, qword [0x140300b88]
xor rax, rsp
mov qword [rbp + 0x120], rax
inc qword [rcx + 0x30]
xor r12d, r12d
mov rsi, rdx
mov qword [rsp + 0x48], r12
lea rdx, [r8 + 0x19]
mov r13, r8
mov rdi, rcx
test rdx, rdx
je 0x14001b954
movzx ecx, byte [rdx]
lea r8, str.0123456789ABCDEF
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x31], al
movzx eax, byte [rcx + r8]
mov byte [rbp + 0x30], al
movzx ecx, byte [rdx + 1]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x33], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 2]
mov byte [rbp + 0x32], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x35], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 3]
mov byte [rbp + 0x34], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x37], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 4]
mov byte [rbp + 0x36], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x39], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 5]
mov byte [rbp + 0x38], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x3b], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 6]
mov byte [rbp + 0x3a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x3d], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 7]
mov byte [rbp + 0x3c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x3f], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 8]
mov byte [rbp + 0x3e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x41], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 9]
mov byte [rbp + 0x40], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x43], al
movzx eax, byte [rcx + r8]
mov byte [rbp + 0x42], al
movzx ecx, byte [rdx + 0xa]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x45], al
movzx eax, byte [rcx + r8]
mov byte [rbp + 0x44], al
movzx ecx, byte [rdx + 0xb]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x47], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0xc]
mov byte [rbp + 0x46], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x49], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0xd]
mov byte [rbp + 0x48], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x4b], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0xe]
mov byte [rbp + 0x4a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x4d], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0xf]
mov byte [rbp + 0x4c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x4f], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x10]
mov byte [rbp + 0x4e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x51], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x11]
mov byte [rbp + 0x50], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x53], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x12]
mov byte [rbp + 0x52], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x55], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x13]
mov byte [rbp + 0x54], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x57], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x14]
mov byte [rbp + 0x56], al
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x59], al
movzx eax, byte [rcx + r8]
mov byte [rbp + 0x58], al
movzx ecx, byte [rdx + 0x15]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + r8]
mov byte [rbp + 0x5b], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x16]
mov byte [rbp + 0x5a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x5d], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x17]
mov byte [rbp + 0x5c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x5f], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x18]
mov byte [rbp + 0x5e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x61], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x19]
mov byte [rbp + 0x60], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x63], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1a]
mov byte [rbp + 0x62], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x65], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1b]
mov byte [rbp + 0x64], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x67], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1c]
mov byte [rbp + 0x66], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x69], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1d]
mov byte [rbp + 0x68], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x6b], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1e]
mov byte [rbp + 0x6a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
mov byte [rbp + 0x70], r12b
movzx eax, byte [rax + r8]
mov byte [rbp + 0x6d], al
movzx eax, byte [rcx + r8]
movzx ecx, byte [rdx + 0x1f]
lea rdx, [rbp + 0x30]
mov byte [rbp + 0x6c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + r8]
mov byte [rbp + 0x6f], al
movzx eax, byte [rcx + r8]
lea r8, [rsp + 0x40]
mov rcx, qword [rdi]
mov byte [rbp + 0x6e], al
call fcn.14001ec50
test eax, eax
jne 0x14001b15a
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x230], r15
mov r15, qword [rsp + 0x40]
test r15, r15
jns 0x14001b6d4
mov ecx, dword [rsi + 0x30]
sub ecx, 2
je 0x14001b19b
cmp ecx, 1
je 0x14001b179
lea eax, [r12 + 3]
mov r14, qword [rsp + 0x288]
mov r15, qword [rsp + 0x230]
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140208e10
add rsp, 0x238
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rax, [rsp + 0x40]
mov rdx, r13
lea r9, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x10]
mov rcx, rdi
call fcn.14002ba70
jmp 0x14001b1bb
lea rax, [rsp + 0x40]
mov rdx, r13
lea r9, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x10]
mov rcx, rdi
call fcn.14002b6e0
test eax, eax
jne 0x14001b14a
mov r14, qword [rsp + 0x40]
lea r12, [rbp + 0xf0]
mov rdx, r14
mov rcx, rdi
call fcn.140019640
mov ebx, eax
test eax, eax
jne 0x14001b92f
mov rcx, rdi
call fcn.1400197a0
mov ebx, eax
test eax, eax
jne 0x14001b92f
movzx ecx, byte [rbp + 0x10]
lea rdx, str.0123456789ABCDEF
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x81], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x80], al
movzx ecx, byte [rbp + 0x11]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x83], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x12]
mov byte [rbp + 0x82], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x85], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x13]
mov byte [rbp + 0x84], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x87], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x14]
mov byte [rbp + 0x86], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x89], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x15]
mov byte [rbp + 0x88], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x8b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x16]
mov byte [rbp + 0x8a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x8d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17]
mov byte [rbp + 0x8c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x8f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x18]
mov byte [rbp + 0x8e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x91], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x19]
mov byte [rbp + 0x90], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x93], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x92], al
movzx ecx, byte [rbp + 0x1a]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x95], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x94], al
movzx ecx, byte [rbp + 0x1b]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x97], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x1c]
mov byte [rbp + 0x96], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x99], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x1d]
mov byte [rbp + 0x98], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x9b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x1e]
mov byte [rbp + 0x9a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x9d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x1f]
mov byte [rbp + 0x9c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x9f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x20]
mov byte [rbp + 0x9e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xa1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x21]
mov byte [rbp + 0xa0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xa3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x22]
mov byte [rbp + 0xa2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xa5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x23]
mov byte [rbp + 0xa4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xa7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x24]
mov byte [rbp + 0xa6], al
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xa9], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0xa8], al
movzx ecx, byte [rbp + 0x25]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xab], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x26]
mov byte [rbp + 0xaa], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xad], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x27]
mov byte [rbp + 0xac], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xaf], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x28]
mov byte [rbp + 0xae], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xb1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x29]
mov byte [rbp + 0xb0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xb3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2a]
mov byte [rbp + 0xb2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xb5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2b]
mov byte [rbp + 0xb4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xb7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2c]
mov byte [rbp + 0xb6], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xb9], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2d]
mov byte [rbp + 0xb8], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xbb], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2e]
mov byte [rbp + 0xba], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
xorps xmm0, xmm0
mov byte [rbp + 0xc0], bl
mov rbx, qword [rdi]
movups xmmword [rbp - 0x78], xmm0
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xbd], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x2f]
mov byte [rbp + 0xbc], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movzx eax, byte [rax + rdx]
mov byte [rbp + 0xbf], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0xbe], al
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp + 8], rax
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
test rbx, rbx
je 0x14001b86a
lea rax, [rbp + 0xf0]
mov qword [rbp - 0x80], r14
lea r8, [rbp + 0x30]
mov qword [rsp + 0x78], rax
mov edx, 0x41
lea rcx, [rbp - 0x78]
call fcn.1402198ac
test eax, eax
je 0x14001b689
mov ebx, 3
jmp 0x14001b92f
lea r8, [rbp + 0x80]
mov edx, 0x41
lea rcx, [rbp - 0x37]
call fcn.1402198ac
test eax, eax
je 0x14001b6ac
mov ebx, 3
jmp 0x14001b92f
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14001f840
mov ebx, eax
test eax, eax
jne 0x14001b92f
mov r15, qword [rsp + 0x70]
mov rax, r14
add qword [rdi + 0x28], rax
mov qword [rsp + 0x48], rax
mov r9d, dword [rsi + 0x30]
lea rax, [rsi + 0x38]
mov rcx, qword [rdi]
lea r14, [rsi + 8]
mov qword [rsp + 0x30], rax
lea r8, [rsi + 0x20]
lea rdx, [rsi + 0x10]
mov qword [rsp + 0x28], r14
call fcn.14001f3d0
mov ebx, eax
test eax, eax
jne 0x14001b92a
mov rcx, qword [rdi]
mov r8, qword [r14]
mov rdx, qword [rsi + 0x48]
mov qword [rbp + 0xd0], 0
test rcx, rcx
je 0x14001b925
test rdx, rdx
je 0x14001b925
mov rax, qword [str.location]
mov qword [rbp + 0xe0], rdx
lea rdx, [rbp + 0xd0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001b92a
mov rcx, qword [rdi]
mov r8, qword [r14]
mov rdx, qword [rsi + 0x50]
mov qword [rbp + 0xd0], 0
test rcx, rcx
je 0x14001b925
test rdx, rdx
je 0x14001b925
mov rax, qword [str.name]
mov qword [rbp + 0xe0], rdx
lea rdx, [rbp + 0xd0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001b92a
mov rcx, qword [rdi]
mov r8, qword [r14]
mov rdx, qword [rsi + 0x58]
mov qword [rbp + 0xd0], 0
test rcx, rcx
je 0x14001b925
test rdx, rdx
je 0x14001b925
mov rax, qword [str.threatname]
mov qword [rbp + 0xe0], rdx
lea rdx, [rbp + 0xd0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001b92a
mov eax, dword [rsi + 0x30]
cmp eax, 2
jne 0x14001b874
mov rcx, qword [rdi]
mov rdx, qword [r14]
mov qword [rbp + 0xd0], 0
test rcx, rcx
je 0x14001b925
mov rax, qword [0x1402d1ae8]
mov qword [rbp + 0xe0], rdx
lea rdx, [rbp + 0xd0]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], r15
call fcn.14001fb80
mov ebx, eax
test eax, eax
jne 0x14001b92a
xor eax, eax
jmp 0x14001b14a
mov ebx, 1
jmp 0x14001b92f
cmp eax, 3
jne 0x14001b863
mov r9d, dword [r13 + 0x3c]
lea r8, [0x1402d0e7c]
lea edx, [rax + 0x12]
lea rcx, [rbp + 0xd0]
call fcn.140017f00
test eax, eax
js 0x14001b91e
cdqe
cmp rax, 0x15
jae 0x14001b91e
mov rcx, qword [rdi]
xor esi, esi
mov rdx, qword [r14]
mov qword [rsp + 0x50], rsi
test rcx, rcx
je 0x14001b925
mov rax, qword [str.regvaluetype]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x68], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x60], rax
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001b92a
mov rcx, qword [rdi]
mov rdx, qword [r14]
mov qword [rsp + 0x50], rsi
test rcx, rcx
je 0x14001b925
mov rax, qword [str.main]
mov qword [rsp + 0x60], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], r15
call fcn.14001fb80
mov ebx, eax
test eax, eax
je 0x14001b863
jmp 0x14001b92a
mov ebx, 3
jmp 0x14001b92a
mov ebx, 1
test r12, r12
je 0x14001b949
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001b940
mov rdx, r12
call fcn.1400289d0
mov rax, qword [rsp + 0x48]
sub qword [rdi + 0x28], rax
dec qword [rdi + 0x30]
mov eax, ebx
jmp 0x14001b14a
mov eax, 1
jmp 0x14001b15a