Function at 0x18001d910
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
push rsi
push r13
push r14
sub rsp, 0xe0
mov eax, dword [0x1800ba2c0]
mov r13d, r9d
mov r14, r8
mov r9, rdx
mov rsi, rcx
test al, 1
jne 0x18001d940
or eax, 1
mov dword [0x1800ba2c0], eax
mov qword [rsp + 0x100], rbx
lea edx, [r13 - 0xe]
mov ebx, dword [rsp + 0x118]
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0x60], edx
cmp r13d, edx
jbe case.0x18001d9c7.0
mov r12, qword [rsp + 0x120]
lea ebp, [r13 - 0x80]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x64], ebp
lea r11, [0x1800ba2bd]
lea r10, [0x1800969a7]
lea r8, [0x180000000]
cmp ebp, 0x2b
ja case.0x18001d9c7.12
movzx eax, byte [r8 + rbp + 0x1de80]
mov ecx, dword [r8 + rax*4 + 0x1de4c]
add rcx, r8
jmp rcx
mov eax, dword [r9 + 0x10]
mov r15, r9
mov dword [rsp + 0x68], eax
jmp case.0x18001d9c7.12
test r14, r14
jne 0x18001da42
mov edi, 0x112
cmp edi, 0x112
je 0x18001d9f9
cmp edi, 0x1b9
je 0x18001de44
jmp 0x18001da30
mov ecx, 2
call fcn.180079a6c
mov rcx, rax
lea rdx, str.BuildingBlocksSaveTableOfAuthorities
lea rax, [0x180098c08]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [0x180096847]
mov r8, rax
mov qword [rsp + 0x20], rax
call fcn.18006bd20
add edi, 0xa7
cmp edi, 0x260
jb 0x18001d9e3
mov edx, dword [rsp + 0x60]
cmp dword [r12], 0
jge case.0x18001d9c7.12
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], 0
jne 0x18001da54
mov dword [r12], eax
jmp case.0x18001d9c7.12
mov eax, dword [r12]
mov edx, 4
mov qword [rsp + 0x50], r9
mov rcx, rsi
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x38], 1
lea r8d, [rax + 0xa]
mov qword [rsp + 0x30], r14
lea r9d, [rdx - 3]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r11
call fcn.180035ca0
mov byte [rsp + 0x118], al
mov ebx, dword [rsp + 0x118]
jmp 0x18001de21
mov byte [rsp + 0x118], 0
mov ebx, dword [rsp + 0x118]
jmp case.0x18001d9c7.12
cmp byte [r14], 0
jne 0x18001dc70
mov ebp, 0x12a
nop
mov eax, ebp
sub eax, 0x128
je 0x18001dc45
sub eax, 1
je 0x18001dbd1
cmp eax, 1
jne 0x18001dc4d
mov r9, qword [rsi + 0x70]
mov rax, qword [r9 + 0x40]
test rax, rax
je 0x18001db1e
mov r8d, 1
mov rdx, r14
mov rcx, rsi
call rax
cdqe
jmp 0x18001db32
mov r9, qword [r9 + 0x38]
mov edx, 1
mov r8d, edx
mov rcx, r14
call fcn.180079e64
cmp rax, 1
je 0x18001db61
mov ecx, 0x10b
nop dword [rax]
mov eax, ecx
sub eax, 0x10a
je case.0x18001d9c7.0
cmp eax, 1
jne 0x18001db57
mov dword [rsi + 0x60], 0x66
xor ebx, ebx
dec ecx
cmp ecx, 0x109
ja 0x18001db40
cmp byte [r14], 0
jne 0x18001dc4d
mov ecx, 0x81
mov eax, ecx
sub eax, 0x81
je 0x18001dbbe
sub eax, 1
je 0x18001dbba
cmp eax, 1
jne 0x18001dbc5
mov r15, qword [rsp + 0xc0]
mov eax, ebx
mov rbx, qword [rsp + 0x100]
mov r12, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
pop r14
pop r13
pop rsi
ret
xor ebx, ebx
jmp 0x18001dbc5
mov dword [rsi + 0x60], 0x70
inc ecx
cmp ecx, 0x84
jb 0x18001db70
jmp 0x18001dc4d
mov r9, qword [rsi + 0x70]
lea rdi, [r14 + 1]
mov rax, qword [r9 + 0x40]
test rax, rax
je 0x18001dbf2
movzx r8d, byte [r14]
mov rdx, rdi
mov rcx, rsi
call rax
cdqe
jmp 0x18001dc07
movzx r8d, byte [r14]
mov edx, 1
mov r9, qword [r9 + 0x38]
mov rcx, rdi
call fcn.180079e64
movzx ecx, byte [r14]
cmp rax, rcx
je 0x18001dc3c
mov eax, 0x2e
cmp eax, 0x2e
je 0x18001dc27
cmp eax, 0x3c6
je case.0x18001d9c7.0
jmp 0x18001dc30
mov dword [rsi + 0x60], 0x66
xor ebx, ebx
add eax, 0x398
cmp eax, 0x730
jbe 0x18001dc15
movzx eax, byte [rdi]
mov byte [r12], al
jmp 0x18001dc4d
dec byte [r14]
mov byte [r14 + 1], 2
dec ebp
cmp ebp, 0x127
ja 0x18001dae0
mov ebp, dword [rsp + 0x64]
mov ebx, 1
mov dword [rsp + 0x118], ebx
jmp 0x18001de21
mov edx, 0x37
cmp edx, 0x37
je 0x18001dc87
cmp edx, 0xfb
jne 0x18001dc99
dec byte [r14]
jmp 0x18001dc99
movzx eax, byte [r14 + 1]
movzx ecx, byte [rax + r14]
mov byte [r12], cl
inc byte [r14 + 1]
add edx, 0xc4
cmp edx, 0x1bf
jb 0x18001dc75
mov ebx, 1
mov dword [rsp + 0x118], ebx
jmp 0x18001de21
test rsi, rsi
jne case.0x18001d9c7.12
mov edi, 0x77
nop word [rax + rax]
mov eax, edi
sub eax, 0x76
je 0x18001de44
cmp eax, 1
jne 0x18001dd15
lea ecx, [rax + 1]
call fcn.180079a6c
mov rcx, rax
lea rdx, str._s_line__d:_unsupported_option___s_.
lea rax, str.bson
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [0x180096847]
mov r8, rax
mov qword [rsp + 0x20], rax
call fcn.18006bd20
dec edi
cmp edi, 0x75
ja 0x18001dcd0
jmp 0x18001de21
mov r9d, 0x148
lea rdx, [rsp + 0x70]
mov r8, r12
xor ecx, ecx
call fcn.180025330
test al, al
jne 0x18001de21
mov ecx, 0xae
mov eax, ecx
sub eax, 0xae
je 0x18001dd6d
sub eax, 0x4c
je 0x18001dd5c
cmp eax, 0x4c
je case.0x18001d9c7.0
jmp 0x18001dd74
mov byte [rsp + 0x118], 1
mov ebx, dword [rsp + 0x118]
jmp 0x18001dd74
mov eax, dword [rsi + 0xc]
mov qword [r15 + 8], rax
add ecx, 0x4c
cmp ecx, 0x192
jb 0x18001dd43
jmp 0x18001de21
mov dword [rsi + 4], 0
jmp case.0x18001d9c7.12
mov ecx, dword [r15 + 0x10]
lea eax, [rcx - 3]
test eax, 0xfffffffc
jne 0x18001dde5
cmp ecx, 5
je 0x18001dde5
mov ecx, 0xe3
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xe3
je 0x18001ddc4
cmp eax, 0x70
je case.0x18001d9c7.0
jmp 0x18001ddda
mov eax, dword [rsi + 0xc]
mov byte [rsp + 0x118], 1
mov ebx, dword [rsp + 0x118]
mov qword [r15 + 8], rax
add ecx, 0x70
cmp ecx, 0x1c3
jb 0x18001ddb0
mov eax, dword [rsp + 0x68]
mov dword [r15 + 0x10], eax
jmp case.0x18001d9c7.12
mov byte [0x1800ba2bd], 1
jmp case.0x18001d9c7.12
xor eax, eax
lea r8, [0x180096d70]
cmp dword [r15 + 0x10], eax
lea rcx, [rsp + 0x70]
mov r9d, 0x4c
mov rdx, r15
setne al
inc eax
mov dword [r15 + 0x10], eax
call fcn.180056330
mov edx, dword [rsp + 0x60]
dec ebp
dec r13d
mov dword [rsp + 0x64], ebp
cmp r13d, edx
jbe case.0x18001d9c7.0
mov r9, qword [rsp + 0x108]
jmp 0x18001d995
call fcn.180075408
int3