Function at 0x140055b20
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
mov rbp, rsp
sub rsp, 0x78
cmp byte [rcx + 0x2c0], 0
mov rbx, rcx
je 0x140055b41
add rsp, 0x78
pop rbx
pop rbp
jmp fcn.1400248c0
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r15
movaps xmmword [rsp + 0x40], xmm6
movss xmm6, dword [0x14012bff4]
nop
mov r15d, dword [rbx + 0x2c8]
mov dword [rbp + 0x18], 0
cmp r15d, 0x34616d69
jne 0x140055d00
mov rax, qword [rbx + 0x2d8]
mov r8d, dword [rbx + 0x408]
cqo
idiv r8
xor edx, edx
mov r13, rax
mov eax, dword [rbx + 0x2c]
div dword [rbx + 0x418]
mov ecx, eax
cmp r13, rcx
cmovge r13d, eax
test r13d, r13d
je 0x1400560fd
mov rdx, qword [rbx + 0x2a0]
lea r9, [rbp + 0x28]
mov rcx, qword [rbx + 0x70]
mov edi, r13d
imul edi, r8d
mov dword [rbp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140056134
cmp dword [rbp + 0x28], edi
jne 0x140056134
mov edx, dword [rbp + 0x18]
mov eax, edi
sub qword [rbx + 0x2d8], rax
mov eax, dword [rbx + 0x418]
mov rdi, qword [rbx + 0x2a0]
nop word [rax + rax]
dec r13d
xor r14d, r14d
cmp dword [rbx + 0x20], r14d
jbe 0x140055ce6
mov rax, qword [rbx + 0x2b0]
mov ecx, edx
mov rax, qword [rax + r14*8]
lea r15, [rax + rcx*4]
movzx ecx, word [rdi]
ror cx, 8
add rdi, 2
movzx eax, cl
and al, 0x7f
cmp al, 0x58
jae 0x140055c5d
movzx eax, cx
and eax, 0x7f
jmp 0x140055c62
mov eax, 0x58
mov dword [rbx + r14*8 + 0x2e4], eax
cmp byte [rbx + 0x3ec], 0
je 0x140055c81
movsx eax, cx
and eax, 0xffffff80
mov dword [rbx + r14*8 + 0x2e0], eax
mov eax, dword [rbx + 0x418]
xor esi, esi
test eax, eax
je 0x140055cd9
nop dword [rax]
movzx r8d, byte [rdi]
mov ecx, esi
and ecx, 1
je 0x140055ca1
shr r8d, 4
jmp 0x140055ca5
and r8d, 0xf
test ecx, ecx
lea rax, [rdi + 1]
mov edx, r14d
lea rcx, [rbx + 0x2e0]
cmove rax, rdi
mov rdi, rax
call fcn.14003da00
movss dword [r15], xmm0
inc esi
mov eax, dword [rbx + 0x418]
add r15, 4
cmp esi, eax
jb 0x140055c90
mov edx, dword [rbp + 0x18]
inc r14d
cmp r14d, dword [rbx + 0x20]
jb 0x140055c30
add edx, eax
mov byte [rbx + 0x3ec], 0
mov dword [rbp + 0x18], edx
test r13d, r13d
jne 0x140055c20
jmp 0x140055fd7
cmp r15d, 0x6134706d
je 0x140055ffa
cmp r15d, 0x20636161
je 0x140055ffa
cmp r15d, 0x3343414d
je 0x140055e46
cmp r15d, 0x3643414d
je 0x140055e46
cmp r15d, 0x63616c61
je 0x140055d5c
cmp r15d, 0x31706d2e
je 0x140055d5c
cmp r15d, 0x32706d2e
je 0x140055d5c
cmp r15d, 0x33706d2e
jne 0x140055b70
cmp qword [rbx + 0x2d8], 0
je 0x1400560fd
mov rcx, qword [rbx + 0x410]
test rcx, rcx
je 0x140055d8f
movsxd rax, dword [rbx + 0x2e8]
cmp rax, qword [rbx + 0x400]
jge 0x1400560fd
mov edi, dword [rcx + rax*4]
jmp 0x140055d95
mov edi, dword [rbx + 0x408]
mov rdx, qword [rbx + 0x2a0]
lea r9, [rbp + 0x28]
mov rcx, qword [rbx + 0x70]
mov r8d, edi
mov dword [rbp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, qword [rbx + 0x2a0]
mov rcx, qword [rbx + 0x2e0]
mov eax, edi
sub qword [rbx + 0x2d8], rax
cmp dword [rbx + 0x2c8], 0x63616c61
jne 0x140055e11
mov r9, rdx
mov qword [rsp + 0x20], 0
mov rdx, qword [rbx + 0x2b0]
lea r8, [rbp + 0x18]
call fcn.14002c420
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x140056107
mov edx, dword [rbp + 0x18]
jmp 0x140055fd7
mov r8d, edi
call fcn.140045ba0
mov r8d, dword [rbx + 0x20]
xor r9d, r9d
mov rdx, qword [rbx + 0x2b0]
mov rcx, qword [rbx + 0x2e8]
mov qword [rsp + 0x20], 0
call fcn.14003f330
mov edx, eax
mov dword [rbp + 0x18], eax
jmp 0x140055fd7
mov rax, qword [rbx + 0x2d8]
xor r8d, r8d
cmp r15d, 0x3643414d
cqo
setne r8b
inc r8d
imul r8d, dword [rbx + 0x20]
mov ecx, r8d
idiv rcx
mov r12, rax
mov eax, 0xaaaaaaab
mul dword [rbx + 0x2c]
shr edx, 2
mov ecx, edx
cmp r12, rcx
cmovge r12d, edx
test r12d, r12d
je 0x1400560fd
mov rdx, qword [rbx + 0x2a0]
lea r9, [rbp + 0x28]
mov rcx, qword [rbx + 0x70]
mov edi, r12d
imul edi, r8d
mov dword [rbp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140056134
cmp dword [rbp + 0x28], edi
jne 0x140056134
mov rdi, qword [rbx + 0x2a0]
mov edx, dword [rbp + 0x18]
nop word [rax + rax]
dec r12d
xor r14d, r14d
cmp dword [rbx + 0x20], r14d
jbe 0x140055fc8
movzx r8d, byte [rdi]
lea rdx, [rbp - 0x48]
inc rdi
cmp r15d, 0x3643414d
jne 0x140055f16
lea rcx, [r14 + 0x2e]
shl rcx, 4
add rcx, rbx
call fcn.14003de40
jmp 0x140055f2d
movzx r9d, byte [rdi]
lea rcx, [rbx + 0x2e0]
lea rcx, [rcx + r14*4]
inc rdi
call fcn.14003dca0
mov rax, qword [rbx + 0x2b0]
mov edx, dword [rbp + 0x18]
mov rcx, qword [rax + r14*8]
inc r14d
movsx eax, word [rbp - 0x48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [rcx + rdx*4], xmm0
movsx eax, word [rbp - 0x46]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
movss dword [rcx + rdx*4 + 4], xmm1
movsx eax, word [rbp - 0x44]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [rcx + rdx*4 + 8], xmm0
movsx eax, word [rbp - 0x42]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
movss dword [rcx + rdx*4 + 0xc], xmm1
movsx eax, word [rbp - 0x40]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
movss dword [rcx + rdx*4 + 0x10], xmm0
movsx eax, word [rbp - 0x3e]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
movss dword [rcx + rdx*4 + 0x14], xmm1
cmp r14d, dword [rbx + 0x20]
jb 0x140055ef0
mov edx, dword [rbp + 0x18]
add edx, 6
mov dword [rbp + 0x18], edx
test r12d, r12d
jne 0x140055ee0
test edx, edx
je 0x140055b70
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x78]
mov ecx, eax
shr ecx, 0x1f
test cl, cl
je 0x140055b70
jmp 0x140056107
cmp qword [rbx + 0x2d8], 0
je 0x14005607a
mov rcx, qword [rbx + 0x410]
test rcx, rcx
je 0x140056029
movsxd rax, dword [rbx + 0x2e8]
cmp rax, qword [rbx + 0x400]
jge 0x140056025
mov edi, dword [rcx + rax*4]
jmp 0x14005602f
xor edi, edi
jmp 0x14005602f
mov edi, dword [rbx + 0x408]
movsxd rax, dword [rbx + 0x2ec]
cmp eax, edi
jae 0x14005607a
mov rcx, qword [rbx + 0x70]
lea r9, [rbp + 0x28]
mov rdx, rax
mov dword [rbp + 0x28], 0
add rdx, qword [rbx + 0x2a0]
mov r8d, edi
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
add dword [rbx + 0x2ec], edi
inc dword [rbx + 0x2e8]
mov eax, edi
sub qword [rbx + 0x2d8], rax
mov eax, dword [rbx + 0x2c]
lea r8, [rbp + 0x18]
mov r9, qword [rbx + 0x2a0]
mov rdx, qword [rbx + 0x2b0]
mov rcx, qword [rbx + 0x2e0]
mov dword [rbp + 0x18], eax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x2ec]
mov dword [rsp + 0x20], eax
mov dword [rbp + 0x20], 0
call fcn.14003e5d0
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x140056107
mov eax, dword [rbp + 0x20]
test eax, eax
je 0x1400560ea
sub dword [rbx + 0x2ec], eax
je 0x1400560ea
mov rcx, qword [rbx + 0x2a0]
movsxd r8, dword [rbx + 0x2ec]
lea rdx, [rcx + rax]
call fcn.1400b9e30
mov eax, dword [rbp + 0x20]
mov edx, dword [rbp + 0x18]
test edx, edx
jne 0x140055fdf
test eax, eax
jne 0x140055b70
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x78
pop rbx
pop rbp
ret
mov eax, 0x80040205
jmp 0x140056107