Function at 0x18002c110
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
lea ebx, [r8 + 0xd]
mov ebp, r8d
mov dword [rsp + 0x30], ebx
mov r15, rdx
mov rsi, rcx
cmp r8d, ebx
jae case.0x18002c191.7
mov r14, qword [rsp + 0x48]
lea edi, [r8 - 0x9e]
mov r12d, dword [rsp + 0xa0]
lea rdx, [0x180000000]
mov r13d, dword [rsp + 0xa0]
xor ebx, ebx
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], edi
cmp edi, 0x35
ja case.default.0x18002c191
movzx eax, byte [rdx + rdi + 0x2c638]
mov ecx, dword [rdx + rax*4 + 0x2c608]
add rcx, rdx
jmp rcx
movsxd rsi, r12d
lea rcx, [rsi*8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x30], rax
test rax, rax
jne 0x18002c1fb
mov edi, 0x56
mov eax, edi
sub eax, 0x56
je 0x18002c1e7
sub eax, 0x2c
je 0x18002c1e0
cmp eax, 0x2c
jne 0x18002c1f0
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x48], rbx
jmp 0x18002c1f0
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add edi, 0x2c
cmp edi, 0xda
jb 0x18002c1b2
lea rsi, [rsi*4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x38], rax
test rax, rax
jne 0x18002c258
mov edi, 0x63
nop word [rax + rax]
mov eax, edi
sub eax, 0x63
je 0x18002c23a
sub eax, 0x6b
je 0x18002c233
cmp eax, 0x6b
je case.0x18002c191.7
jmp 0x18002c24d
mov qword [rsp + 0x48], rbx
jmp 0x18002c24d
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add edi, 0x6b
cmp edi, 0x1a4
jb 0x18002c220
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x40], rax
test rax, rax
jne 0x18002c2a9
mov edi, 6
nop
mov eax, edi
sub eax, 6
je 0x18002c298
sub eax, 1
je 0x18002c292
cmp eax, 1
jne 0x18002c2a2
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rbx
jmp 0x18002c1c8
mov rcx, qword [r14 + 0x30]
jmp 0x18002c29c
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc edi
cmp edi, 9
jb 0x18002c270
mov edi, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x90]
lea rdx, [0x180000000]
mov eax, dword [rsp + 0x30]
inc ebp
inc edi
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x38], edi
cmp ebp, eax
jb 0x18002c176
jmp case.0x18002c191.7
test r15, r15
je 0x18002c338
mov edx, 4
lea rcx, [rsp + 0x40]
mov r9, r15
lea r8d, [rdx - 3]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test rax, rax
je 0x18002c338
mov r8d, 3
lea rdx, [0x180065c38]
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x18002c338
cmp byte [rsp + 0x43], 1
jne 0x18002c338
mov r9, r15
lea edx, [rax + 0x68]
lea r8d, [rax + 1]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test rax, rax
jne 0x18002c36b
mov edi, 0x64
nop dword [rax]
mov eax, edi
sub eax, 0x64
je 0x18002c352
cmp eax, 1
je case.0x18002c191.7
jmp 0x18002c360
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x48], rbx
inc edi
cmp edi, 0x66
jb 0x18002c340
mov edi, dword [rsp + 0x38]
mov r12d, dword [r14 + 8]
mov r13d, dword [r14 + 0xc]
jmp 0x18002c2b5
mov ecx, 0x68
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
test rax, rax
je 0x18002c28a
jmp 0x18002c2b5
mov r9d, 0x55
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, r15
xor ecx, ecx
call fcn.180034750
mov dword [rsp + 0x48], eax
jmp 0x18002c2b5
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rdx, r14
mov ecx, 0xbb
call fcn.180044a70
mov r14, rax
test rax, rax
je 0x18002c28a
movsxd rsi, r12d
mov rdi, rbx
test r12d, r12d
jle 0x18002c422
movsxd rbp, r13d
shl rbp, 2
mov rcx, qword [r14 + 0x30]
mov r9, r15
mov r8d, 1
mov rdx, rbp
mov rcx, qword [rcx + rdi*8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test rax, rax
je 0x18002c560
inc rdi
cmp rdi, rsi
jl 0x18002c3f0
mov ebp, dword [rsp + 0xa0]
mov rdx, r14
mov ecx, 2
call fcn.180055ad0
jmp 0x18002c2a9
mov eax, dword [rsi]
lea r8, [rsp + 0xa0]
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x38]
mov rax, qword [rsp + 0xb8]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov eax, dword [rax]
lea ecx, [r9 + 0x33]
mov dword [rsp + 0xa0], eax
call fcn.18002afd0
cmp eax, 0xffffffff
je 0x18002c4e9
mov rax, qword [rsp + 0xb0]
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x29
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov eax, dword [rax]
mov dword [rsp + 0xa0], eax
call fcn.18003c740
mov dword [rsp + 0x48], eax
jmp 0x18002c2b5
mov eax, dword [rsi]
lea r8, [rsp + 0xa0]
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x38]
mov rax, qword [rsp + 0xb8]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov eax, dword [rax]
lea ecx, [r9 + 0x33]
mov dword [rsp + 0xa0], eax
call fcn.18002afd0
cmp eax, 0xffffffff
jne 0x18002c2b5
mov dword [rsp + 0x48], 0xffffffff
jmp case.0x18002c191.7
test r15, r15
je 0x18002c4e9
mov r9, qword [rsp + 0xb8]
mov ecx, dword [r15 + 8]
movsxd r8, dword [r9]
cmp r8d, ecx
jg 0x18002c4e9
mov edx, dword [rsi]
add edx, r8d
cmp edx, ecx
jg 0x18002c4e9
cmp r8d, edx
jge 0x18002c557
lea rdx, [r8*4]
nop word [rax + rax]
mov rax, qword [r15 + 0x38]
lea rdx, [rdx + 4]
inc r8d
mov dword [rdx + rax - 4], ebx
mov rax, qword [r15 + 0x40]
mov ecx, dword [r15 + 0xc]
dec ecx
mov dword [rdx + rax - 4], ecx
mov eax, dword [rsi]
add eax, dword [r9]
cmp r8d, eax
jl 0x18002c530
mov dword [rsp + 0x48], ebx
jmp 0x18002c2b5
mov r8, r14
xor edx, edx
mov ecx, 0x15b
call fcn.180038180
mov rax, rbx
jmp 0x18002c1c8
mov eax, 0x7a
nop dword [rax]
cmp eax, 0x7a
je 0x18002c594
add eax, 0x50
cmp eax, 0xca
jb 0x18002c580
jmp case.0x18002c191.7
mov rax, qword [rsp + 0xb8]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x38]
mov ecx, 0x3a
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
mov eax, dword [r15]
mov dword [rsp + 0xa0], eax
call fcn.1800593b0
cmp eax, 0xffffffff
je 0x18002c4e9
mov r9, qword [0x180073ee8]
lea rdx, [rsp + 0xa0]
mov r8d, 0x11d
mov dword [rsp + 0xa0], 0xff
mov rcx, rsi
call fcn.18005ae10
mov dword [rsp + 0x48], eax
jmp case.0x18002c191.7
mov rax, r14
jmp 0x18002c1c8