Function at 0x1800a4f90
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x108
movaps xmmword [rax - 0x58], xmm6
mov r10, r9
movaps xmmword [rax - 0x68], xmm7
mov r14d, edx
lea eax, [rdx - 0x12]
mov rsi, rcx
mov dword [rsp + 0x70], eax
cmp edx, eax
jbe 0x1800a515c
movdqa xmm7, xmmword [0x1800c55c0]
mov ebx, 0xffffffff
movsd xmm6, qword [0x1800c4788]
mov r12d, dword [rbp + 0x58]
mov edi, dword [rbp + 0x58]
mov r13, qword [rbp - 0x50]
mov r15d, dword [rbp + 0x58]
xor r9d, r9d
lea eax, [r14 - 0xde]
lea rdx, [0x180000000]
movabs r11, 0x7ffffffff
cmp eax, 0x5d
ja case.0x1800a5030.239
movzx eax, byte [rdx + rax + 0xa5864]
mov ecx, dword [rdx + rax*4 + 0xa581c]
add rcx, rdx
jmp rcx
mov rsi, qword [rbp + 0x50]
mov r12d, 1
mov qword [rbp - 0x80], r9
mov dword [rbp + 0x58], 0xffffffff
jmp case.0x1800a5030.239
mov rdx, qword [r10]
cmp rdx, 0xffffffffffffffff
je 0x1800a5783
test rdx, rdx
jns 0x1800a575f
mov ecx, 0xbf
cmp ecx, 0xbf
je 0x1800a50d7
cmp ecx, 0x7168
je 0x1800a50c4
cmp ecx, 0xe211
je 0x1800a508d
cmp ecx, 0x152ba
je 0x1800a515c
jmp 0x1800a50dc
mov rax, qword [rsi + 8]
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x78]
addsd xmm1, xmm6
addsd xmm1, xmm0
addsd xmm1, xmm0
movd xmm0, dword [rax + 8]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
jmp 0x1800a50dc
mov rax, qword [rsp + 0x78]
shl rax, 0x1f
or rax, r11
mov qword [rsp + 0x78], rax
jmp 0x1800a50dc
mov qword [rsp + 0x78], rbx
add ecx, 0x70a9
cmp ecx, 0x1c2a4
jbe 0x1800a5067
jmp case.0x1800a5030.239
test r12d, r12d
jne 0x1800a5185
lea ecx, [r12 + 1]
movsxd rbx, edi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea edx, [r12 + 1]
mov r9, rax
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
test eax, eax
jns 0x1800a573f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
lea ecx, [r12 + 2]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str._KeyHook__WM_INPUT
mov rcx, rax
call fcn.1800a6fd0
mov dword [rsp + 0x40], 1
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0xe0]
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movsxd rsi, edi
mov rbx, r9
test edi, edi
jle 0x1800a51a9
nop
movzx edx, byte [rbx + r13]
lea rcx, str._02x
call fcn.1800a7160
inc rbx
cmp rbx, rsi
jl 0x1800a5190
lea rcx, [0x1800beaf8]
call fcn.1800a7160
mov rsi, qword [rbp + 0x50]
jmp 0x1800a573f
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x58], rax
cmp rax, 0
jne 0x1800a5744
cmp qword [rsi], rax
je 0x1800a5744
mov r9d, 0xa5
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18000fc70
jmp 0x1800a5744
mov esi, dword [rbp + 0x58]
cmp r12d, 1
jne 0x1800a520a
test esi, esi
mov r12d, 2
cmovne r12d, r9d
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x1800a5256
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x1800a5220
shr rdi, 1
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], reloc.SHELL32.dll_SHTestTokenMembership
xor edx, edx
mov qword [rsp + 0x20], r9
xor ecx, ecx
mov r9, rbx
mov dword [rsp + 0x60], edi
call fcn.180073020
mov r13, rax
jmp 0x1800a532c
mov ebx, 0x35
nop dword [rax + rax]
cmp ebx, 0x35
je 0x1800a52f5
cmp ebx, 0xe9
jne 0x1800a531a
xor ecx, ecx
movsxd rbx, edi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rcx, [rbx + r13]
mov edx, 1
mov r9, rax
mov eax, r15d
sub eax, edi
movsxd r8, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test eax, eax
js 0x1800a5796
je 0x1800a52ea
add edi, eax
mov eax, r15d
sub eax, edi
cmp eax, 0x1000
jge 0x1800a5275
lea eax, [rdi + rdi*4]
mov r9, r13
cdq
mov r8d, 0xf6
and edx, 3
lea r15d, [rdx + rax]
xor edx, edx
sar r15d, 2
add r15d, 0x1000
movsxd rcx, r15d
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x48]
call fcn.18006b2b0
mov r13, rax
jmp 0x1800a5275
mov ebx, 0xe9
lea r14d, [rbx + 0x50]
jmp 0x1800a5317
mov edi, r9d
lea rcx, [rbp - 0x48]
xor r9d, r9d
mov r15d, 0x1000
xor edx, edx
mov qword [rbp - 0x48], r15
lea r8d, [r9 + 0x6f]
call fcn.180044e10
mov r13, rax
xor r9d, r9d
add ebx, 0xb4
cmp ebx, 0x19d
jb 0x1800a5260
lea eax, [rdi*8]
mov dword [rsp + 0x68], esi
mov r9, r13
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov dword [rsp + 0x20], 0xd8
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.180071a10
mov rsi, qword [rbp + 0x50]
jmp 0x1800a573f
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rbx + 8]
mov eax, dword [rcx]
cmp dword [r10 + 0x10], eax
jne case.0x1800a5030.226
mov eax, dword [rcx + 4]
cmp dword [r10 + 0x14], eax
jne case.0x1800a5030.226
mov rdx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, rsi
mov dword [rsp + 0x20], 0x101
mov rcx, r10
call fcn.180086590
mov qword [rbp - 0x78], rax
jmp 0x1800a573f
mov rcx, qword [r10]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rbp - 0x40], rax
lea r9, [rbp - 0x40]
mov rax, qword [rsi]
xor r8d, r8d
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], rax
mov ecx, 0xba
call fcn.1800191f0
mov r10, qword [rbp + 0x68]
mov rax, qword [r10]
mov rcx, qword [rax + 0x18]
mov rax, qword [rsi]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
jmp case.0x1800a5030.239
mov r14, qword [rbp - 0x68]
mov ecx, dword [r14]
test ecx, ecx
je 0x1800a5491
cmp ecx, 1
jne 0x1800a54bf
mov ebx, 0x78
nop dword [rax]
mov eax, ebx
sub eax, 0x77
je 0x1800a5154
cmp eax, 1
jne 0x1800a5478
mov rax, qword [r14 + 0x10]
xor r8d, r8d
mov qword [rsp + 0x30], r9
mov rdx, rsi
mov dword [rsp + 0x28], 0x8c
mov r9, r10
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180072300
mov rax, qword [r14 + 0x10]
xor r8d, r8d
mov r9, qword [rbp - 0x78]
mov rdx, rsi
mov qword [rsp + 0x30], 0
xor ecx, ecx
mov dword [rsp + 0x28], 0x8c
mov qword [rsp + 0x20], rax
call fcn.180072300
mov r10, qword [rbp + 0x68]
xor r9d, r9d
mov eax, 0xffffffff
add ebx, eax
cmp ebx, 0x76
ja 0x1800a5410
mov ebx, eax
mov r14d, SHTestTokenMembership
jmp case.0x1800a5030.239
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x1800a57c4
test byte [rdx + 0xc], 4
je 0x1800a54bf
mov rcx, qword [r14 + 8]
mov eax, dword [rcx]
cmp dword [rdx + 0x10], eax
jne 0x1800a57c4
mov eax, dword [rcx + 4]
cmp dword [rdx + 0x14], eax
jne 0x1800a57c4
mov r14d, SHTestTokenMembership
jmp case.0x1800a5030.239
mov rax, qword [r10]
lea rdx, [rsp + 0x48]
mov rcx, rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsi]
mov r8d, 0x102
shr rcx, 5
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x70]
mov dword [rsp + 0x48], r9d
lea r9, [rsp + 0x68]
mov qword [rbp - 0x70], rax
call fcn.180027190
test rax, rax
je 0x1800a515c
jmp 0x1800a5744
dec dword [rsi]
mov r8d, 1
cmp dword [rsi], 0
jle 0x1800a55ba
mov rdx, qword [r10 + 8]
add r10, 8
mov qword [rbp + 0x68], r10
test r8d, r8d
je 0x1800a559b
cmp byte [rdx], 0x2d
jne 0x1800a559b
cmp byte [rdx + 1], 0x2d
jne 0x1800a5548
cmp byte [rdx + 2], 0
jne 0x1800a5548
mov r8d, r9d
jmp 0x1800a55aa
movzx eax, byte [rdx + 1]
inc rdx
test al, al
je 0x1800a55aa
movsx ebx, al
mov ecx, ebx
sub ecx, 0x62
je 0x1800a5585
sub ecx, 2
je 0x1800a557c
sub ecx, 1
je 0x1800a5576
cmp ecx, 3
jne 0x1800a57d1
lea r12d, [rcx - 1]
jmp 0x1800a5588
mov dword [rbp + 0x58], r9d
jmp 0x1800a5588
mov dword [rbp + 0x58], 1
jmp 0x1800a5588
mov r12d, r9d
movzx eax, byte [rdx + 1]
inc rdx
mov r14d, 0x13a
test al, al
jne 0x1800a5553
jmp 0x1800a55aa
cmp qword [rbp - 0x80], 0
jne 0x1800a57f3
mov qword [rbp - 0x80], rdx
dec dword [rsi]
cmp dword [rsi], 0
jg 0x1800a5521
mov ebx, 0xffffffff
cmp dword [rbp + 0x58], 0
jge case.0x1800a5030.239
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.VkGraphicsPipelineCreateInfo::pColorBlendState_
call fcn.1800a6fd0
mov dword [rsp + 0x40], 0
jmp 0x1800a515c
mov rax, qword [rsi]
mov ecx, dword [r10]
mov r8, qword [rbp - 0x30]
and ecx, 0x1f
sub r8, qword [rax + 8]
mov rdx, qword [rax + 0x18]
mov eax, dword [rdx + r8*4]
btr eax, ecx
mov dword [rdx + r8*4], eax
jmp case.0x1800a5030.239
mov rax, qword [r10]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x60], rcx
jmp case.0x1800a5030.239
mov rax, qword [rsi]
mov edx, r9d
mov rbx, qword [rbp - 0x60]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x50], rax
cmp rbx, 0x10
jb 0x1800a56ba
lea eax, [rbx - 1]
lea r8, [r9 + rax*4]
lea rax, [r10 + rax*4]
cmp r9, rax
ja 0x1800a5657
cmp r8, r10
jae 0x1800a56ba
mov rcx, rbx
and rcx, 0xfffffffffffffff0
nop
movdqu xmm0, xmmword [r10]
add edx, 0x10
mov eax, edx
pandn xmm0, xmm7
movdqu xmmword [r9], xmm0
movdqu xmm0, xmmword [r10 + 0x10]
pandn xmm0, xmm7
movdqu xmmword [r9 + 0x10], xmm0
movdqu xmm0, xmmword [r10 + 0x20]
pandn xmm0, xmm7
movdqu xmmword [r9 + 0x20], xmm0
movdqu xmm0, xmmword [r10 + 0x30]
add r10, 0x40
pandn xmm0, xmm7
movdqu xmmword [r9 + 0x30], xmm0
add r9, 0x40
cmp rax, rcx
jb 0x1800a5660
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
mov eax, edx
cmp rax, rbx
jae 0x1800a573f
mov eax, dword [r10]
inc edx
not eax
add r10, 4
mov dword [r9], eax
add r9, 4
mov eax, edx
cmp rax, rbx
jb 0x1800a56c1
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
jmp 0x1800a573f
test byte [r10 + 0xc], 4
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x78], r9
jne case.0x1800a5030.239
mov dword [rsp + 0x40], r9d
jmp 0x1800a515c
mov rax, qword [rsi]
lea rcx, [rbp - 0x70]
xor r9d, r9d
mov qword [rbp - 0x70], rax
xor r8d, r8d
mov dword [rsp + 0x20], 0xd0
xor edx, edx
call fcn.180096800
mov r8, qword [rbp - 0x50]
xor edx, edx
sub r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x60]
shl rcx, 4
add rcx, qword [rsp + 0x50]
shl r8, 2
call sub.VCRUNTIME140.dll_memset
mov ebx, 0xffffffff
mov r10, qword [rbp + 0x68]
add r14d, ebx
cmp r14d, dword [rsp + 0x70]
jbe 0x1800a515c
mov r8, qword [rbp + 0x60]
jmp 0x1800a4ffa
mov rax, qword [rsi + 8]
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
movd xmm0, dword [rax + 8]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
jmp 0x1800a515c
movsd xmm0, qword [0x1800c4918]
movsd qword [rsp + 0x40], xmm0
jmp 0x1800a515c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.DisablePwdCaching
mov rcx, rax
jmp 0x1800a514f
mov dword [rsp + 0x40], 0xffffffff
jmp 0x1800a515c
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, ebx
lea rdx, str.CS_CONTEXT_MSO_GUID_COLLECTOR_INIT
mov rcx, rax
call fcn.1800a6fd0
jmp 0x1800a5154
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Beginning_of_execute_indirect_commands
call fcn.1800a6fd0
jmp 0x1800a5154
mov rax, qword [rbp - 0x58]
jmp 0x1800a5161