Function at 0x14004e608
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov rax, qword [0x1400e5430]
xor rax, rsp
mov qword [rbp + 7], rax
and dword [rbp - 0x79], 0
and qword [rsp + 0x20], 0
mov rdi, rdx
mov r14, r9
mov rsi, r8
mov qword [rbp - 0x71], r8
mov rbx, rcx
lea rdx, [rbp - 0x69]
lea r9, [rbp - 0x79]
mov rcx, rdi
mov r8d, 0x64
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14004e681
and dword [rsi], eax
and dword [r14], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
jmp 0x14004e92f
mov rcx, rbx
call fcn.140080c38
mov r15d, 1
cmp rax, 4
jb 0x14004e6b2
add rax, 0xfffffffffffffffc
lea rdx, str..xml
lea rcx, [rbx + rax*2]
call fcn.140080c54
test eax, eax
jne 0x14004e6b2
mov ebx, r15d
jmp 0x14004e6b4
xor ebx, ebx
mov ecx, dword [rbp - 0x79]
mov edi, 2
mov dword [rsi], r15d
cmp ecx, edi
jb 0x14004e718
lea rdx, [0x1400ba31c]
lea rcx, [rbp - 0x69]
mov r8d, edi
call fcn.140081fb0
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x14004e6ea
mov dword [r14], edi
mov esi, edi
xor r13d, r13d
jmp 0x14004e906
cmp ecx, edi
jb 0x14004e718
lea rdx, [0x1400ba320]
lea rcx, [rbp - 0x69]
mov r8, rdi
call fcn.140081fb0
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x14004e718
lea esi, [rax + 3]
mov r13d, r15d
mov dword [r14], esi
mov esi, edi
jmp 0x14004e906
mov esi, 3
cmp ecx, esi
jb 0x14004e746
lea rdx, [0x1400ba318]
lea rcx, [rbp - 0x69]
mov r8d, esi
call fcn.140081fb0
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x14004e746
mov dword [r14], r15d
xor r13d, r13d
jmp 0x14004e903
xor r13d, r13d
test ebx, ebx
je 0x14004e8fd
xor esi, esi
mov dword [r14], r15d
mov edi, r15d
lea ebx, [rsi + 6]
cmp ecx, ebx
jb 0x14004e906
lea rdx, str.__xml
lea rcx, [rbp - 0x69]
mov r8d, ebx
call fcn.1400831b4
test eax, eax
jne 0x14004e8f8
mov ecx, dword [rbp - 0x79]
cmp ecx, ebx
jbe 0x14004e906
movabs r9, 0x100002600
cmp ebx, ecx
jae 0x14004e906
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x20
ja 0x14004e7b7
movzx eax, byte [rbp + rax - 0x69]
bt r9, rax
jae 0x14004e7b7
add ebx, r15d
cmp ebx, ecx
jb 0x14004e79c
cmp ebx, ecx
jae 0x14004e906
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x3f
je 0x14004e906
mov r8d, ebx
mov eax, ebx
mov dl, byte [rbp + rax - 0x69]
lea eax, [rdx - 0x61]
cmp al, 0x19
jbe 0x14004e7e4
sub dl, 0x41
cmp dl, 0x19
ja 0x14004e7eb
add ebx, r15d
cmp ebx, ecx
jb 0x14004e7cf
mov edx, ebx
sub edx, r8d
je 0x14004e906
cmp ebx, ecx
jae 0x14004e906
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x20
ja 0x14004e819
movzx eax, byte [rbp + rax - 0x69]
bt r9, rax
jae 0x14004e819
add ebx, r15d
cmp ebx, ecx
jb 0x14004e7fe
cmp ebx, ecx
jae 0x14004e906
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x3d
jne 0x14004e906
add ebx, r15d
cmp ebx, ecx
jae 0x14004e906
cmp byte [rbp + rbx - 0x69], 0x20
ja 0x14004e852
movzx eax, byte [rbp + rbx - 0x69]
bt r9, rax
jae 0x14004e852
add ebx, r15d
cmp ebx, ecx
jb 0x14004e839
cmp ebx, ecx
jae 0x14004e906
cmp byte [rbp + rbx - 0x69], 0x22
je 0x14004e86c
cmp byte [rbp + rbx - 0x69], 0x27
jne 0x14004e906
add ebx, r15d
cmp ebx, ecx
jae 0x14004e906
mov r12d, ebx
cmp byte [rbp + rbx - 0x69], 0x22
je 0x14004e88f
cmp byte [rbp + rbx - 0x69], 0x27
je 0x14004e88f
add ebx, r15d
cmp ebx, ecx
jb 0x14004e87a
mov r15d, ebx
sub r15d, r12d
cmp ebx, ecx
jae 0x14004e89b
inc ebx
cmp edx, 8
jne 0x14004e8c7
lea rcx, [rbp - 0x69]
add rcx, r8
mov r8d, edx
lea rdx, str.encoding
call fcn.1400831b4
test eax, eax
je 0x14004e8d3
mov ecx, dword [rbp - 0x79]
movabs r9, 0x100002600
cmp ebx, ecx
jae 0x14004e906
mov r15d, edi
jmp 0x14004e794
mov r8d, 5
cmp r15d, r8d
jne 0x14004e8f5
lea rcx, [rbp - 0x69]
lea rdx, [0x1400ba34c]
add rcx, r12
call fcn.1400831b4
test eax, eax
je 0x14004e8f8
and dword [r14], esi
mov ecx, dword [rbp - 0x79]
jmp 0x14004e906
and dword [r14], 0
xor esi, esi
mov edi, r15d
lea edx, [rsi + r13]
cmp edx, ecx
jae 0x14004e92d
xor r8d, r8d
cmp byte [rbp + rdx - 0x69], r8b
je 0x14004e920
add edx, edi
cmp edx, ecx
jb 0x14004e911
jmp 0x14004e92d
mov rax, qword [rbp - 0x71]
mov esi, r8d
mov dword [rax], r8d
mov dword [r14], r8d
mov eax, esi
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14007e1c0
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret