Function at 0x1800a0c10
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rax, qword [0x1800f6ae8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r11, r9
mov qword [rsp + 0x58], r9
mov r10, r8
mov qword [rsp + 0x50], r8
mov r14, rdx
mov rdx, rcx
mov qword [rsp + 0x60], rcx
mov r15, qword [rsp + 0x118]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor r8d, r8d
mov qword [rsp + 0x78], r8
mov eax, dword [rsp + 0x110]
mov r13d, eax
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x60]
mov esi, dword [rsp + 0x48]
nop dword [rax]
nop word [rax + rax]
imul eax, eax, 0x52e
cmp r13d, eax
ja 0x1800a0f19
cmp r13d, 0x6903
ja 0x1800a0d8b
je 0x1800a0f19
cmp r13d, 0x256b
ja 0x1800a0d79
je 0x1800a0d31
mov eax, r13d
sub eax, 0x5d
je 0x1800a1244
sub eax, 0x4f
je 0x1800a0ce5
cmp eax, 0x59
jne 0x1800a1032
mov dword [rsp + 0x40], r8d
jmp 0x1800a1032
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x68]
xor edx, edx
xor ecx, ecx
mov r8d, 0xbd
call fcn.18003b790
test al, al
jne 0x1800a1032
mov ecx, 0x20
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x1f
je 0x1800a0f19
cmp eax, 1
jne 0x1800a0d25
mov byte [rsp + 0x40], 0
dec ecx
cmp ecx, 0x1e
ja 0x1800a0d10
jmp 0x1800a1032
mov edx, dword [r11]
cmp edx, 1
jne 0x1800a0d4e
mov rax, qword [r14]
mov edx, dword [rax + 0x18]
movsxd rbp, edx
add qword [r15 + 0xf0], rbp
jmp 0x1800a1032
test edx, edx
jns 0x1800a0d63
neg edx
movsxd rbp, edx
add qword [r15 + 0xf0], rbp
jmp 0x1800a1032
mov rax, qword [r14]
imul edx, dword [rax + 0x18]
movsxd rbp, edx
add qword [r15 + 0xf0], rbp
jmp 0x1800a1032
cmp r13d, 0x4534
je 0x1800a1083
jmp 0x1800a1032
cmp r13d, 0xb9a3
ja 0x1800a1201
je 0x1800a1056
cmp r13d, 0x6f87
je 0x1800a0ec8
cmp r13d, 0x89bc
je 0x1800a0f19
cmp r13d, 0x9495
jne 0x1800a1032
test rbp, rbp
je 0x1800a1032
mov ebx, 0xab
cmp ebx, 0x2cc1
ja 0x1800a0e69
je 0x1800a0e4d
cmp ebx, 0xab
je 0x1800a0e22
cmp ebx, 0xf5d
je 0x1800a0e11
cmp ebx, 0x1e0f
jne 0x1800a0e90
movsxd r8, esi
mov rdx, r12
mov rcx, qword [r15 + 0xd8]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800a0e90
mov rax, qword [r14]
movsxd rcx, dword [rax + 0x18]
cmp rbp, rcx
cmovbe ecx, esi
mov esi, ecx
jmp 0x1800a0e90
mov rax, qword [r14]
movsxd r8, dword [rax + 0x18]
cmp rbp, r8
jae 0x1800a0e49
mov rdx, qword [r15 + 0xd8]
mov ecx, dword [r15 + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov esi, eax
mov rcx, qword [r14]
cmp eax, dword [rcx + 0x18]
jne 0x1800a0eb0
mov esi, ebp
jmp 0x1800a0e90
mov rax, qword [r14]
mov r8d, dword [rax + 0x18]
mov rdx, qword [r15 + 0xd8]
mov ecx, dword [r15 + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
mov esi, eax
jmp 0x1800a0e90
cmp ebx, 0x3b73
je 0x1800a0e84
cmp ebx, 0x4a25
jne 0x1800a0e90
movsxd rax, esi
sub rbp, rax
add r12, rax
jmp 0x1800a0e90
mov rax, qword [r14]
cmp esi, dword [rax + 0x18]
jne 0x1800a0fc9
add ebx, 0xeb2
cmp ebx, 0x582c
jbe 0x1800a0dd3
jmp 0x1800a0dc5
mov edx, 0x7f2bb724
mov dword [rsp + 0x44], edx
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
jmp 0x1800a1004
mov rax, qword [r14]
mov eax, dword [rax + 0x80]
test eax, eax
je 0x1800a0ee4
mov ecx, r12d
or ecx, ebp
dec eax
test eax, ecx
jne 0x1800a1032
mov ebx, 0xed
mov dword [rsp + 0x48], ebx
cmp ebx, 0x306
jae 0x1800a1032
cmp ebx, 0xed
je 0x1800a0f91
cmp ebx, 0x1a0
je 0x1800a0f81
cmp ebx, 0x253
jne 0x1800a0feb
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1800a1257
mov rcx, qword [rsp + 0x78]
sub rcx, r8
movabs rax, 0x342da7f2f4960343
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x274
mov rax, r8
cmp rdx, 0x1000
jb 0x1800a124f
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800a124f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x40], r8d
add ebx, 0xb3
jmp 0x1800a0ee9
mov r8d, ebp
mov rdx, r12
mov ecx, dword [r15 + 4]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
movsxd rsi, eax
cmp rsi, rbp
je 0x1800a0fe8
mov ecx, 0x107
cmp ecx, 0x104
jbe 0x1800a0fe4
mov eax, ecx
sub eax, 0x105
je 0x1800a0ff6
sub eax, 1
je 0x1800a0fd8
cmp eax, 1
jne 0x1800a0fe0
mov ecx, 0x107
mov r13d, 0x6f87
dec ecx
jmp 0x1800a0fae
mov dword [rsp + 0x44], 0x7f2bb725
dec ecx
jmp 0x1800a0fae
mov ebx, dword [rsp + 0x48]
xor r8d, r8d
add ebx, 0xb3
jmp 0x1800a0ee9
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov edx, dword [rsp + 0x44]
mov r13d, 0xdeb1
mov rcx, qword [r14]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1800a1032
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbp
mov r9, r12
mov r8d, dword [r11]
mov edx, dword [r10]
call rax
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x110]
imul ecx, eax, 0x66
add r13d, ecx
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
jmp 0x1800a0c90
mov ecx, 0xe5
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xe5
je 0x1800a1074
cmp eax, 1
je 0x1800a0f19
jmp 0x1800a1079
mov dword [rsp + 0x40], r8d
inc ecx
cmp ecx, 0xe7
jb 0x1800a1060
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
je 0x1800a11f7
nop word [rax + rax]
mov word [rsp + 0x80], r8w
mov r8d, 4
lea rdx, [0x1800e1fae]
lea rcx, [rsp + 0x80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov dword [rsp + 0x88], 0x44
xor r8d, r8d
mov eax, dword [r14]
cmp dword [rbx + 0x4c], eax
jne 0x1800a11e7
mov eax, dword [r15]
cmp dword [rbx + 0x58], eax
jne 0x1800a11e7
lea rcx, [rbx + 0x74]
mov r8d, 5
lea rdx, [rsp + 0x80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x1800a11e4
mov r8d, 0x11e
mov eax, r8d
sub eax, 0x11e
je 0x1800a1128
cmp eax, 0x49
je 0x1800a0f19
jmp 0x1800a11d3
mov rdx, qword [rsp + 0x50]
mov rax, rbx
mov ecx, 4
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x1800a1140
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
mov ecx, dword [rax + 0x70]
mov dword [rdx + 0x70], ecx
mov byte [rsp + 0x40], 1
add r8d, 0x49
cmp r8d, 0x1b0
jb 0x1800a1110
xor r8d, r8d
add rbx, 0x274
cmp rbx, rdi
jne 0x1800a10a0
mov byte [rsp + 0x40], 0
jmp 0x1800a1032
cmp r13d, 0xdeb1
je 0x1800a1000
cmp r13d, 0x103bf
jne 0x1800a1032
mov ecx, 0x82
mov eax, ecx
sub eax, 0x81
je 0x1800a0f19
cmp eax, 1
jne 0x1800a123a
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x40], eax
dec ecx
cmp ecx, 0x80
ja 0x1800a1220
mov esi, r8d
mov r12, rdx
jmp 0x1800a1032
mov rcx, r8
call fcn.1800d08e4
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1800d1090
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret