Function at 0x140134570
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor r13d, r13d
mov rdi, r8
movsx r8d, word [r8 + 0x22]
mov r12, r9
mov rsi, rcx
movsx ecx, word [rdi + 0x20]
mov r9d, ecx
mov r10, rdx
movzx ebx, r13w
lea edx, [r13 + 1]
lea r11d, [r13 + 4]
imul r9d, r8d
cmp r9d, 0x18
je 0x1401346e4
cmp r9d, 0x20
je 0x14013466a
cmp dword [rdi + 0x174], 3
jne 0x140134649
mov eax, dword [r12]
cmp eax, 0x7c00
jne 0x1401345fb
cmp dword [r12 + 4], 0x3e0
jne 0x1401345fb
cmp dword [r12 + 8], 0x1f
jne 0x1401345fb
lea eax, [rdx + 0x7f]
lea r15d, [r13 + 2]
jmp 0x140134700
cmp eax, 0xf800
jne 0x140134636
cmp dword [r12 + 4], 0x7e0
jne 0x140134636
cmp dword [r12 + 8], 0x1f
jne 0x140134636
cmp cx, dx
jne 0x140134626
mov eax, 0x100
cmp r8w, 0x10
je 0x14013462b
mov eax, 0x104
mov r15d, 2
jmp 0x140134700
mov ebx, edx
mov eax, 8
mov dword [rdi + 0x20], 0x180001
jmp 0x1401346fa
cmp cx, dx
jne 0x14013465a
mov eax, 0x80
cmp r8w, 0xf
jge 0x14013465f
mov eax, 0x84
mov r15d, 2
jmp 0x140134700
cmp dword [rdi + 0x174], 3
jne 0x1401346c3
mov eax, dword [r12]
cmp eax, 0xff000000
jne 0x14013468c
mov dword [rdi], 0x2000020
movzx ebx, dx
mov r15d, r11d
jmp 0x140134702
cmp eax, 0xff0000
jne 0x1401346b4
cmp dword [r12 + 4], 0xff00
jne 0x1401346b4
cmp dword [r12 + 8], 0xff
jne 0x1401346b4
mov dword [rdi], 0x2000020
mov r15d, r11d
jmp 0x140134702
mov eax, 0x20
movzx ebx, dx
mov r15d, r11d
mov dword [rdi], eax
jmp 0x140134702
cmp cx, dx
jne 0x1401346d4
mov eax, 0x20
cmp r8w, 0x20
je 0x1401346d9
mov eax, 0x24
bts eax, 0x19
mov r15d, r11d
mov dword [rdi], eax
jmp 0x140134702
cmp cx, dx
jne 0x1401346f5
mov eax, 8
cmp r8w, 0x18
je 0x1401346fa
mov eax, 0xc
mov r15d, 3
mov dword [rdi], eax
mov eax, dword [rdi + 0x18]
mov dword [rdi + 8], edx
mov rcx, r10
mov rdx, rdi
imul eax, r15d
lea r14d, [rax + 3]
mov dword [rdi + 0x28], eax
and r14d, 0xfffffffc
sub r14d, eax
mov dword [rsp + 0x20], r14d
call fcn.14005ee10
movzx ebp, ax
test ax, ax
jne 0x140134d51
cmp word [rdi + 0x20], 1
jne 0x140134cce
test bx, bx
je 0x140134bb5
cmp word [rdi + 0x22], 0x20
jne 0x1401349dc
mov ecx, dword [r12 + 0xc]
mov eax, r13d
nop dword [rax]
bt ecx, eax
jb 0x14013476c
inc eax
cmp eax, 0x20
jl 0x140134760
mov edx, eax
cmp eax, 0x20
jge 0x14013477f
bt ecx, eax
jae 0x14013477f
inc eax
cmp eax, 0x20
jl 0x140134773
sub eax, edx
mov edx, dword [r12 + 8]
mov ecx, r13d
nop dword [rax]
bt edx, ecx
jb 0x14013479c
inc ecx
cmp ecx, 0x20
jl 0x140134790
mov r8d, ecx
mov dword [rsp + 0x28], ecx
cmp ecx, 0x20
jge 0x1401347b4
bt edx, ecx
jae 0x1401347b4
inc ecx
cmp ecx, 0x20
jl 0x1401347a8
sub ecx, r8d
mov r8d, dword [r12 + 4]
mov edx, r13d
nop
bt r8d, edx
jb 0x1401347cd
inc edx
cmp edx, 0x20
jl 0x1401347c0
mov r9d, edx
mov dword [rsp + 0xb0], edx
cmp edx, 0x20
jge 0x1401347ed
nop dword [rax]
bt r8d, edx
jae 0x1401347ed
inc edx
cmp edx, 0x20
jl 0x1401347e0
sub edx, r9d
mov r9d, dword [r12]
mov r8d, r13d
bt r9d, r8d
jb 0x140134806
inc r8d
cmp r8d, 0x20
jl 0x1401347f7
mov r15d, r8d
cmp r8d, 0x20
jge 0x14013481f
nop
bt r9d, r8d
jae 0x14013481f
inc r8d
cmp r8d, 0x20
jl 0x140134810
sub r8d, r15d
mov dword [rsp + 0x24], r13d
cmp dword [rdi + 0x1c], r13d
jle 0x140134d3c
lea r9d, [rcx - 8]
cdqe
movsxd rcx, ecx
mov dword [rsp + 0x30], r9d
lea r9d, [rdx - 8]
movsxd rdx, edx
mov dword [rsp + 0x2c], r9d
lea r9d, [r8 - 8]
movsxd r8, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x34], r9d
mov qword [rsp + 0x48], r8
nop dword [rax + rax]
mov rbx, qword [rdi + 0x10]
cmp rax, 8
jne 0x1401348ec
cmp r8, rax
jne 0x1401348ec
cmp rdx, rax
jne 0x1401348ec
cmp rcx, rax
jne 0x1401348ec
cmp dword [rdi + 0x18], 0
mov ebp, r13d
jle 0x140134963
mov r14d, dword [rsp + 0xb0]
mov r13d, dword [rsp + 0x28]
mov rcx, rsi
call fcn.140066b20
mov edx, dword [r12 + 8]
mov ecx, r13d
and edx, eax
mov r8d, eax
inc ebp
shr edx, cl
mov ecx, r14d
lea rbx, [rbx + 4]
mov byte [rbx - 4], dl
mov edx, dword [r12 + 4]
and edx, eax
shr edx, cl
mov ecx, r15d
mov byte [rbx - 3], dl
mov eax, dword [r12]
and eax, r8d
shr eax, cl
mov byte [rbx - 2], al
mov byte [rbx - 1], 0xff
cmp ebp, dword [rdi + 0x18]
jl 0x1401348a3
jmp 0x14013495b
cmp dword [rdi + 0x18], 0
mov ebp, r13d
jle 0x140134963
mov r14d, dword [rsp + 0xb0]
mov r13d, dword [rsp + 0x28]
mov rcx, rsi
call fcn.140066b20
mov edx, dword [r12 + 8]
mov ecx, r13d
and edx, eax
mov r8d, eax
inc ebp
shr edx, cl
mov ecx, dword [rsp + 0x30]
lea rbx, [rbx + 4]
shr edx, cl
mov ecx, r14d
mov byte [rbx - 4], dl
mov edx, dword [r12 + 4]
and edx, eax
shr edx, cl
mov ecx, dword [rsp + 0x2c]
shr edx, cl
mov ecx, r15d
mov byte [rbx - 3], dl
mov eax, dword [r12]
and eax, r8d
shr eax, cl
mov ecx, dword [rsp + 0x34]
shr eax, cl
mov byte [rbx - 2], al
mov byte [rbx - 1], 0xff
cmp ebp, dword [rdi + 0x18]
jl 0x140134902
mov r14d, dword [rsp + 0x20]
xor r13d, r13d
mov rcx, qword [rsp + 0xa8]
or r8d, 0xffffffff
mov r9d, 1
or edx, r8d
call fcn.1400615b0
movzx ebp, ax
test ax, ax
jne 0x140134d3c
mov ebx, r13d
test r14d, r14d
jle 0x1401349ac
mov rcx, qword [rsi]
call fcn.1401c3f28
cmp eax, 0xffffffff
je 0x1401349a7
inc ebx
cmp ebx, r14d
jl 0x140134991
jmp 0x1401349ac
mov ebp, 4
mov r9d, dword [rsp + 0x24]
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
inc r9d
mov dword [rsp + 0x24], r9d
cmp r9d, dword [rdi + 0x1c]
jl 0x140134870
jmp 0x140134d3c
mov eax, dword [rdi + 0x18]
mov ecx, dword [r12 + 8]
mov r10d, 1
add eax, eax
lea r15d, [rax + 3]
and r15d, 0xfffffffc
sub r15d, eax
mov eax, r13d
mov dword [rsp + 0x28], r15d
nop
bt ecx, eax
jb 0x140134a0c
inc eax
cmp eax, 0x10
jl 0x140134a00
mov r8d, 0x10
mov dword [rsp + 0xb0], eax
mov eax, r10d
mov edx, r8d
nop
test eax, ecx
je 0x140134a27
add r10d, r10d
rol eax, 1
dec rdx
jne 0x140134a20
dec r10d
lea r9d, [rdx + 1]
mov edx, dword [r12 + 4]
mov dword [rsp + 0x34], r10d
mov eax, r13d
bt edx, eax
jb 0x140134a4e
inc eax
cmp eax, r8d
jl 0x140134a42
mov dword [rsp + 0x24], eax
mov rcx, r8
mov eax, r9d
test eax, edx
je 0x140134a5f
add r9d, r9d
rol eax, 1
dec rcx
jne 0x140134a58
dec r9d
lea edx, [rcx + 1]
mov ecx, dword [r12]
mov dword [rsp + 0x2c], r9d
mov r14d, r13d
bt ecx, r14d
jb 0x140134a86
inc r14d
cmp r14d, r8d
jl 0x140134a78
mov eax, edx
test eax, ecx
je 0x140134a8e
add edx, edx
rol eax, 1
dec r8
jne 0x140134a88
dec edx
mov dword [rsp + 0x30], edx
test r10d, r10d
je 0x140134cc1
test r9d, r9d
je 0x140134cc1
test edx, edx
je 0x140134cc1
mov dword [rsp + 0x20], r13d
cmp dword [rdi + 0x1c], r13d
jle 0x140134d3c
cmp dword [rdi + 0x18], 0
mov rbx, qword [rdi + 0x10]
mov ebp, r13d
jle 0x140134b54
mov r15d, dword [rsp + 0xb0]
mov r13d, dword [rsp + 0x24]
mov rcx, rsi
call fcn.140066da0
xor edx, edx
mov ecx, r15d
movzx r8d, ax
mov eax, dword [r12 + 8]
inc ebp
and eax, r8d
lea rbx, [rbx + 3]
shr eax, cl
mov ecx, r13d
imul eax, eax, 0xff
div dword [rsp + 0x34]
xor edx, edx
mov byte [rbx - 3], al
mov eax, dword [r12 + 4]
and eax, r8d
shr eax, cl
mov ecx, r14d
imul eax, eax, 0xff
div dword [rsp + 0x2c]
xor edx, edx
mov byte [rbx - 2], al
mov eax, dword [r12]
and eax, r8d
shr eax, cl
imul eax, eax, 0xff
div dword [rsp + 0x30]
mov byte [rbx - 1], al
cmp ebp, dword [rdi + 0x18]
jl 0x140134ae2
mov r15d, dword [rsp + 0x28]
xor r13d, r13d
mov rcx, qword [rsp + 0xa8]
or r8d, 0xffffffff
mov r9d, 1
or edx, r8d
call fcn.1400615b0
movzx ebp, ax
test ax, ax
jne 0x140134d3c
mov ebx, r13d
test r15d, r15d
jle 0x140134b9d
mov rcx, qword [rsi]
call fcn.1401c3f28
cmp eax, 0xffffffff
je 0x140134b98
inc ebx
cmp ebx, r15d
jl 0x140134b82
jmp 0x140134b9d
mov ebp, 4
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, dword [rdi + 0x1c]
jl 0x140134ac4
jmp 0x140134d3c
cmp r15d, 2
jne 0x140134c51
mov r15d, r13d
cmp dword [rdi + 0x1c], r13d
jle 0x140134d3c
nop dword [rax]
mov rbx, qword [rdi + 0x10]
mov ebp, r13d
cmp dword [rdi + 0x18], r13d
jle 0x140134bf7
nop dword [rax]
mov rcx, rsi
call fcn.140066da0
inc ebp
lea rbx, [rbx + 2]
mov word [rbx - 2], ax
cmp ebp, dword [rdi + 0x18]
jl 0x140134be0
mov rcx, qword [rsp + 0xa8]
or r8d, 0xffffffff
mov r9d, 1
or edx, r8d
call fcn.1400615b0
movzx ebp, ax
test ax, ax
jne 0x140134d3c
mov ebx, r13d
test r14d, r14d
jle 0x140134c43
mov rcx, qword [rsi]
call fcn.1401c3f28
cmp eax, 0xffffffff
je 0x140134c3b
inc ebx
cmp ebx, r14d
jl 0x140134c25
jmp 0x140134c43
mov eax, 4
movzx ebp, ax
inc r15d
cmp r15d, dword [rdi + 0x1c]
jl 0x140134bd0
jmp 0x140134d3c
cmp dword [rdi + 0x1c], r13d
jle 0x140134d3c
movsxd r15, r15d
nop
movsxd rdx, dword [rdi + 0x18]
mov r9, qword [rsi]
mov rcx, qword [rdi + 0x10]
mov r8, r15
call fcn.1401c1e14
cmp rax, r15
jne 0x140134cc1
mov rcx, qword [rsp + 0xa8]
or r8d, 0xffffffff
mov r9d, 1
or edx, r8d
call fcn.1400615b0
movzx ebp, ax
test ax, ax
jne 0x140134d3c
test r14d, r14d
jle 0x140134cb3
mov ebx, r14d
mov rcx, qword [rsi]
call fcn.1401c3f28
dec rbx
jne 0x140134ca6
inc r13d
cmp r13d, dword [rdi + 0x1c]
jl 0x140134c60
jmp 0x140134d3c
mov eax, 4
movzx ebp, ax
jmp 0x140134d3c
mov eax, dword [rdi + 0x1c]
imul eax, r15d
test eax, eax
jle 0x140134d3c
movsxd r12, r15d
nop dword [rax]
movsxd rdx, dword [rdi + 0x18]
mov r9, qword [rsi]
mov rcx, qword [rdi + 0x10]
mov r8, r12
call fcn.1401c1e14
mov rcx, qword [rsp + 0xa8]
or r8d, 0xffffffff
or edx, r8d
mov r9d, 1
call fcn.1400615b0
movzx ebp, ax
test ax, ax
jne 0x140134d3c
test r14d, r14d
jle 0x140134d2d
mov ebx, r14d
nop dword [rax]
mov rcx, qword [rsi]
call fcn.1401c3f28
dec rbx
jne 0x140134d20
mov eax, dword [rdi + 0x1c]
inc r13d
imul eax, r15d
cmp r13d, eax
jl 0x140134ce0
mov rcx, qword [rsp + 0xa8]
xor r8d, r8d
xor edx, edx
xor r9d, r9d
call fcn.14005cb20
movzx eax, bp
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret