Function at 0x140085524
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x9f0
mov rax, qword [0x1400e0920]
xor rax, rsp
mov qword [rsp + 0x9e0], rax
xor esi, esi
mov dil, dl
mov bl, cl
lea r13, [0x14010e6bc]
lea r14, [0x140000000]
lea r12d, [rsi + 3]
cmp r8b, sil
je 0x14008558b
cmp word [0x14010a340], si
je 0x140085604
cmp qword [0x140123cf0], rsi
je 0x140085604
mov word [0x14010a340], si
jmp 0x140085604
mov cl, 1
call fcn.140082924
movzx ecx, byte [0x14010bcbe]
cmp dil, sil
movzx eax, dil
mov dword [0x14010bc7c], r12d
mov qword [0x1400ff4b0], rsi
cmovne ecx, eax
mov byte [0x14010bcbe], cl
mov cl, byte [0x1400fec05]
cmp cl, sil
jne 0x1400856fa
mov rdx, qword [0x14010eec0]
lea rcx, [0x140105570]
mov r8b, 1
call fcn.140040774
cmp byte [0x140105d9a], sil
je 0x140085604
mov ecx, dword [0x14010bc78]
mov rax, qword [0x14010eec0]
mov edx, 4
cmp dword [rax + 0x40], 1
cmova ecx, edx
mov dword [0x14010bc78], ecx
mov cl, byte [0x1400fec05]
cmp cl, sil
jne 0x1400856fa
cmp word [0x14010e6bc], si
jne 0x1400856fa
mov ecx, dword [0x14010c654]
mov rdx, r13
mov bl, sil
call fcn.14007fcc8
lea r9, [0x1400c3f4c]
lea r8, [rsp + 0x1e0]
lea rdx, str.DefFolder
lea rcx, [0x1400c4630]
mov dword [rsp + 0x20], 0x400
call fcn.14005c3f4
cmp word [rsp + 0x1e0], si
jne 0x14008568a
cmp byte [0x140105d9a], sil
je 0x1400856db
lea rcx, [rsp + 0x1e0]
mov edx, 0x400
call fcn.140087408
cmp word [rsp + 0x1e0], si
je 0x1400856db
lea rcx, [rsp + 0x1e0]
call fcn.14005254c
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1e0]
repne scasw ax, word [rdi]
xor ecx, ecx
movzx eax, word [r13 + rcx]
add rcx, 2
mov word [rdi + rcx - 4], ax
test ax, ax
jne 0x1400856aa
mov rcx, rsi
movzx eax, word [rsp + rcx + 0x1e0]
add rcx, 2
mov word [rcx + r14 + 0x10e6ba], ax
cmp ax, si
jne 0x1400856c1
cmp word [0x140108b40], si
mov r8d, dword [0x14010c654]
mov rcx, r13
setne dl
call fcn.14007fea4
mov cl, byte [0x1400fec05]
mov eax, dword [0x14010bc78]
mov edx, 5
lea r12, [0x140105fb0]
cmp eax, esi
cmove eax, edx
mov dword [0x14010bc78], eax
cmp cl, sil
je 0x140085809
mov edi, dword [0x1401063c4]
cmp edi, esi
je 0x140085762
cmp edi, 1
je 0x140085762
lea ecx, [rdx + 0x60]
call fcn.140061d2c
mov ecx, 0x1fd
mov rdi, rax
call fcn.140061d2c
mov rcx, qword [0x1400ffd80]
mov r9d, 0x30
mov r8, rdi
mov rdx, rax
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x140085a9a
mov r8d, 0x400
mov rdx, r13
mov rcx, r12
call fcn.1400129d4
lea rdx, [0x14010af48]
mov r8d, 0x400
mov rcx, r12
call fcn.1400129b4
cmp word [0x14010af48], si
je 0x14008579d
lea rcx, [0x14010af48]
call fcn.14005254c
lea rdx, [rsp + 0x40]
mov rcx, r12
mov byte [0x14010bcc2], sil
call fcn.1400129f0
mov edx, dword [rsp + 0xc0]
mov dword [0x14010c654], edx
cmp edi, esi
jne 0x1400857cb
cmp dword [rsp + 0x148], esi
je 0x1400857d8
mov eax, dword [rsp + 0x178]
mov dword [0x14010bc68], eax
cmp qword [rsp + 0x160], rsi
je 0x140085802
mov rcx, rsi
movzx eax, word [rcx + r14 + 0xc42d4]
add rcx, 2
mov word [rcx + r14 + 0x108b3e], ax
cmp ax, si
jne 0x1400857e5
jmp 0x140085809
mov word [0x140108b40], si
mov rcx, qword [0x1400ffd80]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov dl, bl
neg eax
sbb rcx, rcx
xor r8d, r8d
and rcx, qword [0x1400ffd80]
call fcn.14008521c
cmp al, sil
je 0x140085a7b
mov eax, dword [0x140123cfc]
cmp eax, 1
je 0x140085845
cmp eax, 2
jne 0x140085895
mov eax, dword [0x140123d08]
mov r9d, dword [0x140123d04]
mov r8d, dword [0x140123d00]
lea rdx, str._dd_dh_dm
lea rcx, [rsp + 0x190]
mov dword [rsp + 0x20], eax
call fcn.1400a8550
cmp dword [0x140123cfc], 1
lea rdx, [rsp + 0x190]
lea rcx, [0x14010bd18]
je 0x140085890
lea rcx, [0x14010bd3c]
call fcn.14006e3ec
mov rcx, qword [0x140123cf0]
cmp rcx, rsi
je 0x1400858a8
call fcn.14007d3a0
jmp 0x1400858cc
cmp byte [0x1400fec05], sil
je 0x1400858cc
cmp qword [rsp + 0x160], rsi
je 0x1400858cc
cmp word [0x140108b40], 0x2a
jne 0x1400858cc
mov word [0x140108b40], si
mov rax, qword [0x14010eec0]
cmp dword [rax + 0x40], esi
jne 0x14008590d
mov ecx, 0x65
call fcn.140061d2c
mov ecx, 0x14b
mov rdi, rax
call fcn.140061d2c
mov rcx, qword [0x1400ffd80]
mov r9d, 0x30
mov r8, rdi
mov rdx, rax
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x140085a7b
cmp word [0x14010a340], si
je 0x14008599b
cmp dword [0x14010ab40], esi
jne 0x14008599b
lea rdx, [0x1400c378c]
lea rcx, [0x14010a340]
xor r8d, r8d
call fcn.1400319b0
mov rdi, rax
cmp rax, rsi
je 0x14008599b
lea rcx, [rsp + 0x1e0]
mov r9, rax
mov edx, 1
mov r8d, 0x400
call fcn.1400a9fd4
mov dword [rsp + 0x30], 0x30c
cmp rax, rsi
jbe 0x140085993
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x1e0]
mov edx, eax
call qword [sym.imp.ADVAPI32.dll_IsTextUnicode]
mov ecx, dword [0x14010ab40]
cmp eax, esi
mov eax, 3
cmovne ecx, eax
mov dword [0x14010ab40], ecx
mov rcx, rdi
call fcn.1400aa410
cmp word [0x14010b748], si
lea rcx, [0x1400ffda0]
setne byte [0x1400ffdd0]
call fcn.14006b22c
cmp byte [0x140123d0e], sil
je 0x1400859c5
call fcn.1400837b4
jmp 0x1400859d3
mov dl, byte [0x14010d65b]
mov rcx, r12
call fcn.140016b48
cmp qword [0x140123cf0], rsi
je 0x1400859e8
lea rcx, [0x14010a340]
call fcn.1400313a4
cmp dword [0x1400fec18], 1
je 0x140085a7b
cmp byte [0x1400fec05], sil
je 0x140085a0c
lea rcx, [0x140105570]
call fcn.14004475c
jmp 0x140085a7b
cmp byte [0x14010bcbe], sil
je 0x140085a21
lea rcx, [0x140105538]
call fcn.140071624
lea rcx, [rsp + 0x1e0]
mov edx, 0x400
call fcn.140087408
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x1e0]
mov rdx, r13
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x1e0]
call fcn.140073e5c
cmp eax, esi
jne 0x140085a6c
mov rcx, r13
call fcn.140052abc
mov rdx, rax
jmp 0x140085a6f
mov rdx, r13
lea rcx, [0x140105570]
call fcn.140043330
mov rcx, qword [0x140123cf0]
call fcn.1400a9218
lea rcx, [0x1400ffda0]
mov byte [0x1400ffdd0], sil
call fcn.14006b22c
mov rcx, qword [rsp + 0x9e0]
xor rcx, rsp
call fcn.1400a8530
mov rbx, qword [rsp + 0xa30]
add rsp, 0x9f0
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret