Function at 0x180004e40
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov edx, dword [rbp + 0x60]
lea r15d, [r8 + 0xc]
xor r10d, r10d
mov dword [rbp + 0x60], edx
mov r14d, r8d
mov r12, r9
mov r9, qword [rbp + 0x58]
mov r13, rcx
mov qword [rsp + 0x60], r9
lea r8, [0x180000000]
lea esi, [r10 - 1]
cmp r14d, r15d
jae 0x180005150
mov eax, dword [rbp + 0x60]
lea edi, [r14 - 0xd8]
mov dword [rbp + 0x58], eax
lea ebx, [rsi + 0x78]
cmp edi, 0x27
ja case.0x180004ec1.12
movzx eax, byte [r8 + rdi + 0x5410]
mov ecx, dword [r8 + rax*4 + 0x53dc]
add rcx, r8
jmp rcx
mov ecx, dword [rbp - 0x40]
call fcn.18006717c
mov edx, dword [rbp + 0x60]
lea r8, [0x180000000]
mov r9, rax
mov qword [rsp + 0x60], rax
xor r10d, r10d
jmp 0x1800050d4
movzx eax, word [0x18008f598]
mov word [rbp - 0x80], ax
movzx eax, byte [0x18008f59a]
mov byte [rbp - 0x7e], al
mov byte [rbp - 0x7d], 0
jmp case.0x180004ec1.12
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r12 + 0x10]
shr rcx, 1
cmp rcx, rdx
ja 0x180004f2e
mov qword [r12 + 0x10], rcx
mov rax, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180004f28
mov rax, qword [r12]
mov byte [rax + rcx], 0
jmp 0x180004f85
mov r8, qword [r12 + 0x18]
mov rsi, rcx
mov rax, r8
sub rsi, rdx
sub rax, rdx
cmp rsi, rax
ja 0x180004f6d
mov qword [r12 + 0x10], rcx
mov rax, r12
cmp r8, 0x10
jb 0x180004f56
mov rax, qword [r12]
lea rbx, [rax + rdx]
mov r8, rsi
mov rcx, rbx
xor edx, edx
call fcn.18005e640
mov byte [rbx + rsi], 0
jmp 0x180004f80
mov r9, rsi
mov byte [rsp + 0x20], 0
mov rdx, rsi
mov rcx, r12
call fcn.180053100
mov esi, 0xffffffff
cmp qword [r13 + 0x18], 0x10
mov rbx, r13
jb 0x180004f93
mov rbx, qword [r13]
xor edx, edx
mov rcx, r12
call fcn.1800510e0
mov rcx, rax
mov qword [rsp + 0x28], rbx
mov rax, qword [r13 + 0x10]
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov ecx, 0xf5
mov qword [rbp - 0x50], rax
xor r8d, r8d
call fcn.18002cec0
mov ebx, 0x77
jmp 0x1800050c2
xor r9d, r9d
mov dword [rsp + 0x28], r10d
lea rax, [rsp + 0x70]
mov edx, 0x8000
mov rcx, r12
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x40]
call fcn.180065f1c
mov edx, dword [rsp + 0x70]
test eax, eax
cmovne edx, esi
mov dword [rbp + 0x60], edx
jmp 0x1800050c5
xor r9d, r9d
mov dword [rsp + 0x28], r10d
lea rax, [rsp + 0x78]
mov edx, 0x8000
mov rcx, r13
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x40]
call fcn.180065f1c
mov ebx, dword [rsp + 0x78]
test eax, eax
cmovne ebx, esi
mov dword [rbp + 0x58], ebx
test ebx, ebx
js 0x180005046
lea rdx, [rbp - 0x28]
mov ecx, ebx
call fcn.180067088
test eax, eax
je 0x180004fc6
mov eax, 6
jmp 0x1800053b2
mov eax, dword [rbp - 0x40]
cmp dword [rbp - 0x14], eax
je case.0x180004ec1.12
mov eax, 8
jmp 0x1800053b2
mov dword [rbp - 0x7d], 0x6b636f73
jmp case.0x180004ec1.12
mov byte [rbp - 0x79], 0x6f
jmp case.0x180004ec1.12
mov r8d, 2
mov byte [rbp - 0x78], 0
lea rdx, [0x18008f5be]
lea rcx, [rbp - 0x78]
call fcn.1800650e0
mov byte [rbp - 0x76], 0
mov word [rbp - 0x68], bx
jmp 0x1800050c2
test edx, edx
js 0x180005046
jmp case.0x180004ec1.12
mov dword [rsp + 0x68], edx
lea r8, [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x20], r10
mov r9d, 0x10d
lea rcx, [rbp - 0x48]
call fcn.180018450
test eax, eax
jne 0x1800053b2
mov edx, dword [rbp + 0x60]
xor r10d, r10d
lea r8, [0x180000000]
mov r9, qword [rsp + 0x60]
inc edi
lea eax, [rdi + 0xd8]
cmp eax, r15d
jb 0x180004ea4
mov r15d, dword [rbp + 0x58]
lea edi, [r14 - 0xc]
cmp r14d, edi
jbe case.0x180005121.0
mov esi, dword [rbp + 0x60]
lea ebx, [r14 - 0xd4]
mov r14, qword [rbp + 0x58]
cmp ebx, 0x28
ja case.0x180005121.11
movzx eax, byte [r8 + rbx + 0x5468]
mov ecx, dword [r8 + rax*4 + 0x5438]
add rcx, r8
jmp rcx
movzx ecx, word [r13]
cmp cx, 0x7f
jbe 0x1800053d4
mov edx, 0x7ff
cmp cx, dx
ja 0x180005146
mov eax, 2
jmp 0x1800053b2
mov eax, 3
jmp 0x1800053b2
mov r15d, dword [rbp + 0x60]
jmp 0x1800050e9
movsd xmm0, qword [str.s2_3]
lea rdx, [rbp - 0x5e]
movzx eax, word [0x18008f5d0]
mov r8d, 0xa
movsd qword [rbp - 0x66], xmm0
mov word [rbp - 0x5e], ax
lea ecx, [r8 - 8]
call fcn.1800617a0
mov edx, dword [rbp + 0x60]
mov eax, 0x2e
mov r9, qword [rsp + 0x60]
xor r10d, r10d
mov word [rbp - 0x5c], ax
jmp case.0x180005121.11
mov eax, dword [0x18008f5d4]
mov dword [rbp - 0x5a], eax
movzx eax, word [0x18008f5d8]
mov word [rbp - 0x56], ax
jmp case.0x180005121.11
mov ecx, edx
call fcn.18006d454
mov ecx, r15d
call fcn.18006d454
mov ecx, esi
call fcn.18006d454
mov edx, dword [rbp + 0x60]
xor r10d, r10d
mov r9, qword [rsp + 0x60]
jmp case.0x180005121.11
lea rdx, [0x18008f1c8]
lea rcx, [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea r9, [rbp - 0x80]
mov r8d, 0x70
lea rdx, [rbp - 0x68]
xor ecx, ecx
call fcn.18001b7a0
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov ecx, 0x80
mov r14, rax
call fcn.180021f90
test al, al
je 0x1800053ab
mov edx, dword [rbp + 0x60]
xor r10d, r10d
mov r9, qword [rsp + 0x60]
mov ecx, r10d
cmp byte [r12], cl
setne cl
mov dword [rbp - 0x70], ecx
jmp case.0x180005121.11
mov dword [rbp + 0x58], r10d
jmp case.0x180005121.11
mov rcx, qword [r13]
lea r9, [rbp - 0x70]
mov edx, 6
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 5]
call r14
mov edx, dword [rbp + 0x60]
test eax, eax
mov r9, qword [rsp + 0x60]
sete byte [rbp + 0x58]
xor r10d, r10d
jmp case.0x180005121.11
test r9, r9
je 0x1800053d4
mov r8d, dword [rbp - 0x40]
mov rdx, r9
mov ecx, r15d
call fcn.18006c134
mov ecx, dword [rbp - 0x40]
cmp eax, ecx
jne 0x180005046
xor eax, eax
mov dword [rsp + 0x40], 0xc3
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x68]
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x68], ecx
xor edx, edx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.18001ec30
cmp eax, dword [rbp - 0x3c]
jne 0x1800053cd
mov edx, dword [rbp + 0x60]
xor r10d, r10d
mov r9, qword [rsp + 0x60]
jmp case.0x180005121.11
xor r9d, r9d
mov dword [rsp + 0x28], r10d
lea rax, [rsp + 0x78]
mov edx, 0x8301
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x40]
call fcn.180065f1c
mov esi, dword [rsp + 0x78]
test eax, eax
mov eax, 0xffffffff
cmovne esi, eax
test esi, esi
js 0x180005046
mov eax, dword [rbp + 0x60]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
xor r9d, r9d
lea rax, [rsp + 0x68]
mov dword [rsp + 0x68], esi
mov qword [rsp + 0x50], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x48], rax
lea r8d, [r9 + 0x6c]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180034d80
mov rcx, qword [rsp + 0x60]
call fcn.180065650
mov edx, dword [rbp + 0x60]
xor r10d, r10d
mov r9, qword [rsp + 0x60]
jmp case.0x180005121.11
mov word [rbp - 0x5a], r10w
jmp case.0x180005121.11
mov word [rbp - 0x66], r10w
dec ebx
lea eax, [rbx + 0xd4]
cmp eax, edi
jbe case.0x180005121.0
lea r8, [0x180000000]
jmp 0x180005104
mov byte [rbp + 0x58], 0
mov eax, dword [rbp + 0x58]
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 4
jmp 0x1800053b2
mov eax, 1
jmp 0x1800053b2