Function at 0x140008dc0
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r13
push rbp
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x150
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x1400d0fc0]
xor rax, rsp
mov qword [rbp + 0x30], rax
xor r13d, r13d
xor r8d, r8d
xor edx, edx
lea rcx, str.General
call fcn.14001b840
movss xmm0, dword [0x1400c09fc]
divss xmm0, dword [0x1400d1208]
cvtps2pd xmm1, xmm0
movq rdx, xmm1
lea rcx, str.FPS:__.1f
call fcn.14003fe70
movaps xmm4, xmmword [0x1400d1170]
movaps xmm0, xmmword [0x1400d1180]
movaps xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [0x1400d1190]
movaps xmmword [rbp - 0x60], xmm1
movaps xmm0, xmmword [0x1400d11a0]
movaps xmmword [rbp - 0x50], xmm0
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xaa
xorps xmm3, xmm3
cvtss2sd xmm3, xmm1
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm4
movq r9, xmm3
movq r8, xmm2
movq rdx, xmm1
lea rcx, str.Position:__.1f__.1f__.1f
call fcn.14003fe70
movss xmm3, dword [0x1400d115c]
cvtps2pd xmm3, xmm3
movss xmm2, dword [0x1400d1154]
cvtps2pd xmm2, xmm2
movss xmm1, dword [0x1400d1158]
cvtps2pd xmm1, xmm1
movq r9, xmm3
movq r8, xmm2
movq rdx, xmm1
lea rcx, str.Rotation:__.1f__.1f__.1f
call fcn.14003fe70
xorps xmm6, xmm6
mov dword [rbp - 0x40], r13d
mov dword [rbp - 0x38], r13d
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
movss xmm3, dword [0x1400c097c]
lea r8, [0x1400d1160]
call fcn.140042300
test al, al
je 0x140008f14
comiss xmm6, dword [0x1400d1160]
jbe 0x140008f14
mov dword [0x1400d1160], r13d
lea rdx, [0x1400d4ba0]
lea rcx, str.Smooth_Movement
call fcn.140041650
test al, al
je 0x140008f47
mov rcx, qword [0x1400d5048]
mov eax, dword [rcx]
cmp byte [0x1400d4ba0], r13b
je 0x140008f42
or eax, 1
jmp 0x140008f45
and eax, 0xfffffffe
mov dword [rcx], eax
mov rcx, qword [0x1400d4e18]
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4008]
movss xmm6, dword [0x1400c0ae0]
cmp byte [rax + 0xc3], r13b
jne 0x140008f84
mov qword [rbp - 0x38], r13
movaps xmm1, xmm6
lea rcx, [rbp - 0x38]
call fcn.140020eb0
mov dword [rbp - 0x38], 0x10
mov dword [rbp - 0x40], 2
lea rdi, [0x1400b31a0]
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d1214]
mov edx, 4
lea rcx, str.Max_Depth
call fcn.140042d20
mov rcx, qword [0x1400d4e18]
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4008]
cmp byte [rax + 0xc3], r13b
jne 0x140008ff8
mov qword [rbp - 0x38], r13
movaps xmm1, xmm6
lea rcx, [rbp - 0x38]
call fcn.140020eb0
mov dword [rbp - 0x38], 0x43b40000
mov dword [rbp - 0x40], r13d
lea rbx, str._.0f_deg
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d1090]
mov edx, 8
lea rcx, str.Sun_Pitch
call fcn.140042d20
mov dword [rbp - 0x38], 0x43b40000
mov dword [rbp - 0x40], r13d
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d1094]
mov edx, 8
lea rcx, str.Sun_Yaw
call fcn.140042d20
mov dword [rbp - 0x38], 0x43b40000
mov dword [rbp - 0x40], r13d
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d1098]
mov edx, 8
lea rcx, str.Sun_Roll
call fcn.140042d20
mov dword [rbp - 0x38], 0x100
mov dword [rbp - 0x40], 1
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d109c]
mov edx, 4
lea rcx, str.Atmosphere_quality_i
call fcn.140042d20
mov dword [rbp - 0x38], 0x100
mov dword [rbp - 0x40], 1
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x1400d10a0]
mov edx, 4
lea rcx, str.Atmosphere_quality_j
call fcn.140042d20
mov rcx, qword [0x1400d4e18]
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4008]
cmp byte [rax + 0xc3], r13b
jne 0x140009143
mov qword [rbp - 0x38], r13
movaps xmm1, xmm6
lea rcx, [rbp - 0x38]
call fcn.140020eb0
lea rdx, [0x1400d4bb0]
lea rcx, str.Show_BVH_heatmap
call fcn.140041650
test al, al
je 0x1400092ba
mov rax, qword [0x1400d5090]
mov rax, qword [rax]
cmp byte [0x1400d4bb0], r13b
je 0x140009495
cmp byte [rax + 0x19], r13b
jne 0x1400091d6
nop dword [rax + rax]
mov rcx, qword [rax + 0x40]
mov byte [rcx + 4], 1
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], r13b
je 0x1400091b8
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], r13b
jne 0x1400091b3
nop dword [rax]
cmp rax, qword [rcx + 0x10]
jne 0x1400091b3
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], r13b
je 0x1400091a0
mov rax, rcx
jmp 0x1400091d0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r13b
jne 0x1400091d0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r13b
je 0x1400091c4
cmp byte [rax + 0x19], r13b
je 0x140009180
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov r8d, 0xb
lea rdx, str.bvh_heatmap
lea rcx, [rbp - 0x30]
call fcn.140001df0
nop
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x18]
call fcn.140058210
mov r15, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp + 0x28]
cmp byte [rbx + 0x19], 0
jne 0x140009267
lea rdx, [rbx + 0x20]
mov rsi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14000922d
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
cmp r15, 0xf
cmova rcx, rdi
mov r14, qword [rbp - 0x20]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140009256
jns 0x140009261
mov al, 1
jmp 0x140009263
cmp r14, rsi
jae 0x14000925f
mov al, 1
jmp 0x140009263
jbe 0x14000926e
xor al, al
test al, al
je 0x14000926e
mov rbx, qword [0x1400d5090]
cmp rbx, qword [0x1400d5090]
je 0x14000988b
mov rax, qword [rbx + 0x40]
mov byte [rax + 4], 0
cmp r15, 0xf
jbe 0x1400092ba
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400092b2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400095da
mov rcx, rdi
call fcn.140093104
mov rcx, qword [0x1400d4e18]
mov rax, qword [rcx + 0x4008]
mov byte [rax + 0xc0], 1
mov rax, qword [rcx + 0x4008]
cmp byte [rax + 0xc3], 0
jne 0x1400092f3
mov qword [rbp - 0x38], 0
movaps xmm1, xmm6
lea rcx, [rbp - 0x38]
call fcn.140020eb0
mov qword [rbp - 0x38], 0
lea rdx, [rbp - 0x38]
call fcn.140040820
test al, al
je 0x14000980d
mov edi, dword [0x1400d120c]
mov r14d, dword [0x1400d1210]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
mov r9, rax
lea r8, str._Y_m_d__H_M_S
mov edx, 0x14
lea rcx, [rbp + 0x18]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
mov qword [rbp + 8], r13
mov r8d, 0xd
lea rdx, str.._Screenshots
lea rcx, [rbp - 0x10]
call fcn.140001df0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
lea rax, [rbp + 0x18]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140009390
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x40]
call fcn.140001df0
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp]
sub rax, rcx
cmp rax, 0xc
jb 0x1400098d2
lea r9, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova r9, qword [rbp - 0x10]
mov qword [rsp + 0x30], 0xc
lea rax, str._screenshot_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x80]
call fcn.140006b00
nop
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140005900
nop
mov r8d, 4
lea rdx, str..png
lea rcx, [rsp + 0x60]
call fcn.1400055d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400095e6
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400095e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400095e1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp byte [rax + 0x19], r13b
jne 0x1400094f6
nop dword [rax + rax]
mov rcx, qword [rax + 0x40]
mov byte [rcx + 4], r13b
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], r13b
je 0x1400094d8
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], r13b
jne 0x1400094d3
nop dword [rax]
cmp rax, qword [rcx + 0x10]
jne 0x1400094d3
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], r13b
je 0x1400094c0
mov rax, rcx
jmp 0x1400094f0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r13b
jne 0x1400094f0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r13b
je 0x1400094e4
cmp byte [rax + 0x19], r13b
je 0x1400094a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov r8d, 0xb
lea rdx, str.bvh_heatmap
lea rcx, [rbp - 0x30]
call fcn.140001df0
nop
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x18]
call fcn.140058210
mov r15, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp + 0x28]
cmp byte [rbx + 0x19], 0
jne 0x140009587
lea rdx, [rbx + 0x20]
mov rsi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14000954d
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
cmp r15, 0xf
cmova rcx, rdi
mov r14, qword [rbp - 0x20]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140009576
jns 0x140009581
mov al, 1
jmp 0x140009583
cmp r14, rsi
jae 0x14000957f
mov al, 1
jmp 0x140009583
jbe 0x14000958e
xor al, al
test al, al
je 0x14000958e
mov rbx, qword [0x1400d5090]
cmp rbx, qword [0x1400d5090]
je 0x140009844
mov rax, qword [rbx + 0x40]
mov byte [rax + 4], 1
cmp r15, 0xf
jbe 0x1400092ba
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400092b2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400092b2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140093104
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140009638
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009632
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009632
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093104
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140009678
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009673
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093104
mov eax, r14d
imul eax, edi
lea eax, [rax + rax*2]
movsxd rcx, eax
call fcn.140093138
mov rsi, rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x1401
mov dword [rsp + 0x20], 0x1907
mov r9d, r14d
mov r8d, edi
xor edx, edx
xor ecx, ecx
call qword [0x1400d4c38]
mov dword [0x1400d5178], 1
lea rbx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rbx, qword [rbp - 0x30]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov r9d, r14d
mov r8d, edi
mov rcx, rsi
call fcn.140008800
mov rdi, rax
test rax, rax
je 0x14000971b
lea r8, [0x1400b3124]
mov rdx, rbx
lea rcx, [rbp - 0x40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
test eax, eax
je 0x140009709
mov rbx, r13
mov qword [rbp - 0x40], rbx
jmp 0x14000970d
mov rbx, qword [rbp - 0x40]
mov rcx, rdi
test rbx, rbx
jne 0x14000978a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rdx, str.Failed_to_save_screenshot_to:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003250
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
mov r8, qword [rbp - 0x20]
cmova rdx, qword [rbp - 0x30]
mov rcx, rax
call fcn.14000a1e0
mov rcx, rsi
call fcn.140093104
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x1400097bf
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400097ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400097ba
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movsxd r8, dword [rbp - 0x38]
mov r9, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rdx, str.Successfully_saved_screenshot_to:
jmp 0x140009722
call fcn.140093104
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x14000980d
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009808
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009808
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140093104
call fcn.14001db70
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140092e60
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r13, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea r8, [rbp - 0x30]
lea rdx, str.Program
lea rcx, [rbp - 0x80]
call fcn.1400066f0
nop
lea r8, str._not_found.
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400056e0
nop
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.140004e10
lea rdx, [0x1400cce38]
lea rcx, [rbp + 0x18]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp - 0x30]
lea rdx, str.Program
lea rcx, [rbp - 0x80]
call fcn.1400066f0
nop
lea r8, str._not_found.
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400056e0
nop
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.140004e10
lea rdx, [0x1400cce38]
lea rcx, [rbp + 0x18]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1400013b0
int3