Function at 0x140031620
Capabilities:
Read file on windows

Disassembly:
push r15
mov eax, 0x13e8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1400111d0
sub rsp, rax
movups xmmword [rsp + 0x13c0], xmm6
movups xmmword [rsp + 0x13d0], xmm7
mov eax, dword [0x140222a40]
mov qword [rsp + 0x1438], rdx
mov rbp, rcx
test eax, eax
jne 0x14003168d
mov eax, 0x80000001
xor ecx, ecx
cpuid
mov rax, qword [0x1402376c0]
shr ecx, 5
mov dword [0x140222a40], 1
and ecx, 1
mov dword [rax], ecx
mov rax, qword [0x1402376b0]
mov dword [rax], 1
lea rax, [0x14002b660]
mov ecx, 0x23e
movq xmm0, rbp
lea rdx, [rsp + 0x1d0]
lea rsi, [fcn.14002b650]
movq xmm7, rax
xor eax, eax
mov rdi, rdx
movq xmm6, rsi
movhps xmm0, qword [rsp + 0x1438]
xor esi, esi
rep stosq qword [rdi], rax
mov rax, qword [0x140231218]
punpcklqdq xmm6, xmm7
mov dword [rsp + 0x1e8], 2
mov qword [rsp + 0x238], rbp
lea rdi, [rsp + 0x78]
lea r12, [rsp + 0xb0]
mov qword [rsp + 0x250], rax
movups xmmword [rsp + 0x1d0], xmm6
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x228], xmm6
jmp 0x1400317cb
movzx eax, byte [rsp + 0x78]
lea rbx, [rsi + 4]
mov qword [rsp + 0x218], rbx
cmp al, 0x49
jne 0x140031820
cmp byte [rsp + 0x79], 0x44
jne 0x1400317f0
cmp byte [rsp + 0x7a], 0x33
jne 0x1400317f0
mov r9, rbp
mov r8d, 6
mov edx, 1
mov rcx, r12
call sub.msvcrt.dll_fread
cmp rax, 6
jne 0x1400317f0
mov eax, dword [rsp + 0xb2]
mov r8d, 1
mov rcx, rbp
bswap eax
mov ebx, eax
mov edx, eax
shr ebx, 3
shr edx, 2
and edx, 0x1fc000
and ebx, 0xfe00000
or ebx, edx
mov edx, eax
shr eax, 1
and edx, 0x7f
or edx, ebx
mov ebx, eax
and ebx, 0x3f80
or ebx, edx
test byte [rsp + 0xb1], 0x10
lea eax, [rbx + 0xa]
cmovne ebx, eax
mov edx, ebx
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x1400317f0
add ebx, 0xa
add rsi, rbx
mov r9, rbp
mov r8d, 4
mov edx, 1
mov rcx, rdi
call sub.msvcrt.dll_fread
cmp rax, 4
je 0x140031720
nop dword [rax + rax]
xor r15d, r15d
movups xmm6, xmmword [rsp + 0x13c0]
movups xmm7, xmmword [rsp + 0x13d0]
mov rax, r15
add rsp, 0x13e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp al, 0x66
jne 0x1400319e0
cmp byte [rsp + 0x79], 0x4c
jne 0x1400317f0
cmp byte [rsp + 0x7a], 0x61
jne 0x1400317f0
cmp byte [rsp + 0x7b], 0x43
jne 0x1400317f0
lea r12, [rsp + 0xb0]
mov r9, rbp
mov r8d, 4
mov edx, 1
mov dword [rsp + 0x1e8], 0
mov rcx, r12
call sub.msvcrt.dll_fread
cmp rax, 4
jne 0x1400317f0
mov ebx, dword [rsp + 0xb0]
bswap ebx
test ebx, 0x7f000000
jne 0x1400317f0
mov eax, ebx
and eax, 0xffffff
cmp eax, 0x22
jne 0x1400317f0
mov rdx, r12
mov rcx, rbp
xor r15d, r15d
call fcn.14002c0e0
test eax, eax
je 0x1400317f3
mov eax, dword [rsp + 0xbc]
shr ebx, 0x1f
pxor xmm7, xmm7
mov dword [rsp + 0x220], 1
mov r9d, ebx
xor ebx, ebx
mov dword [rsp + 0x58], eax
xor r9d, 1
mov dword [rsp + 0x200], eax
movzx eax, byte [rsp + 0xc1]
mov dword [rsp + 0x224], r9d
mov byte [rsp + 0x5e], al
movzx eax, word [rsp + 0xc0]
mov word [rsp + 0x204], ax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x208], rax
movzx eax, word [rsp + 0xb2]
mov word [rsp + 0x210], ax
mov edi, eax
movzx eax, di
mov word [rsp + 0x46], di
and edi, 0xf
movzx edx, byte [rsp + 0x204]
shr eax, 4
cmp di, 1
sbb eax, 0xffffffff
mov byte [rsp + 0x5d], dl
imul eax, edx
shl eax, 6
mov dword [rsp + 0x4c], eax
add eax, 0x11c8
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x1e8]
mov dword [rsp + 0x48], eax
cmp eax, 1
je 0x1400324d0
mov qword [rsp + 0x38], 0
lea r15, [0x14002b660]
lea rdi, [fcn.14002b650]
test r9d, r9d
je 0x140032410
mov dword [rsp + 0x34], 0
mov ebx, 0x2a
lea rsi, [0x140230f94]
mov qword [rsp + 0x28], 0
nop dword [rax]
mov r8d, 4
mov rdx, r12
mov rcx, rbp
call rdi
cmp rax, 4
je 0x140032158
cmp qword [rsp + 0x38], 0
je 0x1400317f0
mov rcx, qword [rsp + 0x38]
xor edx, edx
xor r15d, r15d
call fcn.14002a010
jmp 0x1400317f3
cmp al, 0x4f
jne 0x1400317f0
cmp byte [rsp + 0x79], 0x67
jne 0x1400317f0
cmp byte [rsp + 0x7a], 0x67
jne 0x1400317f0
cmp byte [rsp + 0x7b], 0x53
jne 0x1400317f0
lea rsi, [rsp + 0x70]
lea rdi, [rsp + 0x74]
mov rcx, rbp
xor r15d, r15d
lea r12, [rsp + 0xb0]
mov r9, rsi
mov r8, rdi
mov dword [rsp + 0x70], 0x5fb0a94f
mov rdx, r12
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x1e8], 1
call fcn.14003c390
test eax, eax
jne 0x1400317f3
mov eax, dword [rsp + 0x74]
add rbx, rax
mov qword [rsp + 0x218], rbx
test byte [rsp + 0xb5], 2
je 0x1400317f0
lea rax, [rsp + 0x6d]
lea r13, [rsp + 0x83]
mov qword [rsp + 0x28], rax
movzx r14d, byte [rsp + 0xcc]
test r14d, r14d
je 0x14003205d
lea eax, [r14 - 1]
cmp eax, 0xe
jbe 0x140032650
movdqu xmm3, xmmword [rsp + 0xcd]
pxor xmm2, xmm2
pxor xmm1, xmm1
mov eax, r14d
shr eax, 4
movdqu xmm0, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm0, xmm2
movdqu xmm4, xmm0
punpckhwd xmm0, xmm1
punpcklwd xmm4, xmm1
paddd xmm0, xmm4
movdqu xmm4, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm4, xmm1
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 1
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0xdd]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 2
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0xed]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
movdqu xmm5, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm5, xmm1
paddd xmm3, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 3
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0xfd]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
punpcklwd xmm4, xmm1
punpckhwd xmm5, xmm1
paddd xmm4, xmm5
movdqu xmm5, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm5, xmm1
paddd xmm3, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 4
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x10d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
punpcklwd xmm4, xmm1
punpckhwd xmm5, xmm1
paddd xmm4, xmm5
movdqu xmm5, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm5, xmm1
paddd xmm3, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 5
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x11d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
movdqu xmm5, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm5, xmm1
paddd xmm3, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 6
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x12d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 7
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x13d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm3
movdqu xmm2, xmm3
movdqu xmm3, xmm4
punpcklwd xmm4, xmm1
punpckhwd xmm5, xmm1
punpcklwd xmm2, xmm1
punpckhwd xmm3, xmm1
movdqu xmm1, xmm4
paddd xmm2, xmm5
paddd xmm1, xmm3
paddd xmm1, xmm2
paddd xmm0, xmm1
cmp eax, 8
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x14d]
pxor xmm2, xmm2
pxor xmm1, xmm1
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 9
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x15d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 0xa
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x16d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 0xb
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x17d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 0xc
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x18d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
movdqu xmm5, xmm3
punpcklbw xmm4, xmm2
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 0xd
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x19d]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm5, xmm1
paddd xmm4, xmm5
movdqu xmm5, xmm3
punpckhwd xmm3, xmm1
punpcklwd xmm5, xmm1
paddd xmm3, xmm5
paddd xmm3, xmm4
paddd xmm0, xmm3
cmp eax, 0xe
je 0x140031ecf
movdqu xmm3, xmmword [rsp + 0x1ad]
movdqu xmm4, xmm3
punpckhbw xmm3, xmm2
punpcklbw xmm4, xmm2
movdqu xmm5, xmm4
movdqu xmm2, xmm4
movdqu xmm4, xmm3
punpcklwd xmm3, xmm1
punpckhwd xmm5, xmm1
punpcklwd xmm2, xmm1
punpckhwd xmm4, xmm1
movdqu xmm1, xmm3
paddd xmm2, xmm5
paddd xmm1, xmm4
paddd xmm1, xmm2
paddd xmm0, xmm1
movdqu xmm1, xmm0
mov edx, r14d
psrldq xmm1, 8
and edx, 0xfffffff0
paddd xmm0, xmm1
movdqu xmm1, xmm0
psrldq xmm1, 4
paddd xmm0, xmm1
movd eax, xmm0
test r14b, 0xf
je 0x140032050
movsxd rcx, edx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 1]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 2]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 3]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 4]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 5]
cmp ecx, r14d
jge 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 6]
cmp ecx, r14d
jge 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 7]
cmp ecx, r14d
jge 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 8]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 9]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 0xa]
cmp ecx, r14d
jge 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 0xb]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 0xc]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
lea ecx, [rdx + 0xd]
cmp r14d, ecx
jle 0x140032050
movsxd rcx, ecx
add edx, 0xe
movzx ecx, byte [rsp + rcx + 0xcd]
add eax, ecx
cmp edx, r14d
jge 0x140032050
movsxd rdx, edx
movzx edx, byte [rsp + rdx + 0xcd]
add eax, edx
movsxd r14, eax
cmp r14d, 0x33
je 0x1400325b0
mov r8d, 1
mov edx, r14d
mov rcx, rbp
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x1400317f0
add rbx, r14
mov r9, rbp
mov edx, 1
mov r8d, 4
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x218], rbx
mov dword [rsp + 0x74], 0
call sub.msvcrt.dll_fread
cmp rax, 4
jne 0x1400317f0
add dword [rsp + 0x74], 4
jmp 0x1400320f3
xor eax, eax
mov byte [rsp + 0x82], r8b
mov r9, rbp
mov r8d, 1
mov al, dl
mov edx, 1
mov ah, cl
mov rcx, r13
mov word [rsp + 0x80], ax
call sub.msvcrt.dll_fread
cmp rax, 1
jne 0x1400317f0
add dword [rsp + 0x74], 1
cmp byte [rsp + 0x80], 0x4f
movzx edx, byte [rsp + 0x81]
movzx ecx, byte [rsp + 0x82]
movzx r8d, byte [rsp + 0x83]
jne 0x1400320b8
cmp dl, 0x67
jne 0x1400320b8
cmp cl, 0x67
jne 0x1400320b8
cmp r8b, 0x53
jne 0x1400320b8
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x70], 0x5fb0a94f
call fcn.14003c390
test eax, eax
je 0x140032588
cmp eax, 0xffffff80
jne 0x1400317f0
jmp 0x1400320f3
mov ecx, dword [rsp + 0xb0]
add rbx, 4
bswap ecx
mov eax, ecx
mov r14d, ecx
mov r13d, ecx
shr eax, 0x18
shr r14d, 0x1f
and r13d, 0xffffff
and eax, 0x7f
cmp al, 6
ja case.0x14003218c.0
movzx eax, al
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
mov dword [rsp + 0x34], r13d
mov qword [rsp + 0x28], rbx
test r13d, r13d
jne 0x1400323bc
mov edx, r13d
add rbx, rdx
test r14d, r14d
je 0x1400319a8
mov r9d, dword [rsp + 0x34]
mov esi, dword [rsp + 0x40]
xor edx, edx
imul r9, r9, 0x38e38e39
shr r9, 0x22
lea eax, [r9 + r9*2]
mov dword [rsp + 0x34], r9d
lea ecx, [rsi + rax*8]
call fcn.14002b780
mov r9d, dword [rsp + 0x34]
test rax, rax
mov r15, rax
je 0x1400319c0
lea rdi, [r15 + 8]
mov rcx, r15
xor eax, eax
mov qword [r15], 0
and rdi, 0xfffffffffffffff8
lea rsi, [rsp + 0x228]
mov qword [r15 + 0x1180], 0
sub rcx, rdi
add ecx, 0x1188
shr ecx, 3
rep stosq qword [rdi], rax
lea rdi, [r15 + 0x130]
mov ecx, 0x20a
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x1438]
movzx ecx, word [rsp + 0x5e]
lea rdi, [fcn.14002b780]
mov esi, dword [rsp + 0x48]
movq xmm0, rdi
mov qword [r15 + 8], rax
movzx eax, word [rsp + 0x46]
mov dword [r15 + 0x40], esi
mov word [r15 + 0x36], ax
mov eax, dword [rsp + 0x58]
mov dword [r15 + 0x30], eax
xor eax, eax
mov al, byte [rsp + 0x5d]
mov ah, cl
mov word [r15 + 0x34], ax
mov rax, qword [rsp + 0x50]
mov qword [r15 + 0x38], rax
lea rax, [0x14002c210]
movq xmm2, rax
mov rax, qword [fcn.14002a010]
punpcklqdq xmm0, xmm2
mov qword [r15 + 0x28], rax
lea rax, [r15 + 0x11bf]
and rax, 0xffffffffffffffc0
movups xmmword [r15 + 0x18], xmm0
mov qword [r15 + 0x110], rax
cmp esi, 1
je 0x140032448
cmp qword [rsp + 0x28], 0
mov qword [r15 + 0xf0], rbx
je 0x1400317f3
mov edx, dword [rsp + 0x4c]
xor r8d, r8d
mov dword [r15 + 0x44], r9d
mov dword [rsp + 0x34], r9d
mov rcx, qword [r15 + 0x140]
add rax, rdx
mov edx, dword [rsp + 0x28]
mov qword [r15 + 0x118], rax
call qword [r15 + 0x138]
test eax, eax
je 0x140032570
mov r9d, dword [rsp + 0x34]
test r9d, r9d
je 0x14003237d
lea rbx, [r9 + r9*2]
mov rdx, qword [r15 + 0x118]
xor esi, esi
shl rbx, 3
jmp 0x14003234d
mov rdx, qword [r15 + 0x118]
lea rax, [rdx + rsi]
add rsi, 0x18
mov rcx, qword [rax]
rol word [rax + 0x10], 8
bswap rcx
mov qword [rax], rcx
mov rcx, qword [rax + 8]
bswap rcx
mov qword [rax + 8], rcx
cmp rbx, rsi
je 0x14003237d
add rdx, rsi
mov rcx, qword [r15 + 0x140]
mov r8d, 0x12
call qword [r15 + 0x130]
cmp rax, 0x12
je 0x140032320
mov qword [r15 + 0x118], 0
mov dword [r15 + 0x44], 0
xor r8d, r8d
mov rcx, qword [r15 + 0x140]
mov edx, dword [r15 + 0xf0]
call qword [r15 + 0x138]
test eax, eax
jne 0x1400317f3
xor edx, edx
mov rcx, r15
call fcn.14002a010
jmp 0x1400317f0
and ecx, 0xfffffc
je 0x1400319c0
mov r8d, 1
mov edx, r13d
mov rcx, rbp
call r15
test eax, eax
jne 0x1400321a3
mov edx, r13d
add rbx, rdx
jmp 0x1400321b2
and ecx, 0xffffe0
jne 0x1400323bc
jmp 0x1400319c0
cmp r13d, 0x18b
ja 0x1400323bc
jmp 0x1400319c0
and ecx, 0xfffff8
jne 0x1400323bc
jmp 0x1400319c0
mov ecx, dword [rsp + 0x40]
xor edx, edx
mov dword [rsp + 0x34], r9d
call fcn.14002b780
mov r15, rax
test rax, rax
je 0x1400317f0
mov qword [rsp + 0x28], 0
mov r9d, dword [rsp + 0x34]
mov ebx, 0x2a
jmp 0x1400321ea
mov edx, dword [rsp + 0x4c]
lea rcx, [r9 + r9*2]
mov rdi, qword [rsp + 0x38]
mov r8d, 0x10198
lea rsi, [rdx + rcx*8]
mov rdx, rdi
add rsi, rax
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rdi
xor edx, edx
lea rdi, [0x140028d90]
call fcn.14002a010
lea rax, [0x140028e70]
movq xmm0, rdi
mov qword [r15 + 0x140], rsi
movq xmm5, rax
mov qword [r15 + 0x120], rsi
punpcklqdq xmm0, xmm5
mov qword [r15 + 0xf0], rbx
mov qword [r15 + 0x118], 0
mov dword [r15 + 0x44], 0
movups xmmword [r15 + 0x130], xmm0
jmp 0x1400317f3
mov eax, dword [rsp + 0x4c]
xor edx, edx
mov ecx, 0x10198
mov dword [rsp + 0x28], r9d
add eax, 0x11360
mov dword [rsp + 0x40], eax
call fcn.14002b780
mov r9d, dword [rsp + 0x28]
test rax, rax
mov qword [rsp + 0x38], rax
je 0x1400317f0
mov rcx, rax
mov r8d, 0x10198
xor edx, edx
mov rdi, rax
mov dword [rsp + 0x28], r9d
lea rsi, [rsp + 0x12a0]
call sub.msvcrt.dll_memset
movdqu xmm0, xmm7
mov r9d, dword [rsp + 0x28]
mov dword [rdi + 0x28], ebx
punpcklqdq xmm0, xmm0
mov qword [rdi + 0x10], rbp
mov ecx, 0x24
mov rbp, rdi
movups xmmword [rdi], xmm6
lea rdi, [rdi + 0x30]
movups xmmword [rdi - 0x18], xmm0
rep movsq qword [rdi], qword [rsi]
test r9d, r9d
je 0x140032806
lea r15, [0x140028e70]
lea rdi, [0x140028d90]
jmp 0x140031987
mov qword [r15 + 0x118], 0
mov dword [r15 + 0x44], 0
jmp 0x1400317f3
mov eax, dword [rsp + 0x74]
add rbx, rax
mov qword [rsp + 0x218], rbx
test byte [rsp + 0xb5], 2
jne 0x140031a81
jmp 0x1400317f0
mov rcx, qword [rsp + 0x28]
mov r9, rbp
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fread
cmp rax, 1
jne 0x1400317f0
cmp byte [rsp + 0x6d], 0x7f
je 0x140032600
mov r8d, 1
mov edx, 0x32
mov rcx, rbp
call sub.msvcrt.dll_fseek
test eax, eax
je 0x140032076
jmp 0x1400317f0
lea r15, [rsp + 0x7c]
mov r9, rbp
mov r8d, 4
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fread
cmp rax, 4
jne 0x1400317f0
cmp byte [rsp + 0x7c], 0x46
je 0x140032659
mov r8d, 1
mov edx, 0x2e
mov rcx, rbp
call sub.msvcrt.dll_fseek
test eax, eax
je 0x140032076
jmp 0x1400317f0
xor edx, edx
xor eax, eax
jmp 0x140031efd
cmp byte [rsp + 0x7d], 0x4c
jne 0x14003262c
cmp byte [rsp + 0x7e], 0x41
jne 0x14003262c
cmp byte [rsp + 0x7f], 0x43
jne 0x14003262c
lea rdx, [rsp + 0x6e]
mov r8d, 2
mov rcx, rbp
call fcn.14002b650
cmp rax, 2
jne 0x1400317f0
cmp byte [rsp + 0x6e], 1
jne 0x1400317f0
mov r8d, 1
mov edx, 2
mov rcx, rbp
call fcn.14002a4d0
test eax, eax
je 0x1400317f0
mov r8d, 4
mov rdx, r15
mov rcx, rbp
call fcn.14002b650
cmp rax, 4
jne 0x1400317f0
cmp byte [rsp + 0x7c], 0x66
jne 0x1400317f0
cmp byte [rsp + 0x7d], 0x4c
jne 0x1400317f0
cmp byte [rsp + 0x7e], 0x61
jne 0x1400317f0
cmp byte [rsp + 0x7f], 0x43
jne 0x1400317f0
lea r13, [rsp + 0x80]
mov r8d, 4
mov rcx, rbp
mov rdx, r13
call fcn.14002b650
cmp rax, 4
jne 0x1400317f0
mov eax, dword [rsp + 0x80]
bswap eax
test eax, 0x7f000000
jne 0x1400317f0
and eax, 0xffffff
cmp eax, 0x22
jne 0x1400317f0
mov rdx, r13
mov rcx, rbp
call fcn.14002c0e0
test eax, eax
je 0x1400317f0
mov eax, dword [rsp + 0x8c]
lea rdi, [rsp + 0x12a0]
mov ecx, 0x24
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov r9d, 1
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x200], eax
movzx eax, byte [rsp + 0x91]
mov byte [rsp + 0x5e], al
movzx eax, word [rsp + 0x90]
mov word [rsp + 0x204], ax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x208], rax
movzx eax, word [rsp + 0x82]
mov word [rsp + 0x210], ax
lea rax, [rbx + 0x33]
movzx edi, word [rsp + 0x210]
mov qword [rsp + 0x218], rax
lea rax, [rbx - 0x1c]
mov ebx, dword [rsp + 0xc0]
mov qword [rsp + 0x1298], rax
movq xmm7, rax
movabs rax, 0x100000001
mov dword [rsp + 0x1290], ebx
mov qword [rsp + 0x220], rax
jmp 0x14003191f
mov ecx, dword [rsp + 0x40]
xor edx, edx
mov dword [rsp + 0x34], r9d
call fcn.14002b780
mov r15, rax
test rax, rax
jne 0x14003242c
jmp 0x1400319cc