Function at 0x38a095c60
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r12, qword [rcx]
mov rbx, qword [rcx + 8]
mov rbp, rdx
mov edx, 0x20
mov rcx, rbp
call fcn.38a09148d
xor eax, eax
mov qword [rsp + 0x70], r12
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x70]
mov rdx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x78], rbx
call fcn.38a093c90
xor edx, edx
lea rax, [0x38a0aae00]
xor ecx, ecx
mov qword [rbp], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rax
cmp r12, 1
jle 0x38a095d56
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], r12
mov r9d, 0x5c
mov rdx, rax
mov r8d, 0x2f
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x68], rbx
call fcn.38a0957da
mov rax, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
lea rcx, [0x38a0a8440]
mov qword [rsp + 0x40], rax
call fcn.38a0a1dc0
cmp byte [rax], 0
mov rdi, rax
je 0x38a095d71
jmp 0x38a096137
test rbx, rbx
je 0x38a096164
mov rcx, rbx
test byte [rbx + 7], 0x40
jne 0x38a096164
jmp 0x38a09613e
cmp r12, 2
je 0x38a095d89
cmp byte [rsi + 8], 0x5c
jne 0x38a095d89
cmp byte [rsi + 9], 0x5c
jne 0x38a095d89
cmp byte [rsi + 0xa], 0x5c
jne 0x38a095d98
cmp byte [rbx + 9], 0x3a
jne 0x38a0960f3
jmp 0x38a09604d
mov r8d, 8
cmp qword [rsp + 0x40], r8
lea r13, [rsp + 0x50]
cmovle r8, qword [rsp + 0x40]
mov rcx, r13
xor edx, edx
dec r8
call fcn.38a09149d
mov rcx, qword [rsp + 0x30]
mov r8, r13
mov rdx, rsi
call fcn.38a093e71
cmp byte [rdi], 0
mov rax, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jne 0x38a096036
mov qword [rsp + 0x60], rax
lea rax, [0x38a0aade0]
mov rdx, qword [rsp + 0x38]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x30]
mov r9d, 1
mov qword [rsp + 0x68], r14
call fcn.38a0958ee
cmp byte [rdi], 0
mov rax, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
jne 0x38a096036
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r15
call fcn.38a09586a
cmp byte [rdi], 0
mov rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
jne 0x38a096036
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x68], r8
movups xmm0, xmmword [0x38a0aadd0]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x60], rax
movups xmmword [rsp + 0x70], xmm0
call fcn.38a0915b0
mov r8, qword [rsp + 0x48]
cmp al, 1
sbb r13, r13
and r13, 0xfffffffffffffffa
add r13, 8
test r8, r8
je 0x38a095e9b
test byte [r8 + 7], 0x40
jne 0x38a095e9b
mov rcx, r8
call fcn.38a092772
test r15, r15
je 0x38a095eaf
test byte [r15 + 7], 0x40
jne 0x38a095eaf
mov rcx, r15
call fcn.38a092772
test r14, r14
je 0x38a095ec3
test byte [r14 + 7], 0x40
jne 0x38a095ec3
mov rcx, r14
call fcn.38a092772
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
or r9, 0xffffffffffffffff
mov r8, r13
mov edx, 0x5c
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rax
call fcn.38a0959ac
cmp byte [rdi], 0
jne 0x38a096036
cmp rax, 0xffffffffffffffff
je 0x38a095fea
lea r13, [rax + 1]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
or r9, 0xffffffffffffffff
mov r8, r13
mov edx, 0x5c
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rax
call fcn.38a0959ac
mov r14, rax
cmp r13, rax
je 0x38a095fea
cmp rax, 0xffffffffffffffff
lea rax, [rsp + 0x50]
cmove r14, r12
mov rcx, rax
xor edx, edx
mov qword [rsp + 0x40], rax
lea r8, [r14 - 1]
call fcn.38a09149d
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov rdx, rbx
call fcn.38a093e71
cmp byte [rdi], 0
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
jne 0x38a096156
mov rcx, qword [rsp + 0x40]
mov r8d, 1
mov rdx, r14
call fcn.38a09149d
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], r12
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0x68], rbx
call fcn.38a093e01
cmp byte [rdi], 0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
jne 0x38a09600a
mov qword [rsp + 0xa0], rdx
lea rdx, [rsp + 0x90]
mov qword [rsp + 0xa8], rcx
mov rcx, rbp
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r15
call fcn.38a095bfb
cmp byte [rdi], 0
jne 0x38a096036
test rbx, rbx
je 0x38a096106
test byte [rbx + 7], 0x40
jne 0x38a096106
mov rcx, rbx
call fcn.38a092772
jmp 0x38a096106
test rcx, rcx
je 0x38a096156
test byte [rcx + 7], 0x40
jne 0x38a096156
call fcn.38a092772
test r15, r15
je 0x38a096036
test byte [r15 + 7], 0x40
jne 0x38a096036
mov rcx, r15
call fcn.38a092772
cmp byte [rdi], 0
je 0x38a095d89
test rbx, rbx
je 0x38a096106
jmp 0x38a0960f3
lea r13, [rsp + 0x50]
xor edx, edx
mov r8d, 1
mov rcx, r13
call fcn.38a09149d
mov rcx, qword [rsp + 0x30]
mov r8, r13
mov rdx, rbx
call fcn.38a093e71
cmp byte [rdi], 0
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jne 0x38a096121
mov r8d, 1
mov edx, 2
mov rcx, r13
call fcn.38a09149d
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rbx
call fcn.38a093e01
cmp byte [rdi], 0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
jne 0x38a096111
mov qword [rsp + 0xa8], rcx
lea rdx, [rsp + 0x90]
mov rcx, rbp
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rax
call fcn.38a095bfb
test byte [rbx + 7], 0x40
jne 0x38a096101
mov rcx, rbx
call fcn.38a092772
test rsi, rsi
je 0x38a096164
test byte [rsi + 7], 0x40
jne 0x38a096164
mov rcx, rsi
jmp 0x38a09613e
test rcx, rcx
je 0x38a096121
test byte [rcx + 7], 0x40
jne 0x38a096121
call fcn.38a092772
test r14, r14
je 0x38a0960f3
test byte [r14 + 7], 0x40
jne 0x38a0960f3
mov rcx, r14
call fcn.38a092772
jmp 0x38a0960f3
test rbx, rbx
je 0x38a096101
jmp 0x38a0960f3
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.38a092772
test r15, r15
jne 0x38a096027
jmp 0x38a09603f
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret