Function at 0x140103ebc
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 [0x14017da30]
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 0x140103f35
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 0x1401041e8
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_wcslen]
mov r15d, 1
cmp rax, 4
jb 0x140103f68
add rax, 0xfffffffffffffffc
lea rdx, str..xml
lea rcx, [rbx + rax*2]
call qword [sym.imp.MSVCR120.dll__wcsicmp]
test eax, eax
jne 0x140103f68
mov ebx, r15d
jmp 0x140103f6a
xor ebx, ebx
mov ecx, dword [rbp - 0x79]
mov edi, 2
mov dword [rsi], r15d
cmp ecx, edi
jb 0x140103fce
lea rdx, [0x14013c56c]
lea rcx, [rbp - 0x69]
mov r8d, edi
call sub.MSVCR120.dll_memcmp
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x140103fa0
mov dword [r14], edi
mov esi, edi
xor r13d, r13d
jmp 0x1401041bf
cmp ecx, edi
jb 0x140103fce
lea rdx, [0x14013c570]
lea rcx, [rbp - 0x69]
mov r8, rdi
call sub.MSVCR120.dll_memcmp
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x140103fce
lea esi, [rax + 3]
mov r13d, r15d
mov dword [r14], esi
mov esi, edi
jmp 0x1401041bf
mov esi, 3
cmp ecx, esi
jb 0x140103ffc
lea rdx, [0x14013c568]
lea rcx, [rbp - 0x69]
mov r8d, esi
call sub.MSVCR120.dll_memcmp
mov ecx, dword [rbp - 0x79]
test eax, eax
jne 0x140103ffc
mov dword [r14], r15d
xor r13d, r13d
jmp 0x1401041bc
xor r13d, r13d
test ebx, ebx
je 0x1401041b6
xor esi, esi
mov dword [r14], r15d
mov edi, r15d
lea ebx, [rsi + 6]
cmp ecx, ebx
jb 0x1401041bf
lea rdx, str.__xml
lea rcx, [rbp - 0x69]
mov r8d, ebx
call qword [sym.imp.MSVCR120.dll__memicmp]
test eax, eax
jne 0x1401041b1
mov ecx, dword [rbp - 0x79]
cmp ecx, ebx
jbe 0x1401041bf
movabs r9, 0x100002600
cmp ebx, ecx
jae 0x1401041bf
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x20
ja 0x14010406e
movzx eax, byte [rbp + rax - 0x69]
bt r9, rax
jae 0x14010406e
add ebx, r15d
cmp ebx, ecx
jb 0x140104053
cmp ebx, ecx
jae 0x1401041bf
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x3f
je 0x1401041bf
mov r8d, ebx
mov eax, ebx
mov dl, byte [rbp + rax - 0x69]
lea eax, [rdx - 0x61]
cmp al, 0x19
jbe 0x14010409b
sub dl, 0x41
cmp dl, 0x19
ja 0x1401040a2
add ebx, r15d
cmp ebx, ecx
jb 0x140104086
mov edx, ebx
sub edx, r8d
je 0x1401041bf
cmp ebx, ecx
jae 0x1401041bf
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x20
ja 0x1401040d0
movzx eax, byte [rbp + rax - 0x69]
bt r9, rax
jae 0x1401040d0
add ebx, r15d
cmp ebx, ecx
jb 0x1401040b5
cmp ebx, ecx
jae 0x1401041bf
mov eax, ebx
cmp byte [rbp + rax - 0x69], 0x3d
jne 0x1401041bf
add ebx, r15d
cmp ebx, ecx
jae 0x1401041bf
cmp byte [rbp + rbx - 0x69], 0x20
ja 0x140104109
movzx eax, byte [rbp + rbx - 0x69]
bt r9, rax
jae 0x140104109
add ebx, r15d
cmp ebx, ecx
jb 0x1401040f0
cmp ebx, ecx
jae 0x1401041bf
cmp byte [rbp + rbx - 0x69], 0x22
je 0x140104123
cmp byte [rbp + rbx - 0x69], 0x27
jne 0x1401041bf
add ebx, r15d
cmp ebx, ecx
jae 0x1401041bf
mov r12d, ebx
cmp byte [rbp + rbx - 0x69], 0x22
je 0x140104146
cmp byte [rbp + rbx - 0x69], 0x27
je 0x140104146
add ebx, r15d
cmp ebx, ecx
jb 0x140104131
mov r15d, ebx
sub r15d, r12d
cmp ebx, ecx
jae 0x140104152
inc ebx
cmp edx, 8
jne 0x14010417f
lea rcx, [rbp - 0x69]
add rcx, r8
mov r8d, edx
lea rdx, str.encoding
call qword [sym.imp.MSVCR120.dll__memicmp]
test eax, eax
je 0x14010418b
mov ecx, dword [rbp - 0x79]
movabs r9, 0x100002600
cmp ebx, ecx
jae 0x1401041bf
mov r15d, edi
jmp 0x14010404b
mov r8d, 5
cmp r15d, r8d
jne 0x1401041ae
lea rcx, [rbp - 0x69]
lea rdx, str.UTF_8
add rcx, r12
call qword [sym.imp.MSVCR120.dll__memicmp]
test eax, eax
je 0x1401041b1
and dword [r14], esi
mov ecx, dword [rbp - 0x79]
jmp 0x1401041bf
and dword [r14], 0
xor esi, esi
mov edi, r15d
lea edx, [rsi + r13]
cmp edx, ecx
jae 0x1401041e6
xor r8d, r8d
cmp byte [rbp + rdx - 0x69], r8b
je 0x1401041d9
add edx, edi
cmp edx, ecx
jb 0x1401041ca
jmp 0x1401041e6
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.14010a480
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret