Function at 0x140007990
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov r14, rcx
xor r12d, r12d
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
lea ecx, [r12 + 0x30]
call fcn.140062ea0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
lea ecx, [r12 + 0x38]
call fcn.140062ea0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x60], rax
call fcn.140026070
mov r13, rax
cmp qword [r14 + 0xb8], r12
jne 0x140007a9e
lea rcx, str.athena.dll
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
jne 0x140007a49
lea rcx, str.athena_dll_not_found__n
jmp 0x140007b4c
lea rdx, str.GetInterface
mov rcx, rax
call fcn.14000cba0
call rax
mov rbx, rax
test rax, rax
je 0x140007b45
mov r10, qword [rax]
mov r9b, 1
movzx r8d, r9b
lea rdx, str.test
mov rcx, rax
call qword [r10]
test al, al
je 0x140007b45
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 8]
mov qword [r14 + 0xb8], rax
test rax, rax
je 0x140007b51
lea rcx, [r14 + 0x24720]
call fcn.14003a844
test eax, eax
jne 0x140008396
mov eax, 1
xchg byte [r14 + 0x247b8], al
lea rcx, [r14 + 0x24770]
call fcn.14003a934
lea rcx, [r14 + 0x24720]
call fcn.14003a868
movzx eax, byte [r14 + 0x58]
nop
test al, al
jne 0x1400082a8
movss xmm8, dword [0x14009e37c]
lea rbx, [r14 + 8]
mov rcx, rbx
call fcn.14003a844
test eax, eax
jne 0x14000838e
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r14 + 0x6f8]
mov eax, dword [r14 + 0x6fc]
mov edx, ecx
sub edx, eax
cmp ecx, eax
jae 0x140007b29
add edx, 0x40
test edx, edx
jne 0x140007b67
movzx eax, byte [r14 + 0x58]
nop
test al, al
jne 0x140007b67
lea rcx, [r14 + 0x60]
mov rdx, rbx
call fcn.14003aa90
jmp 0x140007b10
lea rcx, str.athena_dll_init_failed__n
call fcn.14000dc60
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x1400082bf
mov rcx, rbx
call fcn.14003a868
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
nop dword [rax + rax]
mov ebx, dword [r14 + 0x24714]
mov eax, dword [r14 + 0x24718]
xor eax, ebx
test eax, 0x7ff
je 0x140007e27
mov eax, ebx
and eax, 0x7ff
lea rcx, [rax + rax*8]
mov rax, qword [r14 + rcx*8 + 0x710]
mov qword [rbp - 0x80], rax
mov rax, qword [r14 + rcx*8 + 0x718]
mov qword [rbp - 0x78], rax
movups xmm0, xmmword [r14 + rcx*8 + 0x720]
movaps xmmword [rbp - 0x70], xmm0
mov eax, dword [r14 + rcx*8 + 0x730]
mov dword [rbp - 0x60], eax
movzx eax, byte [r14 + rcx*8 + 0x734]
mov byte [rbp - 0x5c], al
movzx eax, byte [r14 + rcx*8 + 0x735]
mov byte [rbp - 0x5b], al
mov eax, dword [r14 + rcx*8 + 0x738]
mov dword [rbp - 0x58], eax
mov eax, dword [r14 + rcx*8 + 0x73c]
mov dword [rbp - 0x54], eax
lea rcx, [rcx + 0xe8]
lea rax, [r14 + rcx*8]
lea rcx, [rbp - 0x50]
cmp rcx, rax
je 0x140007c60
mov rdi, qword [rax + 8]
mov r15, qword [rax]
sub rdi, r15
mov rdx, rdi
sar rdx, 4
mov rax, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x50]
sub rax, rsi
sar rax, 4
cmp rdx, rax
jbe 0x140007c4a
lea rcx, [rbp - 0x50]
call fcn.140007870
mov rsi, qword [rbp - 0x50]
mov r8, rdi
mov rdx, r15
mov rcx, rsi
call fcn.140065280
lea rcx, [rdi + rsi]
mov qword [rbp - 0x48], rcx
lea ecx, [rbx + 1]
mov eax, ebx
lock cmpxchg dword [r14 + 0x24714], ecx
jne 0x140007b80
mov rcx, qword [r14 + 0xb8]
mov r9, qword [rcx]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
cmp byte [rbp - 0x5b], 0
je 0x140007c95
call qword [r9 + 0x18]
jmp 0x140007b80
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x48], eax
movzx eax, byte [rbp - 0x5c]
mov byte [rsp + 0x40], al
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x38], eax
movss xmm0, dword [rbp - 0x6c]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rbp - 0x70]
movss dword [rsp + 0x28], xmm1
movss xmm0, dword [rbp - 0x64]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rbp - 0x68]
call qword [r9 + 0x20]
mov esi, r12d
mov rdi, qword [rbp - 0x50]
cmp rdi, qword [rbp - 0x48]
je 0x140007b80
nop word [rax + rax]
mov r8, qword [rdi]
test r8, r8
je 0x140007e12
mov rcx, qword [r14 + 0xc8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
call qword [rax + 0x20]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140007dc6
mov rax, qword [rcx]
call qword [rax + 0x80]
test al, al
je 0x140007dc6
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, rax
mov ecx, dword [rax + 0x14]
nop
cmp ecx, dword [rbp - 0x54]
jne 0x140007d9c
lea rdx, [rax + 0x18]
mov rcx, qword [rdi + 8]
lea r8, [rdx + rcx]
mov r10, qword [r14 + 0xb8]
mov r11, qword [r10]
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x50], rdx
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rbx]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r8
mov r9d, esi
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, r10
call qword [r11 + 0x28]
jmp 0x140007db4
mov r8d, dword [rax + 0x14]
nop
mov r9d, dword [rbp - 0x54]
mov rdx, qword [rdi]
lea rcx, str.skip_render_frame_not_matched___llu:_u_vs__u_n
call fcn.14000dd00
mov eax, r12d
xchg dword [rbx + 0x14], eax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x78]
jmp 0x140007dda
mov r8d, dword [rbp - 0x54]
mov rdx, qword [rdi]
lea rcx, str.cavnas_locked__llu:_u_n
call fcn.14000dd00
nop
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x140007e12
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140007e12
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007e12
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
inc esi
add rdi, 0x10
cmp rdi, qword [rbp - 0x48]
jne 0x140007cf0
jmp 0x140007b80
movabs r15, 0x555555555555555
mov r8d, dword [r14 + 0x6fc]
mov eax, dword [r14 + 0x700]
xor eax, r8d
test al, 0x3f
je 0x14000803f
mov ecx, r8d
and ecx, 0x3f
lea rdx, [rcx + rcx*2]
movups xmm0, xmmword [r14 + rdx*8 + 0xf8]
movups xmmword [rbp - 8], xmm0
movsd xmm1, qword [r14 + rdx*8 + 0x108]
movsd qword [rbp + 8], xmm1
lea ecx, [r8 + 1]
mov eax, r8d
lock cmpxchg dword [r14 + 0x6fc], ecx
jne 0x140007e31
mov rbx, qword [rbp]
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi + 8]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], r12d
mov rdx, rdi
cmp byte [rax + 0x19], 0
jne 0x140007ec7
mov qword [rbp - 0x30], rax
cmp qword [rax + 0x20], rbx
jae 0x140007eb4
mov dword [rbp - 0x28], r12d
mov rax, qword [rax + 0x10]
jmp 0x140007ec1
mov dword [rbp - 0x28], 1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140007ea0
cmp byte [rdx + 0x19], 0
jne 0x140007ed3
cmp rbx, qword [rdx + 0x20]
jae 0x140007f2f
cmp qword [rsp + 0x78], r15
je 0x14000839e
lea rax, [rsp + 0x70]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], r12
mov ecx, 0x30
call fcn.140062ea0
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r12
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
mov qword [rbp + 0x18], r12
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x30], xmm0
mov r8, rax
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.1400044b0
mov rdx, rax
mov rcx, qword [rbp - 8]
mov qword [rdx + 0x28], rcx
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsi + 8]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], r12d
mov rdi, rsi
cmp byte [rax + 0x19], 0
jne 0x140007f78
mov qword [rbp - 0x30], rax
cmp qword [rax + 0x20], rbx
jae 0x140007f65
mov dword [rbp - 0x28], r12d
mov rax, qword [rax + 0x10]
jmp 0x140007f72
mov dword [rbp - 0x28], 1
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140007f51
cmp byte [rdi + 0x19], 0
jne 0x140007f84
cmp rbx, qword [rdi + 0x20]
jae 0x140007ff2
movabs rax, 0x492492492492492
cmp qword [rsp + 0x68], rax
je 0x14000839e
lea rax, [rsp + 0x60]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r12
mov ecx, 0x38
call fcn.140062ea0
nop
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], r12
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
mov qword [rbp + 0x28], r12
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x40], xmm0
mov r8, rax
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400044b0
mov rdi, rax
mov rdx, rbx
cmp dword [rbp + 0xc], 0
je 0x140008027
mov r8d, dword [rbp + 8]
lea rcx, str.skip_render_requested___zu:_u_n
call fcn.14000dd00
mov rcx, qword [r14 + 0xb8]
mov r9, qword [rcx]
mov r8b, 1
mov rdx, rbx
call qword [r9 + 0x30]
inc dword [rdi + 0x2c]
jmp 0x140007e31
mov rcx, qword [r14 + 0xb8]
mov rax, qword [rcx]
xor r8d, r8d
call qword [rax + 0x30]
inc dword [rdi + 0x28]
jmp 0x140007e31
mov rcx, qword [r14 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rbx, qword [rsp + 0x70]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x14000813c
nop
mov r12, qword [rbx + 0x20]
mov rcx, qword [r14 + 0xb8]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x70]
mov r15d, eax
test eax, eax
jle 0x1400080db
nop dword [rax + rax]
mov edi, r15d
lea rcx, [rdi + 1]
call fcn.1400635ac
mov rsi, rax
mov rcx, qword [r14 + 0xb8]
mov r10, qword [rcx]
mov r9d, r15d
mov r8, rax
mov rdx, r12
call qword [r10 + 0x78]
mov byte [rdi + rsi], 0
mov r9d, eax
mov r8, rsi
mov rdx, qword [rbx + 0x28]
mov rcx, r14
call fcn.1400083b0
mov rcx, rsi
call fcn.140062edc
mov rcx, qword [r14 + 0xb8]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x70]
mov r15d, eax
test eax, eax
jg 0x140008080
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140008108
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140008103
nop
cmp rbx, qword [rax + 0x10]
jne 0x140008103
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400080f0
mov rbx, rax
jmp 0x14000812f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14000812f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140008120
cmp byte [rbx + 0x19], 0
je 0x140008060
xor r12d, r12d
call fcn.140026070
mov rdi, rax
mov rcx, rax
sub rcx, r13
cmp rcx, 0x3e8
jb 0x14000825c
mov rbx, qword [rsp + 0x60]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x140008259
nop dword [rax]
mov eax, dword [rbx + 0x28]
xorps xmm7, xmm7
cvtsi2ss xmm7, rax
call fcn.140026070
mov rcx, rax
sub rcx, qword [rbx + 0x30]
xorps xmm0, xmm0
js 0x140008193
cvtsi2ss xmm0, rcx
jmp 0x1400081a8
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm7, xmm0
mulss xmm7, xmm8
mov ecx, dword [rbx + 0x2c]
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
mov eax, dword [rbx + 0x28]
add eax, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm6, xmm0
call fcn.140026070
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x28], 0
cvtps2pd xmm3, xmm6
cvtps2pd xmm2, xmm7
movq r9, xmm3
movq r8, xmm2
mov rdx, qword [rbx + 0x20]
lea rcx, str.Scene__zu_FPS:__3.1f__Skip:__4.3f
call fcn.14000dd00
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x14000822a
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140008225
cmp rbx, qword [rax + 0x10]
jne 0x140008225
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140008212
mov rbx, rax
jmp 0x14000824f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14000824f
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140008240
cmp byte [rbx + 0x19], 0
je 0x140008170
mov r13, rdi
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14000829a
mov rdx, qword [rbp - 0x40]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008295
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008388
call fcn.140062edc
movzx eax, byte [r14 + 0x58]
nop
test al, al
je 0x140007aed
mov rcx, qword [r14 + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov qword [r14 + 0xb8], r12
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400082fe
nop
mov r8, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.140007370
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x38
call fcn.140062edc
cmp byte [rbx + 0x19], 0
je 0x1400082d0
mov rcx, qword [rsp + 0x60]
mov edx, 0x38
call fcn.140062edc
nop
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
jne 0x14000834e
nop dword [rax + rax]
mov r8, qword [rbx + 0x10]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.140002030
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x30
call fcn.140062edc
cmp byte [rbx + 0x19], 0
je 0x140008320
mov rcx, qword [rsp + 0x70]
mov edx, 0x30
call fcn.140062edc
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140071a7c
nop
mov ecx, eax
call fcn.14003b87c
int3
mov ecx, eax
call fcn.14003b87c
nop
call fcn.140004840
int3