Function at 0x140011604
Capabilities:
Read file on windows

Disassembly:
jmp 0x140021d60
push rbp
push rdi
sub rsp, 0x178
lea rbp, [rsp + 0x20]
lea rcx, [0x1400ef37d]
call fcn.14001164f
call fcn.1400116bd
cmp qword [0x14003b840], 0
jne 0x140021d99
xor r8d, r8d
xor edx, edx
mov ecx, 0x23
call fcn.140011375
lea rdx, [0x14003518c]
mov rcx, qword [0x14003b840]
call fcn.140011320
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x140021dcf
mov r8, 0xfffffffffffffffe
mov rdx, qword [0x14003b840]
mov ecx, 0x22
call fcn.140011375
mov rax, qword [rbp + 8]
mov qword [0x14003b808], rax
mov rcx, qword [rbp + 8]
call fcn.1400114a1
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0x18
ja 0x140021e03
mov r8, qword [rbp + 0x28]
mov rdx, qword [0x14003b840]
mov ecx, 0x25
call fcn.140011375
mov r9, qword [rbp + 8]
mov r8d, 0x18
mov edx, 1
lea rcx, [0x14003b898]
call qword [sym.imp.ucrtbased.dll_fread]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0x18
je 0x140021e42
mov r8, 0xfffffffffffffffe
mov rdx, qword [0x14003b840]
mov ecx, 0x24
call fcn.140011375
movzx eax, byte [0x14003b84e]
test eax, eax
je 0x140021e5e
mov edx, 6
mov rcx, qword [0x14003b970]
call fcn.140021b50
mov eax, dword [0x14003b8a0]
shr eax, 0x18
and eax, 0x7f
mov eax, eax
shl rax, 2
cmp rax, 0x18
je 0x140021e85
xor r8d, r8d
xor edx, edx
mov ecx, 0x27
call fcn.140011375
mov eax, dword [0x14003b8a0]
shr eax, 5
and eax, 7
test eax, eax
jne 0x140021ea5
mov eax, dword [0x14003b8a0]
shr eax, 0xf
and eax, 1
test eax, eax
je 0x140021eb4
xor r8d, r8d
xor edx, edx
mov ecx, 0x28
call fcn.140011375
cmp dword [0x14003b8a4], 0
jne 0x140021ed3
xor edx, edx
mov ecx, 0x65
call fcn.14001169a
mov dword [0x14003b8a4], 1
mov eax, dword [0x14003b8a4]
mov dword [0x14003b8d8], eax
mov eax, dword [0x14003b8a0]
shr eax, 0xc
and eax, 7
add eax, 9
mov byte [rbp + 0x64], al
mov eax, dword [0x14003b8a0]
shr eax, 3
and eax, 1
test eax, eax
jne 0x140021f0d
mov dword [rbp + 0x134], 0
jmp 0x140021f17
mov dword [rbp + 0x134], 1
movzx eax, byte [rbp + 0x134]
mov byte [0x14003b8b5], al
mov eax, dword [0x14003b8a0]
shr eax, 4
and eax, 1
test eax, eax
jne 0x140021f40
mov dword [rbp + 0x134], 0
jmp 0x140021f4a
mov dword [rbp + 0x134], 1
movzx eax, byte [rbp + 0x134]
mov byte [0x14003b8b6], al
mov eax, dword [0x14003b8a0]
and eax, 1
test eax, eax
jne 0x140021f70
mov dword [rbp + 0x134], 0
jmp 0x140021f7a
mov dword [rbp + 0x134], 1
movzx eax, byte [rbp + 0x134]
mov byte [0x14003b8b7], al
mov eax, dword [0x14003b8a0]
shr eax, 8
and eax, 0xf
inc eax
mov byte [0x14003b8be], al
mov eax, dword [0x14003b8a0]
shr eax, 0x10
and eax, 0xff
test eax, eax
je 0x140021fc3
mov eax, dword [0x14003b8a0]
shr eax, 0x10
and eax, 0xff
mov dword [rbp + 0x134], eax
jmp 0x140021fcd
mov dword [rbp + 0x134], 0x100
movzx eax, word [rbp + 0x134]
mov word [0x14003b8bc], ax
mov eax, dword [0x14003b8a0]
shr eax, 0x1f
and eax, 1
test eax, eax
jne 0x140021ff7
mov dword [rbp + 0x134], 0
jmp 0x140022001
mov dword [rbp + 0x134], 1
movzx eax, byte [rbp + 0x134]
mov byte [0x14003b8b4], al
movzx eax, byte [0x14003b8be]
mov ecx, 1
mov qword [rbp + 0x138], rcx
movzx ecx, al
mov rax, qword [rbp + 0x138]
shl rax, cl
test rax, rax
jl 0x14002203a
cvtsi2sd xmm0, rax
jmp 0x140022053
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
movaps xmm0, xmm1
mov eax, dword [0x14003b8d8]
cvtsi2sd xmm1, rax
divsd xmm0, xmm1
movzx eax, byte [rbp + 0x64]
inc eax
mov ecx, 1
mov qword [rbp + 0x140], rcx
movzx ecx, al
mov rax, qword [rbp + 0x140]
shl rax, cl
test rax, rax
jl 0x14002208d
cvtsi2sd xmm1, rax
jmp 0x1400220a6
mov rcx, rax
shr rcx, 1
and rax, 1
or rcx, rax
cvtsi2sd xmm2, rcx
addsd xmm2, xmm2
movaps xmm1, xmm2
divsd xmm0, xmm1
movsd qword [0x14003b8d0], xmm0
movzx eax, byte [rbp + 0x64]
mov byte [0x14003b8bf], al
movzx eax, byte [rbp + 0x64]
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
mov ecx, 0xf
mov dword [rbp + 0x134], ecx
movzx ecx, al
mov eax, dword [rbp + 0x134]
shl eax, cl
not eax
and eax, 0xfffffffe
mov dword [0x14003b8c4], eax
movzx eax, byte [rbp + 0x64]
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
mov byte [0x14003b8c0], al
movzx eax, byte [0x14003b8bf]
cmp eax, 0x10
jbe 0x14002211b
mov r8d, 0x10
xor edx, edx
mov ecx, 0x2a
call fcn.140011375
movzx eax, byte [0x14003b8bf]
movsx ecx, byte [0x14003b860]
cmp eax, ecx
je 0x140022143
movzx eax, byte [0x14003b8bf]
mov r8d, eax
xor edx, edx
mov ecx, 0x2b
call fcn.140011375
movzx eax, byte [0x14003b8b7]
test eax, eax
je 0x140022165
movzx eax, byte [0x14003b8b5]
test eax, eax
jne 0x140022165
xor edx, edx
mov ecx, 0x6c
call fcn.14001169a
call fcn.140021a90
lea rsp, [rbp + 0x158]
pop rdi
pop rbp
ret