Function at 0x18004d930
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov ebx, dword [rsp + 0xa8]
lea r12d, [rdx - 0xb]
mov r10, r9
lea r11, [0x180000000]
xor r9d, r9d
mov rsi, r8
mov edi, edx
mov r14, rcx
mov r15d, edx
cmp edx, r12d
jbe 0x18004dba0
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rsp + 0xa8]
mov rbp, qword [rsp + 0x58]
mov r13d, dword [rsp + 0xa8]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x30], ecx
nop dword [rax + rax]
lea eax, [r15 - 0x44]
cmp eax, 0x2c
ja case.0x18004d9c1.68
movzx eax, byte [r11 + rax + 0x4df98]
mov ecx, dword [r11 + rax*4 + 0x4df68]
add rcx, r11
jmp rcx
mov rdx, qword [r10]
xor r8d, r8d
lea ecx, [r8 + 1]
call fcn.1800b9f00
mov rbx, rax
jmp case.0x18004d9c1.68
cmp dword [r14], 1
mov rdi, qword [rsi + 0x60]
mov qword [rsp + 0x50], rdi
jl 0x18004da07
mov rcx, qword [r10]
mov r9d, 0xd6
xor r8d, r8d
xor edx, edx
call fcn.180045550
test eax, eax
jne case.0x18004d9c1.68
xor r9d, r9d
mov edi, 0x69
nop dword [rax]
cmp edi, 0x69
je 0x18004da32
cmp edi, 0x268e
je 0x18004da2b
cmp edi, 0x4cb3
je case.0x18004db9e.4
jmp 0x18004da49
mov dword [rsp + 0x58], r9d
jmp 0x18004da49
mov r8, rsi
mov dword [rsp + 0x38], r9d
mov edx, 0x11d
lea rcx, [rsp + 0x38]
call fcn.1800d0f60
add edi, 0x2625
mov r9d, 0
cmp edi, 0x726f
jbe 0x18004da10
mov rdi, qword [rsp + 0x50]
jmp case.0x18004d9c1.68
mov rax, qword [rsi + 0x10]
mov rbp, r9
cmp qword [r14], rax
jae case.0x18004d9c1.68
nop word [rax + rax]
mov edi, 0xb0
cmp edi, 0xb0
je 0x18004da9a
cmp edi, 0x11e0
jne 0x18004dabb
inc qword [r14]
jmp 0x18004dabb
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x18004daa7
mov rcx, qword [rsi]
mov rax, qword [r14]
movsx ecx, byte [rax + rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x18004db11
inc rbp
add edi, 0x1130
cmp edi, 0x2260
jbe 0x18004da85
mov rax, qword [rsi + 0x10]
cmp qword [r14], rax
jb 0x18004da80
mov rdi, qword [rsp + 0x50]
jmp case.0x18004d9c1.68
mov r8d, dword [r10]
mov rdx, r14
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x20], r9
lea r9, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r13d, eax
jmp case.0x18004d9c1.68
test r13d, r13d
jne case.0x18004d9c1.68
mov rax, 0xffffffffffffffff
jmp 0x18004dbfc
mov qword [rsp + 0x48], rsi
jmp case.0x18004d9c1.68
mov rdi, qword [rsp + 0x50]
mov r15d, 0x4e
mov qword [rsp + 0x58], rbp
jmp case.0x18004d9c1.68
mov r14, r9
jmp case.0x18004d9c1.68
mov eax, dword [rdi + 0x750]
mov dword [rsp + 0x30], eax
mov r10, qword [rsp + 0xb8]
lea r11, [0x180000000]
dec r15d
xor r9d, r9d
cmp r15d, r12d
ja 0x18004d9a0
mov r8, qword [rsp + 0x50]
mov edi, dword [rsp + 0xa8]
lea r13d, [rdi + 0xb]
cmp edi, r13d
jae case.0x18004db9e.4
mov r15, qword [rsp + 0x58]
lea r12d, [rdi - 0x44]
mov ebp, dword [rsp + 0xa8]
nop dword [rax]
cmp r12d, 0x2c
ja case.0x18004db9e.9
movzx eax, byte [r11 + r12 + 0x4dff0]
mov ecx, dword [r11 + rax*4 + 0x4dfc8]
add rcx, r11
jmp rcx
mov r8, qword [rsp + 0x58]
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x30], eax
jmp 0x18004db5c
mov eax, dword [rsp + 0x40]
mov qword [rsp + 0x58], rax
jmp case.0x18004db9e.9
cmp dword [r14], 1
jl 0x18004dbdc
mov r8, qword [r10]
xor edx, edx
lea ecx, [rdx + 0x30]
call fcn.180054480
test eax, eax
jne 0x18004dc40
mov edi, 0x111
mov eax, edi
sub eax, 0x111
je 0x18004dc14
cmp eax, 0x18
jne 0x18004dc2e
mov dword [rsp + 0x58], 0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, rsi
mov dword [rsp + 0x38], 0
mov edx, 0x11d
lea rcx, [rsp + 0x38]
call fcn.1800d0f60
add edi, 0x18
cmp edi, 0x141
jb 0x18004dbe1
mov edi, dword [rsp + 0xa8]
mov rdx, rsi
mov ecx, 0x4c
call fcn.1800e4750
mov r15, rax
xor r9d, r9d
jmp case.0x18004db9e.9
mov rax, qword [r10]
xor r8d, r8d
mov qword [rsp + 0x28], r9
mov edx, 0xe0
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.1800a3a80
mov rcx, rax
call qword [r15 + 0xd8]
mov dword [rsp + 0x48], eax
xor r9d, r9d
jmp case.0x18004db9e.9
mov r8, rsi
mov dword [rsp + 0xa8], 1
mov edx, 0x75
lea rcx, [rsp + 0xa8]
call fcn.1800d2280
xor r9d, r9d
jmp case.0x18004db9e.9
cmp dword [rsp + 0x48], 0
lea rcx, [rsp + 0xa8]
mov eax, r9d
mov r8, rsi
sete al
mov edx, 0x11d
mov dword [rsp + 0xa8], eax
call fcn.1800d0f60
xor r9d, r9d
mov dword [rsp + 0x58], r9d
jmp case.0x18004db9e.9
cmp ebx, 1
jne 0x18004dd51
and dword [r8 + 0x750], 0xfffffffe
cmp dword [r14], ebx
jle 0x18004de87
mov edi, 0xe3
mov eax, edi
sub eax, 0xe3
je 0x18004dd1f
cmp eax, 1
jne 0x18004dd3a
test ebp, ebp
je 0x18004dd3a
or dword [r8 + 0x750], eax
jmp 0x18004dd3a
mov rcx, qword [r10 + 8]
mov edx, 0x6e
call fcn.1800d2700
mov r8, qword [rsp + 0x50]
xor ebp, ebp
test eax, eax
sete bpl
mov r10, qword [rsp + 0xb8]
inc edi
cmp edi, 0xe5
jb 0x18004dd04
jmp 0x18004de80
cmp ebx, 2
jne 0x18004ddb1
and dword [r8 + 0x750], 0xfffffffd
cmp dword [r14], 1
jle 0x18004de87
mov edi, 0x2c
nop dword [rax]
mov eax, edi
sub eax, 0x2b
je 0x18004dd91
cmp eax, 1
jne 0x18004dd9d
mov rcx, qword [r10 + 8]
lea edx, [rax + 0x6d]
call fcn.1800d2700
mov r8, qword [rsp + 0x50]
mov ebp, eax
jmp 0x18004dd9d
test ebp, ebp
je 0x18004dd9d
or dword [r8 + 0x750], 2
mov r10, qword [rsp + 0xb8]
dec edi
cmp edi, 0x2a
ja 0x18004dd70
jmp 0x18004de80
cmp ebx, 4
jne 0x18004ddef
and dword [r8 + 0x750], 0xfffffffb
cmp dword [r14], 1
jle 0x18004de87
mov rcx, qword [r10 + 8]
lea edx, [rbx + 0x6a]
call fcn.1800d2700
mov ebp, eax
test eax, eax
je 0x18004de87
mov r9, qword [rsp + 0x50]
or dword [r9 + 0x750], ebx
jmp 0x18004de87
cmp ebx, 0x10
jne 0x18004de87
mov edi, 0xbe
nop dword [rax]
cmp edi, 0xbe
je 0x18004de5b
cmp edi, 0x158
jne 0x18004de6a
cmp dword [r14], 1
jle 0x18004de6a
mov rcx, qword [r10 + 8]
xor edx, edx
lea r8d, [rdx + 0x7c]
call fcn.180075b10
test eax, eax
je 0x18004de65
mov rdx, qword [rsp + 0xb8]
lea r8d, [rdi - 0x38]
mov r9, qword [rsp + 0x50]
xor ecx, ecx
add r9, 0x758
mov rdx, qword [rdx + 8]
call fcn.1800554e0
mov r8, qword [rsp + 0x50]
or dword [r8 + 0x750], 0x10
jmp 0x18004de6a
and dword [r8 + 0x750], 0xffffffef
jmp 0x18004de6a
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0xb8]
add edi, 0x9a
cmp edi, 0x1f2
jb 0x18004de00
mov edi, dword [rsp + 0xa8]
mov eax, dword [rsp + 0x30]
lea r8, [rsp + 0xa8]
mov r9d, 0xbb
mov dword [rsp + 0xa8], eax
mov rdx, rsi
xor ecx, ecx
call fcn.1800d12c0
xor r9d, r9d
jmp case.0x18004db9e.9
test r15, r15
je 0x18004dec1
cmp qword [r15 + 0xd8], 0
jne case.0x18004db9e.9
mov edi, 0x10a
mov eax, edi
sub eax, 0x10a
je 0x18004deda
cmp eax, 1
je 0x18004dbef
jmp 0x18004df22
mov qword [rsp + 0x20], r9
xor edx, edx
mov r9, rsi
xor ecx, ecx
mov r8d, 0xd2
call fcn.18009e820
mov r9, rax
lea r8, str.The_unroll_limit_for_inline_block_compare_expansions_with_symbolic_size__Ot
mov edx, 2
mov rcx, rsi
call fcn.180105d30
mov r8, rsi
mov dword [rsp + 0x38], 0
mov edx, 0x11d
lea rcx, [rsp + 0x38]
call fcn.1800d0f60
inc edi
mov r9d, 0
cmp edi, 0x10c
jb 0x18004dec6
mov edi, dword [rsp + 0xa8]
inc edi
inc r12d
mov dword [rsp + 0xa8], edi
cmp edi, r13d
jae case.0x18004db9e.4
mov r8, qword [rsp + 0x50]
lea r11, [0x180000000]
mov r10, qword [rsp + 0xb8]
jmp 0x18004db80