Function at 0x180047b40
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r12, rdx
mov r11d, r9d
lea edx, [r9 + 0xf]
mov r15, r8
mov dword [rsp + 0x30], edx
mov rsi, rcx
cmp r9d, edx
jae case.0x180047bb9.3
mov rbp, qword [rsp + 0x58]
lea edx, [r9 - 0xfd]
mov r14, qword [rsp + 0x58]
lea rbx, [0x180000000]
mov r13, qword [rsp + 0x38]
xor edi, edi
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x34], edx
cmp edx, 0x3c
ja case.default.0x180047bb9
movzx eax, byte [rbx + rdx + 0x4804c]
mov ecx, dword [rbx + rax*4 + 0x4800c]
add rcx, rbx
jmp rcx
mov rbx, qword [rsi]
imul rbx, qword [r12]
mov qword [rsp + 0x60], rbx
jmp 0x180047c0a
mov rbx, qword [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov ecx, 0x9a
mov qword [rsp + 0x50], rbx
call fcn.180057ca0
mov qword [rsp + 0x58], rax
test rax, rax
je 0x180047f92
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r11d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x34]
lea rbx, [0x180000000]
mov eax, dword [rsp + 0x30]
inc r11d
inc edx
mov dword [rsp + 0xc8], r11d
mov dword [rsp + 0x34], edx
cmp r11d, eax
jb 0x180047ba2
jmp case.0x180047bb9.3
lea rax, [r14 + 4]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xae
xor ecx, ecx
call fcn.180036d80
lea r8, [r14 + 8]
xor r9d, r9d
mov edx, 0xa4
xor ecx, ecx
mov rbx, rax
call fcn.180015570
add rax, rbx
add rbp, rax
jmp 0x180047bfe
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
jmp case.0x180047bb9.15
mov eax, dword [rsi + 0x14]
lea r9, [rsp + 0x48]
mov dword [rsp + 0x38], eax
xor edx, edx
mov rax, qword [rsi]
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x48], eax
lea ecx, [rdx + 0x59]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.180034b90
mov r11d, dword [rsp + 0xc8]
mov r13, rax
mov edx, dword [rsp + 0x34]
mov qword [rsp + 0x38], rax
jmp case.0x180047bb9.15
lea rcx, str.VertexAttrib4uivARB
call fcn.18005fbf0
movzx r8d, byte [r14]
lea rcx, str._s:_numFdsReady:__d__errno:__d.
mov edx, r8d
mov r8, qword [rbx + r8*8 + 0xb4168]
call fcn.18005fbf0
mov r11d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x34]
jmp case.0x180047bb9.15
mov ebx, 1
mov r8, rsi
xor edx, edx
lea ecx, [rbx + 0xd]
call fcn.180040120
cmp eax, ebx
jbe 0x180047bfe
xor edx, edx
mov r8, rsi
inc ebx
lea ecx, [rdx + 0xe]
call fcn.180040120
cmp ebx, eax
jb 0x180047d20
jmp 0x180047bfe
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edx, edx
mov rcx, rax
mov r14, rax
lea r8d, [rdx + 0x45]
call fcn.1800388c0
mov r11d, dword [rsp + 0xc8]
mov rbp, rax
mov edx, dword [rsp + 0x34]
jmp case.0x180047bb9.15
mov edx, dword [r14 + 4]
lea rcx, str._s._Send_event__d_to_handle__d.
call fcn.18005fbf0
mov edx, dword [r14 + 8]
lea rcx, str.No_instructions_available.
call fcn.18005fbf0
mov r11d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x34]
jmp case.0x180047bb9.15
mov ebx, 0xcc
nop
mov eax, ebx
sub eax, 0xca
je case.0x180047bb9.3
sub eax, 1
je 0x180047de7
cmp eax, 1
jne 0x180047dec
mov ecx, dword [r15]
sub rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x10], rax
mov edx, 1
mov r8d, dword [r15]
mov rcx, rax
mov r9, qword [0x1800c9d18]
sub r8, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rbp, rax
jmp 0x180047dec
mov qword [rsp + 0x40], r14
dec ebx
cmp ebx, 0xc9
ja 0x180047da0
mov r11d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x34]
mov r10, qword [rsp + 0x38]
test r10, r10
je 0x180047f92
mov ebx, dword [rsi + 0x10]
mov r9d, edi
add ebx, 7
shr ebx, 3
test ebx, ebx
je 0x180047f97
cmp ebx, 0x40
jb 0x180047f2c
mov rdx, qword [r10 + 8]
lea eax, [rbx - 1]
mov r11, qword [r12 + 8]
lea r13, [r12 + 8]
mov r8d, eax
lea rcx, [rax + rdx]
add rax, r11
cmp rdx, rax
ja 0x180047e56
cmp rcx, r11
jae 0x180047f2c
mov r10, qword [rsi + 8]
lea r12, [rsi + 8]
lea rax, [r8 + r10]
cmp rdx, rax
ja 0x180047e70
cmp rcx, r10
jae 0x180047f1f
cmp rdx, r13
ja 0x180047e7e
cmp rcx, r13
jae 0x180047f1f
cmp rdx, r12
ja 0x180047e8c
cmp rcx, r12
jae 0x180047f1f
mov rax, qword [rsp + 0x38]
add rax, 8
cmp rdx, rax
ja 0x180047ea3
cmp rcx, rax
jae 0x180047f1f
mov r12d, ebx
and r12d, 0xffffffc0
mov r8d, 0x20
mov eax, r9d
add r9d, 0x40
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [rax + r10]
pand xmm1, xmm0
movdqu xmmword [rax + rdx], xmm1
lea eax, [r8 - 0x10]
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [r10 + rax]
pand xmm1, xmm0
movdqu xmmword [rdx + rax], xmm1
mov eax, r8d
movdqu xmm0, xmmword [rax + r11]
movdqu xmm1, xmmword [r10 + rax]
pand xmm1, xmm0
movdqu xmmword [rdx + rax], xmm1
lea eax, [r8 + 0x10]
add r8d, 0x40
movdqu xmm1, xmmword [r10 + rax]
movdqu xmm0, xmmword [rax + r11]
pand xmm1, xmm0
movdqu xmmword [rdx + rax], xmm1
cmp r9d, r12d
jb 0x180047eb0
mov r12, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x38]
cmp r9d, ebx
jae 0x180047f67
sub ebx, r9d
mov r8d, r9d
mov r9d, ebx
nop word [rax + rax]
mov rax, qword [r12 + 8]
lea r8, [r8 + 1]
mov rcx, qword [rsi + 8]
movzx edx, byte [r8 + rax - 1]
and dl, byte [rcx + r8 - 1]
mov rax, qword [r10 + 8]
mov byte [r8 + rax - 1], dl
sub r9, 1
jne 0x180047f40
mov r13, qword [rsp + 0x38]
jmp 0x180047bfe
mov eax, dword [r12 + 0x10]
cmp dword [rsi + 0x10], eax
jne 0x180047f92
mov eax, dword [r12 + 0x14]
cmp dword [rsi + 0x14], eax
jne 0x180047f92
mov rax, qword [r12]
cmp qword [rsi], rax
je case.0x180047bb9.15
mov rax, rdi
jmp 0x180047ff4
mov r13, r10
jmp 0x180047c0a
mov rax, r13
jmp 0x180047ff4
mov edx, dword [rsi]
lea r8, [0x180063d40]
mov rax, r8
cmp dword [rax], edx
je 0x180047fe4
jg 0x180047fcd
inc edi
add rax, 8
cmp edi, 8
jl 0x180047fb0
movsxd rax, edi
mov eax, dword [r8 + rax*8 - 4]
inc eax
jmp 0x180047feb
test edi, edi
jne 0x180047fdb
mov dword [rsp + 0x40], 0x1c
jmp case.0x180047bb9.3
mov eax, edi
mov eax, dword [r8 + rax*8 - 4]
jmp 0x180047feb
mov eax, edi
mov eax, dword [r8 + rax*8 + 4]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret