Function at 0x1800148c0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push r13
push r14
push r15
lea rbp, [rsp - 0x1d8]
sub rsp, 0x2d8
mov eax, dword [0x180070984]
mov r15, r9
mov r14, r8
mov r13d, ecx
test al, 1
jne 0x1800148fc
or eax, 1
mov dword [0x180070984], eax
mov qword [rsp + 0x310], rbx
lea edx, [rcx - 7]
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2c8], rdi
mov dword [rbp + 0x200], edx
movzx ebx, byte [rbp + 0x200]
mov qword [rsp + 0x2c0], r12
cmp ecx, edx
jbe case.0x18001496d.7
mov rsi, qword [rsp + 0x58]
lea edx, [rcx - 0x77]
mov r12d, dword [rbp + 0x200]
mov eax, dword [rbp + 0x200]
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x30], edx
lea r8, [0x180000000]
cmp edx, 0x10
ja case.default.0x18001496d
mov ecx, dword [r8 + rdx*4 + 0x14f98]
add rcx, r8
jmp rcx
mov rax, qword [0x1800707f8]
cmp qword [0x1800707f0], rax
jne 0x18001499a
mov r9d, 0x89
lea rdx, [0x1800707f0]
xor r8d, r8d
xor ecx, ecx
call fcn.18000ce10
mov edx, dword [rsp + 0x30]
mov rdi, qword [0x1800707f0]
mov r15, qword [0x1800707f8]
mov rax, qword [sym.imp.WINMM.dll_PlaySoundW]
mov qword [rsp + 0x40], rax
cmp rdi, r15
je 0x1800149ed
nop dword [rax]
mov rdx, qword [rbp + 0x220]
mov r9, r14
mov r8d, 0x11
mov rcx, rdi
call fcn.180023fd0
test al, al
jne 0x180014f57
add rdi, 0x28
cmp rdi, r15
jne 0x1800149c0
mov edx, dword [rsp + 0x30]
mov r15, qword [rbp + 0x218]
mov rdi, qword [rsp + 0x40]
mov eax, dword [rbp + 0x200]
dec edx
dec r13d
mov dword [rsp + 0x30], edx
cmp r13d, eax
ja 0x180014952
movzx eax, bl
mov r12, qword [rsp + 0x2c0]
mov rdi, qword [rsp + 0x2c8]
mov rsi, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x310]
add rsp, 0x2d8
pop r15
pop r14
pop r13
pop rbp
ret
mov qword [0x180070938], 0x4000
xor esi, esi
mov qword [0x180070988], 0
mov qword [0x180070840], 0
jmp case.0x18001496d.3
mov r8, rdi
lea rdx, str.PlaySound__p_n
lea rcx, [rbp - 0x40]
call fcn.180001120
xor bl, bl
mov edx, dword [rsp + 0x30]
jmp case.0x18001496d.3
test r12d, r12d
jne 0x180014aa6
mov rcx, qword [0x180070840]
add rcx, rsi
cmp qword [rsp + 0x78], rcx
je case.0x18001496d.3
mov r12d, 0x100
mov rcx, qword [rbp + 0x220]
lea r8, [rsp + 0x60]
mov edx, 0xe4
mov dword [rsp + 0x60], r12d
call fcn.180002160
mov edx, dword [rsp + 0x30]
jmp case.0x18001496d.3
cmp qword [0x180070988], rsi
mov r12, qword [rbp + 0x220]
jne 0x180014b1b
mov rax, qword [0x180070988]
lea r9, [rsp + 0x58]
add rax, qword [0x180070938]
mov r8d, 0xb2
mov rdx, qword [0x180070840]
mov rcx, r12
mov qword [0x180070988], rax
mov qword [rsp + 0x58], rax
call fcn.18000b440
mov qword [0x180070840], rax
mov r8, qword [0x180070988]
mov r9, r14
mov rcx, qword [0x180070840]
sub r8, rsi
add rcx, rsi
mov edx, 1
call fcn.18003adc8
add rsi, rax
test rax, rax
jne 0x180014b54
mov rcx, r14
call fcn.1800362f8
test eax, eax
jne 0x180014f5e
mov rcx, r14
call fcn.1800362cc
test eax, eax
je case.0x18001496d.1
mov r9, qword [0x180070840]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x20], 0x2c
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x40], rsi
call fcn.1800222b0
mov r12d, eax
test eax, eax
jne 0x180014a7d
lea ecx, [r12 + 1]
mov rax, qword [rbp + 0x208]
mov eax, dword [rax]
cmp byte [r15], r12b
je 0x180014bdd
mov dword [rsp + 0x50], eax
call fcn.180036520
mov r9, rax
lea r8, [rsp + 0x50]
mov edx, 0x11d
lea rcx, [rsp + 0x70]
call fcn.18001cb00
jmp 0x180014c05
mov dword [rsp + 0x38], eax
call fcn.180036520
lea rcx, [rsp + 0x38]
mov r9d, 0xfb
mov qword [rsp + 0x20], rcx
mov r8, rax
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.18001a720
mov r12d, eax
test eax, eax
jne 0x180014a7d
lea rcx, [0x180064268]
call fcn.180039ff0
mov edx, dword [rsp + 0x30]
jmp case.0x18001496d.3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11d
mov rcx, r14
call fcn.18001a270
test al, al
jne 0x180014f50
mov rdi, qword [rbp + 0x220]
lea r15, str.Array_
lea rsi, str.true
lea r12, [0x180000000]
nop dword [rax]
mov rdx, r14
mov ecx, 0x40
call fcn.18000a980
xor r9d, r9d
lea r8, [rsp + 0x38]
mov ebx, eax
xor ecx, ecx
mov eax, dword [rdi]
mov dword [rsp + 0x38], eax
lea edx, [r9 + 0x1f]
call fcn.180014510
cmp ebx, 0x40
jg 0x180014d05
je 0x180014cac
test ebx, ebx
jne case.0x180014d29.104
lea r8, [rsp + 0x68]
mov rcx, r14
lea edx, [rbx + 0x5d]
call fcn.18001ee80
jmp case.0x180014d29.104
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r14
mov r8d, 0xc0
lea rcx, [rsp + 0x58]
mov rdx, r14
call fcn.18001c9d0
test eax, eax
jne 0x180014f57
mov rax, qword [rsp + 0x58]
lea r9, [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
call fcn.18000b5f0
lea rcx, [0x180064268]
call fcn.180039ff0
mov rcx, qword [rsp + 0x40]
call fcn.18003a610
jmp 0x180014f35
lea eax, [rbx - 0x60]
cmp eax, 0x9f
ja case.0x180014d29.104
cdqe
movzx eax, byte [r12 + rax + 0x15004]
mov ecx, dword [r12 + rax*4 + 0x14fdc]
add rcx, r12
jmp rcx
cmp ebx, 0x80
lea rcx, str.Map_
cmove rcx, r15
call fcn.180039ff0
mov r9d, 0x35
lea rcx, [rbp - 0x70]
mov rdx, r14
call fcn.180019710
test eax, eax
jne 0x180014f57
mov eax, dword [rdi]
lea r8, [rbp - 0x70]
inc eax
xor r9d, r9d
mov dword [rsp + 0x38], eax
xor edx, edx
lea rax, [rsp + 0x38]
mov ecx, 0x87
mov qword [rsp + 0x20], rax
call fcn.1800148c0
test al, al
jne 0x180014f57
mov r8, r14
lea rcx, [rbp - 0x70]
mov edx, 0x4e
call fcn.1800022f0
test eax, eax
jne 0x180014f57
mov eax, dword [rdi]
lea r8, [rsp + 0x38]
xor r9d, r9d
mov dword [rsp + 0x38], eax
xor ecx, ecx
lea edx, [r9 + 0x1f]
call fcn.180014510
lea rcx, [0x1800642dc]
call fcn.180039ff0
jmp 0x180014f35
lea rax, [rsp + 0x50]
mov r9, r14
lea r8, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov edx, 0x9c
mov rcx, r14
call fcn.180014350
test eax, eax
jne 0x180014f57
mov rcx, qword [rsp + 0x50]
call fcn.180039ff0
mov rcx, qword [rsp + 0x50]
call fcn.18003a610
jmp 0x180014f35
mov ebx, 0x13
cmp ebx, 0x13
je 0x180014e23
cmp ebx, 0xc0
je case.0x180014d29.104
jmp 0x180014e34
lea r8, [rbp - 0x78]
mov rdx, r14
mov ecx, 0x12a
call fcn.180019160
add ebx, 0xad
cmp ebx, 0x16d
jb 0x180014e10
mov eax, 0x5c
cmp eax, 0x5c
je 0x180014e69
add eax, 0x3ee4
cmp eax, 0x3ee4
jbe 0x180014e47
lea rcx, str.null
call fcn.180039ff0
jmp case.0x180014d29.104
mov r9d, 0xdf
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x48]
mov rdx, r14
xor ecx, ecx
call fcn.180003250
jmp case.0x180014d29.104
lea rcx, str.undefined
call fcn.180039ff0
jmp case.0x180014d29.104
mov ebx, 0x27
cmp ebx, 0x27
je 0x180014eb1
cmp ebx, 0x297
je case.0x180014d29.104
jmp 0x180014edc
mov r8, r14
lea rcx, [rbp + 0x200]
mov edx, 0xdd
call fcn.180002160
cmp byte [rbp + 0x200], 0
lea rcx, str.false
cmovne rcx, rsi
call fcn.180039ff0
add ebx, 0x270
cmp ebx, 0x4e0
jbe 0x180014ea2
mov ebx, 0x4c
nop
cmp ebx, 0x4c
je 0x180014eff
cmp ebx, 0x112
je case.0x180014d29.104
jmp 0x180014f11
mov r8, r14
lea rcx, [rsp + 0x30]
mov edx, 0x73
call fcn.1800151e0
add ebx, 0xc6
cmp ebx, 0x1d8
jb 0x180014ef0
mov r9, r14
xor r8d, r8d
mov edx, 0xe6
xor ecx, ecx
call fcn.18001cf70
test eax, eax
jne 0x180014f57
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11d
mov rcx, r14
call fcn.18001a270
test al, al
je 0x180014c60
xor al, al
jmp 0x180014a14
mov al, 1
jmp 0x180014a14
call fcn.18003a36c
mov ecx, dword [rax]
call fcn.18003ae90
mov ecx, 2
mov rbx, rax
call fcn.180036520
mov rcx, rax
lea rdx, str._s:__s_n
mov r9, rbx
mov r8, r12
call fcn.1800010d0
mov ecx, 1
call fcn.1800360a4
int3