Function at 0x140018ea0
Capabilities:
Read file on windows

Disassembly:
push rbp
push r14
push r15
lea rbp, [rsp - 0x22c0]
mov eax, 0x23c0
call fcn.14003a960
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x23e0], rbx
mov qword [rsp + 0x23e8], rsi
mov qword [rsp + 0x23f0], rdi
mov qword [rsp + 0x23f8], r12
mov rax, qword [0x140061740]
xor rax, rsp
mov qword [rbp + 0x22b0], rax
mov r8d, 0x12c
lea rdx, [rbp + 0x380]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rbp + 0x380]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140018f15
movsxd rcx, eax
test eax, eax
jle 0x140018f39
cmp byte [rbp + rcx + 0x380], 0x5c
je 0x140018f39
dec eax
dec rcx
test rcx, rcx
jg 0x140018f25
inc eax
movsxd rcx, eax
cmp rcx, 0x12c
jae 0x140019399
mov byte [rbp + rcx + 0x380], 0
lea rcx, [rbp + 0x380]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140018f60
mov rax, qword [str.epools.txt]
mov qword [rcx], rax
movzx eax, word [0x1400577a8]
mov word [rcx + 8], ax
movzx eax, byte [0x1400577aa]
mov byte [rcx + 0xa], al
xor esi, esi
mov qword [rbp + 0x368], rsi
mov dword [rbp + 0x360], esi
mov word [rsp + 0x60], si
lea rax, [rbp + 0x380]
mov qword [rsp + 0x50], rax
mov byte [rbp + 0x370], sil
xor eax, eax
mov dword [rbp + 0x371], eax
mov byte [rbp + 0x375], al
lea rcx, [rbp + 0x370]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], al
jne 0x140018fc7
movzx eax, word [0x14005a880]
mov word [rcx], ax
lea rcx, [rbp + 0x370]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140018fe3
movzx eax, word [0x14005a884]
mov word [rcx], ax
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x380]
call fcn.1400306b8
mov qword [rbp + 0x368], rax
test rax, rax
je 0x140019039
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.1400349ac
mov dword [rbp + 0x360], 1
jmp 0x140019047
call fcn.1400310d4
cmp dword [rax], 0
jne 0x14001937a
mov rdi, qword [rbp + 0x368]
test rdi, rdi
jne 0x140019058
mov rbx, rsi
jmp 0x14001909b
mov rcx, rdi
call fcn.140033678
mov edi, eax
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, qword [rbp + 0x368]
call fcn.1400343b0
mov rcx, qword [rbp + 0x368]
call fcn.140033678
movsxd rbx, eax
xor r8d, r8d
mov edx, edi
mov rcx, qword [rbp + 0x368]
call fcn.1400343b0
mov rdi, qword [rbp + 0x368]
lea eax, [rbx + 1]
movsxd rcx, eax
call fcn.14002edb0
mov r15, rax
test rdi, rdi
je 0x1400190ea
test byte [rbp + 0x360], 1
je 0x1400190ea
movsxd r8, ebx
mov r9, rdi
mov edx, 1
mov rcx, rax
call fcn.140031bd0
cmp eax, ebx
je 0x1400190ea
mov rcx, qword [rbp + 0x368]
call fcn.1400324c8
test eax, eax
jne 0x1400190ea
mov rcx, qword [rbp + 0x368]
call fcn.1400324f0
movsxd r14, ebx
mov byte [r14 + r15], 0
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x14001911b
call fcn.140031884
mov rcx, qword [rbp + 0x368]
call fcn.140030960
mov qword [rbp + 0x368], rsi
mov word [rsp + 0x60], si
mov rax, rsi
test ebx, ebx
js 0x140019371
nop word [rax + rax]
lea edi, [rsi + 1]
lea rbx, [rax + 1]
cmp rbx, r14
jg 0x140019151
nop dword [rax]
cmp byte [rbx + r15], 0x20
jl 0x140019151
inc edi
inc rbx
cmp rbx, r14
jle 0x140019140
mov ecx, edi
sub ecx, esi
mov r12, rbx
sub r12, rax
movsxd r8, ecx
movsxd rdx, esi
add rdx, r15
lea rcx, [rbp + 0xeb0]
call fcn.14002e480
cmp r12, 0x1000
jae 0x14001936b
mov byte [rbp + r12 + 0xeb0], 0
lea rcx, [rbp + 0xeb0]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140019191
test rax, rax
je 0x14001934d
movzx eax, byte [rbp + 0xeb0]
cmp al, 0x3b
je 0x14001934d
cmp al, 0x23
je 0x14001934d
lea rdx, [0x1400573cc]
lea rcx, [rbp + 0xeb0]
call fcn.14002ee68
test rax, rax
je 0x140019207
lea rcx, [rbp + 0xeb0]
call fcn.140017a30
mov rdx, rax
lea r8, [rbp + 0xeb0]
sub r8, rax
nop dword [rax + rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400191f0
mov rcx, rax
call fcn.14002ed70
lea r8, [rbp + 0xab0]
lea rdx, str.POOL:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0xcb0]
lea rdx, str.WALLET:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0x1eb0]
lea rdx, str.PSW:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0x8b0]
lea rdx, str.WORKER:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0x6b0]
lea rdx, str.ESM:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0x4b0]
lea rdx, str.ALLPOOLS:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea r8, [rbp + 0x20b0]
lea rdx, str.ALLCOINS:
lea rcx, [rbp + 0xeb0]
call fcn.140018c10
lea rcx, [rbp + 0x6b0]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400192d0
test rax, rax
jne 0x1400192e3
or esi, 0xffffffff
jmp 0x1400192f1
lea rcx, [rbp + 0x6b0]
call fcn.14002f048
mov esi, eax
lea rax, [rbp + 0x4b0]
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140019300
test rcx, rcx
jne 0x140019313
or eax, 0xffffffff
jmp 0x14001931f
lea rcx, [rbp + 0x4b0]
call fcn.14002f048
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], esi
lea r9, [rbp + 0x8b0]
lea r8, [rbp + 0x1eb0]
lea rdx, [rbp + 0xcb0]
lea rcx, [rbp + 0xab0]
call fcn.140018770
lea esi, [rdi + 1]
lea rax, [rbx + 1]
cmp rax, r14
jg 0x140019371
cmp byte [rax + r15], 0x20
jge 0x140019130
inc esi
inc rax
jmp 0x140019354
call fcn.14002f174
int3
mov rcx, r15
call fcn.14002ed70
nop
mov rcx, qword [rbp + 0x368]
test rcx, rcx
je 0x14001939f
call fcn.140031884
mov rcx, qword [rbp + 0x368]
call fcn.140030960
jmp 0x14001939f
call fcn.14002f174
int3
mov rcx, qword [rbp + 0x22b0]
xor rcx, rsp
call fcn.14002e450
lea r11, [rsp + 0x23c0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret