Function at 0x1400bbe60
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r9, qword [rcx]
mov ebx, 1
mov rsi, rdx
mov rdi, rcx
lea rcx, [rsp + 0x20]
lea edx, [rbx + 5]
mov r8d, ebx
call fcn.1401c1e14
test rax, rax
jne 0x1400bbeb2
lea eax, [rbx + 3]
jmp 0x1400bc036
mov r12d, 4
lea rdx, str.NITF
lea rcx, [rsp + 0x20]
mov r8d, r12d
call fcn.1401c25f0
test eax, eax
je 0x1400bbeda
lea eax, [r12 - 2]
jmp 0x1400bc036
mov ecx, 0x2000
mov qword [rsp + 0x248], r14
call fcn.1401bee78
mov r14, rax
test rax, rax
jne 0x1400bbefc
movzx eax, bx
jmp 0x1400bc02e
mov rcx, qword [rdi]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x240], r15
call fcn.1401c1f88
mov r9, qword [rdi]
mov r8d, 0x11e
mov rdx, rbx
mov rcx, r14
call fcn.1401c1e14
mov rcx, qword [rdi]
mov r15, rax
call fcn.1401c1a94
test eax, eax
jne 0x1400bc834
mov rcx, qword [rdi]
call fcn.1401c1abc
test eax, eax
jne 0x1400bc834
cmp r15d, 0x11e
jl 0x1400bc834
movsxd rbx, r15d
lea r8d, [rax + 6]
lea rdx, str.999998
add rbx, r14
mov qword [rsp + 0x290], r13
lea r13d, [rax + 0x4a]
lea rcx, [rbx - 6]
call fcn.1401c25f0
mov r9, qword [rdi]
mov ecx, 0x72
test eax, eax
lea edx, [rcx - 0x71]
cmove r13d, ecx
mov rcx, rbx
movsxd r8, r13d
call fcn.1401c1e14
mov rcx, qword [rdi]
mov rbx, rax
add r15d, eax
call fcn.1401c1a94
test eax, eax
jne 0x1400bc822
mov rcx, qword [rdi]
call fcn.1401c1abc
test eax, eax
jne 0x1400bc822
cmp ebx, r13d
jl 0x1400bc822
movsxd r13, r15d
lea rcx, [rsp + 0x30]
mov eax, dword [r13 + r14 - 6]
mov dword [rsp + 0x30], eax
movzx eax, word [r13 + r14 - 2]
mov byte [rsp + 0x36], 0
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov dword [rsi + 0x184], eax
cmp eax, r15d
jl 0x1400bc822
cmp eax, 0x2000
jle 0x1400bc053
add eax, 0x1000
mov rcx, r14
movsxd rdx, eax
call fcn.1401bef30
mov r14, rax
test rax, rax
jne 0x1400bc053
lea eax, [r14 + 1]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x240]
mov r14, qword [rsp + 0x248]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x250
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ebx, dword [rsi + 0x184]
mov r9, qword [rdi]
lea rcx, [r14 + r13]
sub ebx, r15d
mov edx, 1
movsxd r8, ebx
call fcn.1401c1e14
mov rcx, qword [rdi]
mov r15, rax
call fcn.1401c1a94
test eax, eax
jne 0x1400bc822
mov rcx, qword [rdi]
call fcn.1401c1abc
test eax, eax
jne 0x1400bc822
cmp r15d, ebx
jl 0x1400bc822
movsd xmm0, qword [r14]
lea rdx, str.NITF
mov r8, r12
movsd qword [rsi], xmm0
movzx eax, byte [r14 + 8]
mov rcx, rsi
mov byte [rsi + 8], al
lea rbx, [r14 + 9]
call fcn.1401c25f0
test eax, eax
jne 0x1400bc822
movzx eax, word [rbx]
lea rcx, [rsi + 0x118]
lea rdx, str.999998
mov word [rsi + 9], ax
mov eax, dword [rbx + 2]
mov r8d, 6
mov dword [rsi + 0xb], eax
add rbx, 0x115
movsd xmm0, qword [rbx - 0x10f]
movsd qword [rsi + 0xf], xmm0
movzx eax, word [rbx - 0x107]
mov word [rsi + 0x17], ax
movsd xmm0, qword [rbx - 0x105]
movsd qword [rsi + 0x19], xmm0
mov eax, dword [rbx - 0xfd]
mov dword [rsi + 0x21], eax
movzx eax, word [rbx - 0xf9]
mov word [rsi + 0x25], ax
movups xmm0, xmmword [rbx - 0xf7]
movups xmmword [rsi + 0x27], xmm0
movups xmm1, xmmword [rbx - 0xe7]
movups xmmword [rsi + 0x37], xmm1
movups xmm0, xmmword [rbx - 0xd7]
movups xmmword [rsi + 0x47], xmm0
movups xmm1, xmmword [rbx - 0xc7]
movups xmmword [rsi + 0x57], xmm1
movups xmm0, xmmword [rbx - 0xb7]
movups xmmword [rsi + 0x67], xmm0
movzx eax, byte [rbx - 0xa7]
mov byte [rsi + 0x77], al
movups xmm0, xmmword [rbx - 0xa6]
movups xmmword [rsi + 0x78], xmm0
movups xmm1, xmmword [rbx - 0x96]
movups xmmword [rsi + 0x88], xmm1
movsd xmm0, qword [rbx - 0x86]
movsd qword [rsi + 0x98], xmm0
movups xmm0, xmmword [rbx - 0x7e]
movups xmmword [rsi + 0xa0], xmm0
movups xmm1, xmmword [rbx - 0x6e]
movups xmmword [rsi + 0xb0], xmm1
movsd xmm0, qword [rbx - 0x5e]
movsd qword [rsi + 0xc0], xmm0
movups xmm0, xmmword [rbx - 0x56]
movups xmmword [rsi + 0xc8], xmm0
movups xmm1, xmmword [rbx - 0x46]
movups xmmword [rsi + 0xd8], xmm1
movsd xmm0, qword [rbx - 0x36]
movsd qword [rsi + 0xe8], xmm0
movups xmm0, xmmword [rbx - 0x2e]
movups xmmword [rsi + 0xf0], xmm0
mov eax, dword [rbx - 0x1e]
mov dword [rsi + 0x100], eax
movups xmm0, xmmword [rbx - 0x1a]
movups xmmword [rsi + 0x104], xmm0
mov eax, dword [rbx - 0xa]
mov dword [rsi + 0x114], eax
mov eax, dword [rbx - 6]
mov dword [rcx], eax
movzx eax, word [rbx - 2]
mov word [rcx + 4], ax
call fcn.1401c25f0
test eax, eax
jne 0x1400bc240
movups xmm0, xmmword [rbx]
add rbx, 0x28
movups xmmword [rsi + 0x11e], xmm0
movups xmm1, xmmword [rbx - 0x18]
movups xmmword [rsi + 0x12e], xmm1
movsd xmm0, qword [rbx - 8]
movsd qword [rsi + 0x13e], xmm0
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 4]
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x34], al
call fcn.1401bee6c
lea rcx, [rsp + 0x30]
mov dword [rsi + 0x148], eax
mov eax, dword [rbx + 5]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 9]
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x34], al
call fcn.1401bee6c
lea rcx, [rsp + 0x30]
mov dword [rsi + 0x14c], eax
movzx eax, byte [rbx + 0xa]
mov byte [rsi + 0x150], al
movups xmm0, xmmword [rbx + 0xb]
movups xmmword [rsi + 0x151], xmm0
movsd xmm1, qword [rbx + 0x1b]
movsd qword [rsi + 0x161], xmm1
movzx eax, word [rbx + 0x23]
mov word [rsi + 0x169], ax
movzx eax, byte [rbx + 0x25]
mov byte [rsi + 0x16b], al
movups xmm0, xmmword [rbx + 0x26]
movups xmmword [rsi + 0x16c], xmm0
movzx eax, word [rbx + 0x36]
mov word [rsi + 0x17c], ax
movsd xmm0, qword [rbx + 0x38]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rbx + 0x40]
mov byte [rsp + 0x3c], 0
mov dword [rsp + 0x38], eax
call fcn.1401bee6c
lea rcx, [rsp + 0x30]
mov dword [rsi + 0x180], eax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 0x48]
mov byte [rsp + 0x36], 0
mov word [rsp + 0x34], ax
call fcn.1401bee6c
lea rcx, [rsp + 0x30]
mov dword [rsi + 0x184], eax
movzx eax, word [rbx + 0x4a]
add rbx, 0x4d
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x32], al
call fcn.1401bee6c
mov edx, 0x260
movsxd rdi, eax
mov rcx, rdi
mov dword [rsi + 0x188], edi
call fcn.1401be1f8
xor r12d, r12d
mov qword [rsi + 0x190], rax
mov r15d, r12d
test edi, edi
jle 0x1400bc3dd
mov edi, r12d
nop
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x190]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x190]
mov dword [rcx + rdi + 4], eax
inc r15d
lea rdi, [rdi + 0x260]
cmp r15d, dword [rsi + 0x188]
jl 0x1400bc370
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
movsxd rdi, eax
mov dword [rsi + 0x198], edi
test eax, eax
je 0x1400bc49a
lea rcx, [rdi + rdi*2]
shl rcx, 3
call fcn.1401bee78
mov r15d, r12d
mov qword [rsi + 0x1a0], rax
test edi, edi
jle 0x1400bc49a
mov rdi, r12
nop
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1a0]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1a0]
mov dword [rdi + rcx + 4], eax
inc r15d
lea rdi, [rdi + 0x18]
cmp r15d, dword [rsi + 0x198]
jl 0x1400bc430
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
movsxd rdi, eax
mov dword [rsi + 0x1a8], edi
test eax, eax
je 0x1400bc55a
lea rcx, [rdi + rdi*2]
shl rcx, 3
call fcn.1401bee78
mov r15d, r12d
mov qword [rsi + 0x1b0], rax
test edi, edi
jle 0x1400bc55a
mov rdi, r12
nop dword [rax]
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1b0]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1b0]
mov dword [rdi + rcx + 4], eax
inc r15d
lea rdi, [rdi + 0x18]
cmp r15d, dword [rsi + 0x1a8]
jl 0x1400bc4f0
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
movsxd rdi, eax
mov dword [rsi + 0x1b8], edi
test eax, eax
je 0x1400bc61a
lea rcx, [rdi + rdi*2]
shl rcx, 3
call fcn.1401bee78
mov r15d, r12d
mov qword [rsi + 0x1c0], rax
test edi, edi
jle 0x1400bc61a
mov rdi, r12
nop dword [rax]
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1c0]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1c0]
mov dword [rdi + rcx + 4], eax
inc r15d
lea rdi, [rdi + 0x18]
cmp r15d, dword [rsi + 0x1b8]
jl 0x1400bc5b0
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
movsxd rdi, eax
mov dword [rsi + 0x1c8], edi
test eax, eax
je 0x1400bc6da
lea rcx, [rdi + rdi*2]
shl rcx, 3
call fcn.1401bee78
mov r15d, r12d
mov qword [rsi + 0x1d0], rax
test edi, edi
jle 0x1400bc6da
mov rdi, r12
nop dword [rax]
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1d0]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1d0]
mov dword [rdi + rcx + 4], eax
inc r15d
lea rdi, [rdi + 0x18]
cmp r15d, dword [rsi + 0x1c8]
jl 0x1400bc670
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
movsxd rdi, eax
mov dword [rsi + 0x1d8], edi
test eax, eax
je 0x1400bc79a
lea rcx, [rdi + rdi*2]
shl rcx, 3
call fcn.1401bee78
mov r15d, r12d
mov qword [rsi + 0x1e0], rax
test edi, edi
jle 0x1400bc79a
mov rdi, r12
nop dword [rax]
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 4]
mov byte [rsp + 0x36], r12b
mov word [rsp + 0x34], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1e0]
mov dword [rdi + rcx], eax
lea rcx, [rsp + 0x30]
add rbx, 0x10
movsd xmm0, qword [rbx - 0xa]
movsd qword [rsp + 0x30], xmm0
movzx eax, word [rbx - 2]
mov byte [rsp + 0x3a], r12b
mov word [rsp + 0x38], ax
call fcn.1401bee6c
mov rcx, qword [rsi + 0x1e0]
mov dword [rdi + rcx + 4], eax
inc r15d
lea rdi, [rdi + 0x18]
cmp r15d, dword [rsi + 0x1d8]
jl 0x1400bc730
mov eax, dword [rbx]
lea rcx, [rsp + 0x30]
add rbx, 5
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x35], r12b
mov byte [rsp + 0x34], al
call fcn.1401bee6c
mov dword [rsi + 0x1e8], eax
test eax, eax
je 0x1400bc7ee
movzx eax, word [rbx]
lea rcx, [rsp + 0x30]
add rbx, 3
mov word [rsp + 0x30], ax
movzx eax, byte [rbx - 1]
mov byte [rsp + 0x33], r12b
mov byte [rsp + 0x32], al
call fcn.1401bee6c
mov dword [rsi + 0x1ec], eax
mov ecx, dword [rbx]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rbx + 4]
mov byte [rsp + 0x35], r12b
mov byte [rsp + 0x34], cl
lea rcx, [rsp + 0x30]
call fcn.1401bee6c
mov rcx, r14
mov dword [rsi + 0x1f8], eax
call fcn.1401be23c
movzx eax, r12w
jmp 0x1400bc01e
mov rcx, r14
call fcn.1401be23c
mov eax, 2
jmp 0x1400bc01e
mov rcx, r14
call fcn.1401be23c
mov eax, 2
jmp 0x1400bc026