Function at 0x1400549f0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rax, r8
mov rsi, rcx
mov r8d, 0xffffffff
mov eax, 0xffffffff
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x44], 0
add byte [rax], r8b
add byte [rax], al
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x68], rcx
lea rcx, [0x1400551a0]
mov qword [rsp + 0x20], rcx
and al, 0x20
lea r9, [rsp + 0x50]
mov rcx, rdx
mov rdx, rax
mov edx, eax
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x140054aa0
push rsp
nop dword [rax]
mov ecx, 0xffffffff
mov edx, 1
add al, ch
jge 0x140054a62
add eax, 0x247c8300
invalid
invalid
je 0x140054a50
movsxd rax, dword [rsp + 0x48]
test rax, rax
je 0x140054adb
shl rax, 0x20
or rax, 2
or eax, 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 1
xor byte [rcx], al
add byte [rax], al
invalid
lea rdi, [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [0x1400aaeb0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
invalid
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 1
lea rdi, [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [0x1400aaeb0]
adc eax, 0x563e4
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx eax, byte [rax + 0x10]
jmp 0x140054b00
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
add byte [rax], al
invalid
jmp case.0x140050c4e.75
movzx eax, byte [rax + 0xf]
jmp 0x140054b00
shr rax, 0x20
mov ecx, eax
call fcn.14005c8f0
invalid
cmp al, 0xb
jne case.0x140050c4e.75
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, rdi
call fcn.1400132f0
jmp 0x140054b25
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
invalid
mov rax, qword [rsp + 0x38]
mov qword [rsi + 8], rax
add rsp, 0x78
pop rdi
pop rsi
ret
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x140054b43
lea rcx, [0x1400aaec0]
movsxd rax, dword [rcx + rax*4]
invalid
add rax, rcx
add eax, ecx
jmp rax
xor eax, eax
jmp 0x140054b00
mov al, 0x29
jmp 0x140054b00
mov al, 1
jmp 0x140054b00
mov al, 2
jmp 0x140054b00
mov al, 3
jmp 0x140054b00
mov al, 4
jmp 0x140054b00
mov al, 5
jmp 0x140054b00
mov al, 6
jmp 0x140054b00
mov al, 7
jmp 0x140054b00
xchg edi, eax
mov al, 8
jmp 0x140054b00
mov al, 9
jmp 0x140054b00
mov al, 0xa
jmp 0x140054b00
invalid
mov esi, dword [rax - 0x4f7814f5]
or al, 0xeb
jmp 0x140054b00
mov al, 0xd
invalid
jl 0x140054b81
invalid
mov al, 0xb
jmp 0x140054b00
mov al, 0xc
jmp 0x140054b00
mov al, 0xd
jmp 0x140054b00
invalid
invalid
invalid
push qword [rax - 0x8a16f2]
mov al, 0xe
jmp 0x140054b00
invalid
invalid
invalid
mov al, 0xf
jmp 0x140054b00
outsb dx, byte [rsi]
invalid
invalid
invalid
invalid
mov al, 0x10
jmp 0x140054b00
invalid
invalid
invalid
invalid
mov al, 0x11
jmp 0x140054b00
invalid
invalid
invalid
mov al, 0x12
jmp 0x140054b00
invalid
mov al, 0x13
jmp 0x140054b00
push rdx
invalid
invalid
invalid
invalid
mov al, 0x14
jmp 0x140054b00
invalid
invalid
invalid
invalid
mov al, 0x15
jmp 0x140054b00
invalid
invalid
invalid
mov al, 0x16
jmp 0x140054b00
invalid
mov al, 0x17
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x18
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x19
jmp 0x140054b00
sub bh, bh
invalid
invalid
invalid
mov al, 0x1a
jmp 0x140054b00
and edi, edi
invalid
invalid
invalid
mov al, 0x1b
jmp 0x140054b00
sbb bh, bh
invalid
invalid
invalid
mov al, 0x1c
jmp 0x140054b00
adc edi, edi
invalid
invalid
invalid
mov al, 0x1d
jmp 0x140054b00
or al, 0xff
invalid
invalid
invalid
mov al, 0x1e
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x1f
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x20
jmp 0x140054b00
idiv esi
invalid
invalid
invalid
mov al, 0x21
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x22
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x23
jmp 0x140054b00
loop case.0x14004fc4c.167
invalid
invalid
invalid
mov al, 0x24
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x25
jmp 0x140054b00
invalid
invalid
invalid
invalid
invalid
mov al, 0x26
jmp 0x140054b00
int 0xfe
invalid
invalid
mov al, 0x27
jmp 0x140054b00
invalid
invalid
invalid
invalid
mov al, 0x28
jmp 0x140054b00
invalid
invalid
invalid
invalid
and al, 0x20
and al, 0x50
je 0x140054d10
mov qword [rsp + 0x40], 1
add dword [rax], eax
add byte [rax], al
add ecx, dword [rax - 0x73]
or eax, 0x56262
invalid
invalid
invalid
invalid
invalid
loopne 0x140054cf4
add al, 5
add eax, 0x48c68900
shl esi, 0x20
out 0x20, al
add byte [rcx - 0x193eb73a], cl
and byte [rax - 0x7d], cl
invalid
invalid
invalid
mov qword [rsp + 0x40], 1
and al, 0x40
add dword [rax], eax
add byte [rax], al
lea ecx, [0x1400aaf64]
invalid
loopne 0x140054d4d
mov dh, 0x46
adc bl, ch
xor byte [rbx + 0x483c2444], cl
mov eax, dword [rsp + 0x3c]
add rdi, rax
adc byte [rax - 0x75], cl
sbb byte [r8 + 0x39], cl
sbb byte [rax + 0x39], cl
sbb byte [rax + 0x39], cl
clc
clc
or al, 0x48
mov ecx, esi
and al, ch
jge 0x140054dec
add byte [rax], al
invalid
clc
call 0x168fdd0bc
sub ebx, ebp
mov ebp, 0xb9eb01b0
mov al, 1
jmp 0x140054d73
mov cl, 0xb0
add al, 0xeb
lodsd eax, dword [rsi]
invalid
nop dword [rax + rax]
invalid
int1
lodsb al, byte [rsi]
invalid
js 0x140054fa2
and esi, dword [rdx + rbx*4 - 0x17]
pop rsi
add dword [rax], eax
add byte [rcx - 0x48], al
and byte [rax], al
add byte [rax], al
mov ecx, ebx
movq rdi, xmm6
pshufd xmm0, xmm6, 0xee
movq r8, xmm0
mov qword [rsp + 0x60], rdi
cmp r8, 5
jae 0x140057d5e
jmp case.0x1400580c3.68
mov rax, qword [rsp + 0x270]
test rax, rax
jne 0x1400593c9
mov rcx, rdi
mov rdx, rbp
call fcn.140052240
jmp 0x140057ba4
mov rcx, rdi
mov rdx, rbp
call fcn.140052240
movzx eax, byte [rsp + 0x288]
cmp al, 2
je 0x1400587aa
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
test r8, r8
jne 0x140057be3
test rdx, rdx
je 0x140057b99
mov r8d, 1
call fcn.140010810
jmp 0x140057b99
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [rsi + 3], r10d
push rsi
add eax, dword [rcx + rcx*4 + 0xe]
push rsi
add eax, dword [rcx + rcx*4 + 0xe]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], r8
mov byte [rsp + 0xb8], al
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r8, r13
call fcn.140040c30
cmp qword [rsp + 0x80], 1
je 0x140057c40
mov r8d, 3
mov rcx, rbx
lea rdx, str.exeNULexit_code:
call fcn.140041850
mov r14, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, r14
call fcn.14005a430
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x140057b7b
mov r8d, 1
mov rcx, r14
call fcn.140010810
jmp 0x140057b7b
add byte [rax - 0x77], cl
mov esp, 0x11824
add byte [rax - 0x77], cl
xchg esp, eax
and al, 0x20
add dword [rax], eax
add byte [rax + 0x39], cl
cli
and al, 0x10
add dword [rax], eax
add byte [rax - 0x75], cl
xchg esp, eax
and al, 0x20
add dword [rax], eax
add byte [rsi - 0x39], ah
add al, 0x50
add byte [rax], al
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x1400587c7
mov r8d, 1
mov rcx, qword [rsp + 0x88]
call fcn.140010810
lea rdi, [0x1400b0630]
jmp 0x140056e69
mov r13, rax
movdqu xmm6, xmmword [rsp + 0x278]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140057aaf
mov r8d, 1
mov rcx, qword [rsp + 0x88]
call fcn.140010810
jmp 0x140057aaf