Function at 0x180001000
Capabilities:
Read file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x48
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
lea rdx, [0x1800242c0]
call fcn.1800173c4
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x180001040
mov qword [rsp + 0x40], 0
jmp 0x180001477
mov rcx, qword [rsp + 0x28]
xor edx, edx
mov r8d, 2
call fcn.1800175d8
mov rcx, qword [rsp + 0x28]
call fcn.180017ad4
mov ecx, eax
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x28]
xor r8d, r8d
mov edx, r8d
call fcn.1800175d8
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax]
call fcn.180017adc
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x180001447
mov ecx, dword [0x18002ed88]
mov eax, dword [0x18002ed84]
xor r8d, r8d
sub r8d, ecx
xor edx, edx
sub edx, 0x4b23e893
add r8d, edx
xor edx, edx
sub edx, r8d
sub edx, 0xd60da486
sub edx, 1
add edx, 0xd60da486
sub edx, 0x9095d15f
sub edx, 0x4b23e893
add edx, 0x9095d15f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl r8b
mov al, cl
xor al, 0xff
and al, 1
mov r9b, 1
xor r9b, 1
mov r10b, cl
and r10b, r9b
mov dl, 1
xor dl, 1
and dl, 0xff
and r9b, 1
or al, r10b
or dl, r9b
xor al, dl
mov dl, r8b
xor dl, 0xff
and dl, 1
mov r10b, 1
xor r10b, 1
mov r9b, r8b
and r9b, r10b
or dl, r9b
mov bl, 1
xor bl, 0
and bl, 1
mov r9b, 1
xor r9b, 1
and r9b, 0
or bl, r9b
mov r9b, al
xor r9b, 0xff
mov r11b, 1
xor r11b, 0
mov r10b, 1
xor r10b, 0
or r9b, r11b
or r10b, 0
xor r9b, 0xff
and r9b, r10b
mov r10b, bl
xor r10b, 0xff
mov r11b, cl
xor r11b, r10b
and r11b, cl
mov cl, dl
xor cl, 0xff
mov sil, 1
xor sil, 0
mov r10b, 1
xor r10b, 0
or cl, sil
or r10b, 0
xor cl, 0xff
and cl, r10b
mov sil, bl
xor sil, 0xff
mov r10b, r8b
xor r10b, sil
and r10b, r8b
mov r8b, r9b
and r8b, r11b
xor r9b, r11b
or r8b, r9b
mov r9b, cl
and r9b, r10b
xor cl, r10b
or r9b, cl
mov r10b, r8b
xor r10b, 0xff
mov cl, r9b
and cl, r10b
xor r9b, 0xff
and r8b, r9b
or cl, r8b
mov r9b, al
and r9b, dl
xor al, dl
or r9b, al
mov al, r9b
xor al, 0xff
and al, 0
mov r8b, 1
xor r8b, 0
and r9b, r8b
mov dl, 1
xor dl, 1
and dl, 0
and r8b, 1
or al, r9b
or dl, r8b
xor al, dl
mov dl, 1
xor dl, 0
mov r10b, bl
xor r10b, 0xff
mov r9b, 1
xor r9b, 0
mov r8b, dl
and r8b, 0
mov sil, r9b
and sil, 0
mov r11b, r10b
and r11b, 0
and bl, r9b
or r8b, sil
or r11b, bl
xor r8b, r11b
or dl, r10b
xor dl, 0xff
or r9b, 0
and dl, r9b
or r8b, dl
xor r8b, 0xff
mov dl, al
xor dl, r8b
and dl, al
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x180001265
jmp 0x180001483
mov rcx, qword [rsp + 0x28]
call fcn.180017b68
mov qword [rsp + 0x40], 0
mov ecx, dword [0x18002ed88]
mov eax, dword [0x18002ed84]
mov r8d, 0x653d682d
add r8d, 0
sub r8d, 1
sub r8d, 0x653d682d
mov edx, ecx
add edx, 0x31464759
add edx, r8d
sub edx, 0x31464759
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov al, r11b
xor al, 0xff
and al, 1
mov dl, 1
xor dl, 1
mov r8b, r11b
and r8b, dl
mov cl, 1
xor cl, 1
and cl, 0xff
and dl, 1
or al, r8b
or cl, dl
xor al, cl
mov dl, r10b
xor dl, 0xff
and dl, 1
mov r8b, 1
xor r8b, 1
mov cl, r10b
and cl, r8b
or dl, cl
mov bl, 1
xor bl, 0
and bl, 1
mov cl, 1
xor cl, 1
and cl, 0
or bl, cl
mov cl, 1
xor cl, 0
mov r9b, al
xor r9b, cl
and r9b, al
xor r11b, 0xff
mov r8b, bl
xor r8b, 0xff
mov cl, 1
xor cl, 0
or r11b, r8b
or cl, 0
xor r11b, 0xff
and r11b, cl
mov cl, dl
xor cl, 0xff
mov sil, 1
xor sil, 0
mov r8b, 1
xor r8b, 1
or cl, sil
or r8b, 1
xor cl, 0xff
and cl, r8b
xor r10b, 0xff
mov sil, bl
xor sil, 0xff
mov r8b, 1
xor r8b, 1
or r10b, sil
or r8b, 1
xor r10b, 0xff
and r10b, r8b
mov r8b, r9b
and r8b, r11b
xor r9b, r11b
or r8b, r9b
mov r9b, cl
and r9b, r10b
xor cl, r10b
or r9b, cl
mov r10b, r8b
xor r10b, 0xff
mov cl, r9b
and cl, r10b
xor r9b, 0xff
and r8b, r9b
or cl, r8b
mov r9b, al
and r9b, dl
xor al, dl
or r9b, al
mov dl, r9b
xor dl, 0xff
and dl, 1
mov r8b, 1
xor r8b, 1
and r9b, r8b
mov al, 1
xor al, 1
and al, 0xff
and r8b, 1
or dl, r9b
or al, r8b
xor dl, al
mov al, 1
xor al, 0
mov r10b, bl
xor r10b, 0xff
mov r9b, 1
xor r9b, 0
mov r8b, al
and r8b, 0
mov sil, r9b
and sil, 0
mov r11b, r10b
and r11b, 0
and bl, r9b
or r8b, sil
or r11b, bl
xor r8b, r11b
or al, r10b
xor al, 0xff
or r9b, 0
and al, r9b
or r8b, al
xor dl, 0xff
xor r8b, 0xff
mov al, 1
xor al, 1
or dl, r8b
or al, 1
xor dl, 0xff
and dl, al
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x180001442
jmp 0x180001483
jmp 0x180001477
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
movsxd r8, dword [rax]
mov rcx, qword [rsp + 0x20]
mov edx, 1
call fcn.180017e5c
mov rcx, qword [rsp + 0x28]
call fcn.180017b68
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
add rsp, 0x48
pop rbx
pop rsi
ret
mov rcx, qword [rsp + 0x28]
call fcn.180017b68
mov qword [rsp + 0x40], 0
jmp 0x180001265