Function at 0x1400c315c
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor r13d, r13d
mov rsi, rcx
lea r14d, [r13 + 2]
lea ebp, [r13 + 3]
lea r15d, [r13 + 1]
cmp dword [0x140136060], r14d
je 0x1400c332e
mov ebx, dword [rcx + 0x28]
mov r12, qword [rcx + 0x30]
cmp ebx, dword [0x1401360f8]
je 0x1400c31cd
mov rcx, qword [0x1401360d0]
cmp rcx, r13
je 0x1400c31cd
call fcn.1400c8d40
mov qword [0x1401360d0], r13
mov rcx, qword [0x1401360d8]
mov edx, ebx
mov dword [0x1401360f8], ebx
call fcn.14003e3c8
mov rdi, rax
mov rax, qword [0x1401360d0]
cmp rax, r13
jne 0x1400c3279
mov rcx, rdi
jmp 0x1400c3261
cmp dword [0x1400fe734], r13d
jne 0x1400c321d
lea rcx, [0x140134b90]
mov r8, rdi
xor edx, edx
call fcn.1400334fc
mov ecx, 0x12
call fcn.1400bd484
mov ecx, ebx
call fcn.14003ec84
cmp eax, 9
je 0x1400c32d0
mov ecx, dword [0x140136060]
cmp ecx, r15d
je 0x1400c323d
cmp ecx, r14d
jne 0x1400c3245
cmp eax, ebp
je 0x1400c3327
mov rcx, rdi
call fcn.1400c7040
mov rcx, qword [0x1401360d8]
mov edx, ebx
call fcn.14003e3c8
mov rdi, rax
mov rcx, rax
lea rdx, [0x1400e3698]
call fcn.1400c9638
mov qword [0x1401360d0], rax
cmp rax, r13
je 0x1400c31f9
cmp rdi, r13
je 0x1400c328d
mov rcx, rdi
call fcn.1400c7040
mov rax, qword [0x1401360d0]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
call fcn.1400c9b9c
cmp eax, r13d
je 0x1400c32da
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov rdx, qword [0x140134c50]
lea rcx, [0x140134b90]
mov qword [0x1401360d0], r13
call fcn.140033674
mov eax, 0xb
jmp 0x1400c33bf
mov eax, 9
jmp 0x1400c33bf
cmp dword [0x140136060], r14d
je 0x1400c332e
mov rcx, qword [0x1401360d0]
lea rdx, [0x1400ebfc0]
call fcn.1400c0fc4
cmp eax, r13d
jne 0x1400c332e
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov ecx, 0x2ae
mov qword [0x1401360d0], r13
call fcn.140076080
mov rcx, qword [0x140134c50]
mov rdx, rax
call fcn.1400b1ef4
mov eax, ebp
jmp 0x1400c33bf
mov r9, qword [0x1401360d0]
lea rcx, [rsp + 0x20]
mov r8, r15
mov edx, 0x1a
call fcn.1400c9ab0
cmp rax, r15
je 0x1400c3393
mov rcx, qword [0x1401360d0]
call fcn.1400c975c
mov edi, eax
cmp dword [0x140136060], r14d
je 0x1400c336f
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
cmp edi, r13d
je 0x1400c3387
mov rdx, qword [0x140134c50]
lea rcx, [0x140134b90]
call fcn.140033674
neg edi
sbb eax, eax
and eax, 9
add eax, r14d
jmp 0x1400c33bf
mov ecx, 0xb8
call fcn.1400c799c
mov rbx, rax
cmp rax, r13
jne 0x1400c33ea
cmp dword [0x140136060], r14d
je 0x1400c33ba
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov eax, 4
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400c6350
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx eax, byte [rsp + 0x20]
movzx edi, byte [rsp + 0x21]
mov r12d, 0xff00
shl di, 8
or di, ax
mov word [rbx + 2], di
movzx ecx, byte [rsp + 0x23]
movzx eax, byte [rsp + 0x22]
shl cx, 8
or cx, ax
mov word [rbx + 0x2e], cx
movzx ecx, byte [rsp + 0x25]
movzx eax, byte [rsp + 0x24]
shl cx, 8
or cx, ax
mov word [rbx + 6], cx
movzx eax, byte [rsp + 0x29]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x28]
or edx, eax
movzx eax, byte [rsp + 0x27]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x26]
or edx, ecx
or edx, eax
mov dword [rbx + 8], edx
movzx eax, byte [rsp + 0x2d]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x2c]
or edx, eax
movzx eax, byte [rsp + 0x2b]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x2a]
or edx, ecx
or edx, eax
mov dword [rbx + 0xc], edx
movzx ecx, byte [rsp + 0x37]
movzx eax, byte [rsp + 0x36]
shl cx, 8
or cx, ax
mov word [rbx + 0x20], cx
movzx ecx, byte [rsp + 0x39]
movzx eax, byte [rsp + 0x38]
shl cx, 8
or cx, ax
mov word [rbx + 0x22], cx
cmp dword [0x140136060], r14d
jne 0x1400c3584
movzx eax, byte [rsp + 0x31]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x30]
or edx, eax
movzx eax, byte [rsp + 0x2f]
shl ax, 8
shl edx, 0x10
movzx eax, ax
or rdx, rax
movzx eax, byte [rsp + 0x2e]
or rdx, rax
mov qword [rbx + 0x10], rdx
movzx eax, byte [rsp + 0x35]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x34]
or edx, eax
movzx eax, byte [rsp + 0x33]
shl ax, 8
shl edx, 0x10
movzx eax, ax
or rdx, rax
movzx eax, byte [rsp + 0x32]
or rdx, rax
mov qword [rbx + 0x18], rdx
cmp dword [0x140136060], r14d
jne 0x1400c3584
movzx eax, di
mov edx, 0xff
and di, r12w
and ax, dx
mov edx, 0x2800
cmp di, dx
jbe 0x1400c3573
mov rcx, qword [rsi + 0x60]
call fcn.1400801ac
mov ecx, 0x342
mov rdi, rax
call fcn.140076080
mov rcx, qword [0x140134c50]
mov rdx, rax
mov r8, rdi
call fcn.1400b1ef4
jmp 0x1400c3327
cmp ax, 0x64
ja 0x1400c3546
mov eax, 0xc8
cmp word [rbx + 6], ax
ja 0x1400c3546
movzx eax, word [rbx + 0x20]
mov qword [rbx + 0x48], r13
mov qword [rbx + 0x60], r13
add eax, r15d
mov qword [rbx + 0x40], r13
mov qword [rbx + 0x68], r13
movsxd rcx, eax
mov qword [rbx + 0x70], r13
mov qword [rbx + 0x78], r13
call fcn.1400c799c
mov qword [rbx + 0x60], rax
cmp rax, r13
je 0x1400c33ba
cmp word [rbx + 0x22], r13w
je 0x1400c35d5
movzx ecx, word [rbx + 0x22]
call fcn.1400c799c
mov qword [rbx + 0x48], rax
cmp rax, r13
je 0x1400c33ba
movzx edx, word [rbx + 0x20]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x60]
mov r8, r15
call fcn.1400c9ab0
cmp rax, r15
jne 0x1400c3bab
cmp word [rbx + 0x22], r13w
je 0x1400c361c
movzx edx, word [rbx + 0x22]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x48]
mov r8, r15
call fcn.1400c9ab0
cmp rax, r15
jne 0x1400c3bab
movzx ecx, word [rbx + 0x20]
mov rax, qword [rbx + 0x60]
mov byte [rcx + rax], r13b
movzx eax, word [rbx + 0x20]
add eax, r15d
movsxd rcx, eax
call fcn.1400c799c
mov rdx, rax
mov qword [rbx + 0x40], rax
cmp rax, r13
je 0x1400c33ba
mov rcx, qword [rbx + 0x60]
mov al, byte [rcx]
add rcx, r15
mov byte [rdx], al
add rdx, r15
cmp al, r13b
jne 0x1400c364b
mov rcx, rbx
call fcn.1400c0180
mov dword [0x1401360ac], eax
mov word [rbx], r13w
cmp dword [0x140136060], r14d
je 0x1400c36ea
movzx eax, word [rsi]
mov word [rbx], ax
mov eax, 0x800
test word [rsi + 4], ax
je 0x1400c36b5
mov rcx, qword [rbx + 0x60]
mov qword [rbx + 0x78], rcx
call fcn.14003e9f4
cmp rax, r13
jne 0x1400c36af
mov rcx, qword [rbx + 0x78]
call fcn.1400d7af0
mov qword [rbx + 0x60], rax
cmp rax, r13
jne 0x1400c36bd
jmp 0x1400c33ba
mov qword [rbx + 0x60], rax
jmp 0x1400c36bd
mov rcx, rbx
call fcn.1400bfe8c
test word [rsi], r12w
jne 0x1400c36cf
mov rcx, qword [rbx + 0x60]
mov rdx, rcx
call fcn.1400c61b0
cmp dword [0x140136060], r14d
je 0x1400c36ea
mov rax, qword [rsi + 0x18]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x10], rax
jmp 0x1400c372c
mov qword [rbx + 0x88], r13
mov qword [rbx + 0x90], r13
mov qword [rbx + 0x98], r13
mov qword [rsi + 0x88], r13
mov qword [rsi + 0x90], r13
mov qword [rsi + 0x98], r13
movzx eax, word [rbx + 0x2e]
mov word [rsi + 4], ax
mov rax, qword [rbx + 0x18]
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
cmp dword [0x140136060], ebp
jne 0x1400c378d
mov rdi, qword [rsi + 0x60]
or rcx, 0xffffffffffffffff
xor eax, eax
repne scasb al, byte [rdi]
not rcx
sub rcx, r15
mov word [rsi + 0x20], cx
mov word [rbx + 0x20], cx
mov rcx, qword [rbx + 0x60]
call fcn.1400c7040
mov rcx, qword [rsi + 0x60]
call fcn.1400d7af0
mov qword [rbx + 0x60], rax
cmp rax, r13
je 0x1400c33ba
mov rcx, qword [rbx + 0x78]
call fcn.1400c7040
mov rcx, qword [rsi + 0x78]
cmp rcx, r13
jne 0x1400c3784
mov rax, r13
jmp 0x1400c3789
call fcn.1400d7af0
mov qword [rbx + 0x78], rax
mov eax, dword [0x14013610c]
mov dword [rsi + 0x28], eax
mov rax, qword [0x140136150]
mov qword [rsi + 0x30], rax
mov r8d, dword [0x140136060]
cmp r8d, r14d
je 0x1400c37d9
movzx eax, word [rsi + 4]
test r15b, al
jne 0x1400c37d9
mov ecx, 0xfff7
and ax, cx
mov word [rsi + 4], ax
and word [rbx + 0x2e], cx
mov word [rbx + 4], ax
movzx eax, word [rbx + 0x2e]
mov word [rsi + 0x2e], ax
mov r8d, dword [0x140136060]
test byte [rsi + 0x2e], 8
mov edi, r13d
je 0x1400c37f2
mov eax, dword [0x1401360ac]
neg eax
sbb edi, edi
and edi, 8
add edi, 0x10
movzx ecx, word [rbx + 0x22]
movzx eax, word [rbx + 0x20]
lea edx, [rcx + rax + 0x1a]
mov eax, edi
add rdx, rax
mov rax, qword [0x140134c38]
add rdx, qword [rsi + 0x10]
lea rcx, [rax + rdx + 4]
mov qword [0x140134c38], rcx
cmp r8d, r14d
jne 0x1400c3846
mov rcx, qword [rbx + 0x60]
call fcn.1400d7af0
mov qword [rsi + 0x70], rax
cmp rax, r13
je 0x1400c33ba
cmp dword [0x140136060], r14d
jne 0x1400c3846
mov eax, dword [rbx + 0xc]
mov dword [rsi + 0xc], eax
jmp 0x1400c384c
mov eax, dword [rsi + 0xc]
mov dword [rbx + 0xc], eax
xor edx, edx
mov rcx, rbx
call fcn.1400c2368
cmp eax, r13d
je 0x1400c3865
mov eax, 0xa
jmp 0x1400c33bf
cmp dword [0x140136060], r14d
jne 0x1400c387b
test byte [rbx + 0x2e], 8
mov rcx, 0xfffffffffffffffe
jne 0x1400c387f
mov rcx, qword [rbx + 0x10]
call fcn.14003ed58
mov edi, eax
cmp eax, 9
jne 0x1400c38db
cmp word [rbx + 0x22], r13w
je 0x1400c389b
mov rcx, qword [rbx + 0x48]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c38bb
mov rcx, qword [rbx + 0x60]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c38bb
mov rcx, qword [rbx + 0x40]
call fcn.1400c7040
mov rcx, qword [rbx + 0x78]
cmp rcx, r13
je 0x1400c38c9
call fcn.1400c7040
mov rcx, rbx
call fcn.1400c7040
mov ecx, 9
call fcn.1400bd484
cmp edi, r14d
je 0x1400c3af3
cmp dword [0x140136080], r13d
jne 0x1400c3af3
cmp dword [0x140136060], r14d
jne 0x1400c392c
test byte [rsi + 4], 8
je 0x1400c393a
cmp dword [0x140136084], r13d
je 0x1400c3b60
mov eax, dword [0x140136088]
mov dword [rbx + 0xc], eax
mov rax, qword [0x140136090]
mov qword [rbx + 0x10], rax
mov rax, qword [0x140136098]
mov qword [rbx + 0x18], rax
test byte [rsi + 4], 8
je 0x1400c393a
mov rcx, rbx
call fcn.1400c2868
cmp dword [0x140136158], r15d
jne 0x1400c3977
mov ecx, dword [0x140136108]
cmp ecx, dword [0x14013610c]
je 0x1400c3977
mov r8, qword [0x140136138]
mov rdx, qword [0x140136140]
call fcn.14003e610
mov rcx, qword [0x140136138]
mov qword [0x140136140], r13
call fcn.1400c7040
cmp dword [0x140136060], r14d
jne 0x1400c3a79
movzx eax, word [rbx + 2]
mov word [rsi + 2], ax
movzx eax, word [rbx + 6]
mov word [rsi + 6], ax
mov eax, dword [rbx + 8]
mov dword [rsi + 8], eax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 0xc], eax
movzx eax, word [rbx + 0x2e]
mov word [rsi + 0x2e], ax
movzx eax, word [rbx + 0x2e]
mov word [rsi + 4], ax
mov rax, qword [rbx + 0x18]
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
movzx eax, word [rbx + 0x20]
mov word [rsi + 0x20], ax
movzx eax, word [rbx + 0x22]
mov word [rsi + 0x22], ax
mov rax, qword [rbx + 0x48]
mov qword [rsi + 0x48], rax
movzx eax, word [rbx + 0x22]
mov qword [rsi + 0x50], r13
mov word [rsi + 0x24], ax
cmp word [rbx + 0x22], r13w
je 0x1400c3a1e
movzx eax, word [rbx + 0x22]
add eax, r15d
movsxd rcx, eax
call fcn.1400c799c
mov r11, rax
mov qword [rsi + 0x50], rax
cmp rax, r13
je 0x1400c33ba
mov rcx, qword [rbx + 0x48]
mov al, byte [rcx]
add rcx, r15
mov byte [r11], al
add r11, r15
cmp al, r13b
jne 0x1400c3a0e
mov word [rsi + 0x26], r13w
mov word [rsi + 0x2c], r13w
mov dword [rsi + 0x38], r13d
mov rax, qword [rbx + 0x40]
mov qword [rsi + 0x40], rax
mov rax, qword [rbx + 0x60]
mov qword [rsi + 0x60], rax
mov rax, qword [rbx + 0x78]
mov qword [rsi + 0x78], rax
movzx eax, word [rbx + 0x20]
add eax, r15d
movsxd rcx, eax
call fcn.1400c799c
mov r11, rax
mov qword [rsi + 0x68], rax
cmp rax, r13
je 0x1400c33ba
mov rcx, qword [rsi + 0x60]
mov al, byte [rcx]
add rcx, r15
mov byte [r11], al
add r11, r15
cmp al, r13b
jne 0x1400c3a67
jmp 0x1400c3abf
cmp word [rbx + 0x22], r13w
je 0x1400c3a89
mov rcx, qword [rbx + 0x48]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c3aa9
mov rcx, qword [rbx + 0x60]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c3aa9
mov rcx, qword [rbx + 0x40]
call fcn.1400c7040
mov rcx, qword [rbx + 0x78]
cmp rcx, r13
je 0x1400c3ab7
call fcn.1400c7040
mov rcx, rbx
call fcn.1400c7040
cmp dword [0x140136060], r14d
jne 0x1400c3bd6
cmp edi, 0xb
jne 0x1400c3bd6
mov ecx, 0x2ae
call fcn.140076080
mov rcx, qword [0x140134c50]
mov rdx, rax
call fcn.1400b1ef4
jmp 0x1400c3bd6
cmp edi, r13d
cmove edi, ebp
mov ebp, edi
cmp dword [0x140136060], r14d
jne 0x1400c3b60
mov rdx, qword [0x140136148]
mov rcx, qword [0x1401360c8]
xor r8d, r8d
mov dword [0x140136080], r13d
call fcn.1400c9b9c
cmp eax, r13d
je 0x1400c3b4b
mov ecx, 0x205
call fcn.140076080
mov r8, qword [0x140134c50]
xor ecx, ecx
mov rdx, rax
call fcn.1400b1ef4
mov ecx, 0xe
call fcn.1400bd484
mov rax, qword [0x140136148]
mov qword [0x140136150], rax
mov qword [0x140134c38], rax
cmp word [rbx + 0x22], r13w
je 0x1400c3b70
mov rcx, qword [rbx + 0x48]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c3b90
mov rcx, qword [rbx + 0x60]
call fcn.1400c7040
cmp word [rbx + 0x20], r13w
je 0x1400c3b90
mov rcx, qword [rbx + 0x40]
call fcn.1400c7040
mov rcx, qword [rbx + 0x78]
cmp rcx, r13
je 0x1400c3b9e
call fcn.1400c7040
mov rcx, rbx
call fcn.1400c7040
jmp 0x1400c3327
mov rcx, qword [0x1401360d0]
call fcn.1400c975c
neg eax
sbb edi, edi
and edi, 9
add edi, r14d
je 0x1400c3bd6
mov rdx, qword [0x140134c50]
lea rcx, [0x140134b90]
call fcn.140033674
mov eax, edi
jmp 0x1400c33bf