Function at 0x14002fdf0
Capabilities:
Check os version
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x648
vmovaps xmmword [rsp + 0x630], xmm15
vmovaps xmmword [rsp + 0x620], xmm14
vmovaps xmmword [rsp + 0x610], xmm13
vmovaps xmmword [rsp + 0x600], xmm12
vmovaps xmmword [rsp + 0x5f0], xmm11
vmovaps xmmword [rsp + 0x5e0], xmm10
vmovaps xmmword [rsp + 0x5d0], xmm9
vmovapd xmmword [rsp + 0x5c0], xmm8
vmovaps xmmword [rsp + 0x5b0], xmm7
vmovaps xmmword [rsp + 0x5a0], xmm6
mov rcx, qword [0x140120540]
call qword [0x1401202e8]
test eax, eax
je 0x1400300e2
call qword [0x140120338]
mov rcx, qword [0x140120540]
cmp rcx, rax
sete byte [0x140120548]
lea rdx, [rsp + 0x210]
call qword [0x1401202c0]
mov esi, eax
mov edi, dword [rsp + 0x210]
mov ebx, dword [rsp + 0x21c]
mov rcx, qword [0x140120540]
lea rdx, [rsp + 0x210]
call qword [0x1401202b8]
test eax, eax
je 0x140030351
test esi, esi
je 0x140030351
mov ecx, dword [rsp + 0x21c]
lea eax, [rdi + 5]
sub ebx, ecx
lea edx, [rbx - 5]
cmove edx, ebx
cmove eax, edi
mov r8d, dword [rsp + 0x218]
mov dword [0x14012054c], edx
mov dword [0x140120550], eax
mov dword [0x140120558], r8d
mov dword [0x140120554], ecx
mov r9d, r8d
vcvtsi2sd xmm0, xmm0, r9
vmovsd qword [0x140120568], xmm0
mov r9d, ecx
vcvtsi2sd xmm1, xmm1, r9
vmovsd qword [0x140120560], xmm1
vmovsd xmm2, qword [0x1400e8a80]
vmulsd xmm3, xmm0, xmm2
vmovsd qword [0x140120578], xmm3
vmulsd xmm2, xmm1, xmm2
vmovsd qword [0x140120570], xmm2
vdivsd xmm0, xmm0, xmm1
vmovsd qword [0x140120580], xmm0
mov byte [0x140120718], 1
shl rcx, 0x20
or rcx, r8
mov qword [0x140120628], rcx
shl rdx, 0x20
or rax, rdx
mov qword [0x140120620], rax
mov rcx, qword [0x140120618]
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r14d, r14d
mov rdx, 0xffffffffffffffff
xor r8d, r8d
xor r9d, r9d
call qword [0x140120318]
test eax, eax
je 0x140030354
mov rax, qword [0x140120518]
mov rcx, qword [0x140120aa0]
lea r14, [rcx + rax]
mov rdx, qword [0x140120500]
lea rsi, [rcx + rax]
add rsi, 8
mov rbp, qword [0x1401204b8]
mov ebx, dword [0x1401204c0]
mov rax, qword [0x1401204d0]
mov qword [rsp + 0x58], rax
lea rax, [rbx*8]
lea rax, [rax + rax*2]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xb8]
lea rcx, [0x140120428]
lea r9, [rsp + 0x210]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x20], rax
mov rdi, rcx
mov r8, r14
mov r13, r9
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x60]
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, r14
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
test ebx, ebx
je 0x140030351
xor ecx, ecx
jmp 0x14003008d
add rcx, 0x18
cmp r8, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030080
cmp rax, qword [rbp + rcx + 8]
ja 0x140030080
add rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x80]
mov rcx, r14
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x1400303c8
add r14, r15
mov qword [rsp + 0x80], r14
mov r14, r12
lea rax, [rsp + 0xb8]
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
mov r9, r13
jmp 0x140030025
cmp dword [0x14012287c], 0
je 0x140030101
mov ecx, 0x1010
call fcn.14000b080
mov rsi, rax
test rax, rax
jne 0x1400301cc
mov rax, qword [0x140122880]
cmp rax, 0x1010
jae 0x14003014e
mov rax, qword [0x140122888]
cmp rax, 0x1011
jb 0x140030193
add rax, 0xffffffffffffeff0
mov qword [0x140122888], rax
mov rsi, qword [0x1401228a0]
lea rcx, [rsi + 0x1010]
mov qword [0x1401228a0], rcx
or rax, 1
mov qword [rsi + 0x1018], rax
jmp 0x140030189
lea rcx, [rax - 0x1010]
mov rsi, qword [0x140122898]
cmp rcx, 0x20
jb 0x1400301a2
lea rdx, [rsi + 0x1010]
mov qword [0x140122898], rdx
mov qword [0x140122880], rcx
mov rdx, rcx
or rdx, 1
mov qword [rsi + 0x1018], rdx
mov qword [rsi + rax], rcx
mov qword [rsi + 8], 0x1013
jmp 0x1400301c8
mov ecx, 0x1010
call fcn.14000b480
mov rsi, rax
jmp 0x1400301cc
mov qword [0x140122880], 0
mov qword [0x140122898], 0
mov rcx, rax
or rcx, 3
mov qword [rsi + 8], rcx
or byte [rsi + rax + 8], 1
add rsi, 0x10
mov edi, 0x200
lea r14, [rsp + 0x210]
jmp 0x1400301f0
add edi, edi
mov ecx, edi
shl rcx, 3
call fcn.14000abb0
mov rsi, rax
mov rax, qword gs:[0x60]
movzx ecx, word [rax + 0x120]
mov rax, qword [0x140120388]
cmp ecx, 0x23f0
jb 0x140030230
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0
jmp 0x14003023e
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], edi
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call rax
cmp eax, 0xc0000023
jne 0x140030267
test rsi, rsi
je 0x1400301e0
add rsi, 0xfffffffffffffff0
mov rcx, rsi
call fcn.140009440
jmp 0x1400301e0
test eax, eax
jne 0x140030340
mov r15d, dword [rsp + 0x210]
test r15, r15
je 0x140030340
shl r15, 3
vxorps xmm6, xmm6, xmm6
lea rdi, [rsp + 0xb8]
movabs r12, 0x5f004c00440053
xor r13d, r13d
jmp 0x1400302ad
add r13, 8
cmp r15, r13
je 0x140030340
mov rbx, qword [rsi + r13]
mov rcx, rbx
xor edx, edx
call qword [0x140120378]
mov ecx, dword [0x140120508]
cmp rax, rcx
jne 0x1400302a0
vmovaps xmmword [rsp + 0x210], xmm6
mov byte [rsp + 0x220], 0
mov dword [rsp + 0xb8], 0x100000
mov qword [rsp + 0xc0], r14
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [0x140120370]
cmp al, 7
jne 0x1400302a0
cmp qword [rsp + 0x210], r12
jne 0x1400302a0
cmp dword [rsp + 0x218], 0x700061
jne 0x1400302a0
cmp word [rsp + 0x21c], 0x70
jne 0x1400302a0
mov qword [0x140120540], rbx
test rsi, rsi
je 0x14002fe72
add rsi, 0xfffffffffffffff0
mov rcx, rsi
call fcn.140009440
jmp 0x14002fe72
test rsi, rsi
je 0x140030351
add rsi, 0xfffffffffffffff0
mov rcx, rsi
call fcn.140009440
xor r14d, r14d
mov eax, r14d
vmovaps xmm6, xmmword [rsp + 0x5a0]
vmovaps xmm7, xmmword [rsp + 0x5b0]
vmovaps xmm8, xmmword [rsp + 0x5c0]
vmovaps xmm9, xmmword [rsp + 0x5d0]
vmovaps xmm10, xmmword [rsp + 0x5e0]
vmovaps xmm11, xmmword [rsp + 0x5f0]
vmovaps xmm12, xmmword [rsp + 0x600]
vmovaps xmm13, xmmword [rsp + 0x610]
vmovaps xmm14, xmmword [rsp + 0x620]
vmovaps xmm15, xmmword [rsp + 0x630]
add rsp, 0x648
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov rax, qword [rsp + 0x98]
mov ecx, dword [0x140120aac]
lea rbx, [rax + rcx]
lea rsi, [rax + rcx]
add rsi, 4
lea rdi, [rsp + 0xf8]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x60]
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x140030460
add rcx, 0x18
cmp r8, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030453
cmp rax, qword [rbp + rcx + 8]
ja 0x140030453
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x14003048e
add rdi, r15
mov rbx, r12
jmp 0x1400303f9
cmp dword [rsp + 0xf8], 6
jne 0x140030351
mov rsi, qword [0x140121f80]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x140122000]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x60]
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x140030528
add rcx, 0x18
cmp r8, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x14003051b
cmp rax, qword [rbp + rcx + 8]
ja 0x14003051b
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x140030556
add rdi, r15
mov rbx, r12
jmp 0x1400304c1
mov eax, 0x7fffffff
and eax, dword [0x140122000]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rsi, qword [0x140121f88]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x140122004]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x1400305f5
add rcx, 0x18
cmp qword [rsp + 0x60], rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x1400305e6
cmp rax, qword [rbp + rcx + 8]
ja 0x1400305e6
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x140030623
add rdi, r15
mov rbx, r12
jmp 0x140030591
mov eax, 0x7fffffff
and eax, dword [0x140122004]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rsi, qword [0x140121f90]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x140122008]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x1400306c2
add rcx, 0x18
cmp qword [rsp + 0x60], rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x1400306b3
cmp rax, qword [rbp + rcx + 8]
ja 0x1400306b3
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x1400306f0
add rdi, r15
mov rbx, r12
jmp 0x14003065e
mov eax, 0x7fffffff
and eax, dword [0x140122008]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rsi, qword [0x140121f98]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x14012200c]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x14003078f
add rcx, 0x18
cmp qword [rsp + 0x60], rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030780
cmp rax, qword [rbp + rcx + 8]
ja 0x140030780
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x1400307bd
add rdi, r15
mov rbx, r12
jmp 0x14003072b
mov rsi, qword [0x140121fa0]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x140122010]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x140030846
add rcx, 0x18
cmp qword [rsp + 0x60], rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030837
cmp rax, qword [rbp + rcx + 8]
ja 0x140030837
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x140030874
add rdi, r15
mov rbx, r12
jmp 0x1400307e2
mov rsi, qword [0x140121fa8]
lea rbx, [rsi + 0x40]
add rsi, 0x44
lea rdi, [0x140122014]
lea r13, [0x140120428]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, rsi
mov r15, rsi
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x1400308fd
add rcx, 0x18
cmp qword [rsp + 0x60], rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x1400308ee
cmp rax, qword [rbp + rcx + 8]
ja 0x1400308ee
add rdx, qword [rsp + 0x58]
mov rcx, rdi
mov r8, r15
call fcn.14001fd00
cmp rsi, r12
jbe 0x14003092b
add rdi, r15
mov rbx, r12
jmp 0x140030899
mov rcx, qword [0x140121fb0]
add rcx, 0x40
lea rdx, [0x140122018]
call fcn.14001f990
test al, al
je 0x140030351
mov rcx, qword [0x140121fb8]
add rcx, 0x40
lea rdx, [0x14012201c]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x14012201c]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fc0]
add rcx, 0x40
lea rdx, [0x140122020]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122020]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fc8]
add rcx, 0x40
lea rdx, [0x140122024]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122024]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fd0]
add rcx, 0x40
lea rdx, [0x140122028]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122028]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fd8]
add rcx, 0x40
lea rdx, [0x14012202c]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x14012202c]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fe0]
add rcx, 0x40
lea rdx, [0x140122030]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122030]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121fe8]
add rcx, 0x40
lea rdx, [0x140122034]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122034]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121ff0]
add rcx, 0x40
lea rdx, [0x140122038]
call fcn.14001f990
test al, al
je 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x140122038]
cmp eax, 0x7f7fffff
jg 0x140030351
mov rcx, qword [0x140121ff8]
add rcx, 0x40
lea rdx, [0x14012203c]
call fcn.14001f990
test al, al
je 0x140030351
mov rcx, qword [0x140120510]
mov r12, qword [0x140120a78]
mov rax, qword [0x140120500]
mov qword [rsp + 0x60], rax
lea r13, [r12 + rcx]
add r13, 8
mov qword [rsp + 0x58], rcx
add r12, rcx
mov rbp, qword [0x1401204b8]
mov ebx, dword [0x1401204c0]
mov rax, qword [0x1401204d0]
mov qword [rsp + 0x80], rax
lea rax, [rbx*8]
lea rdi, [rax + rax*2]
lea rsi, [rsp + 0x98]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x60]
mov r8, r12
lea r9, [rsp + 0x210]
call fcn.14000c5d0
test al, al
je 0x140030351
mov r14, qword [rsp + 0xb8]
cmp r14, r13
mov r15, r13
cmovb r15, r14
sub r15, r12
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
test ebx, ebx
je 0x140030351
xor ecx, ecx
jmp 0x140030bde
add rcx, 0x18
cmp rdi, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030bd1
cmp rax, qword [rbp + rcx + 8]
ja 0x140030bd1
add rdx, qword [rsp + 0x80]
mov rcx, rsi
mov r8, r15
call fcn.14001fd00
cmp r13, r14
jbe 0x140030c0f
add rsi, r15
mov r12, r14
jmp 0x140030b6b
mov rbx, qword [rsp + 0x98]
lea r13, [rbx + 0x44]
lea rsi, [0x140122100]
lea r14, [rsp + 0x210]
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x60]
mov r8, rbx
mov r9, r14
call fcn.14000c5d0
test al, al
je 0x140030351
mov r12, qword [rsp + 0xb8]
cmp r12, r13
mov r15, r13
cmovb r15, r12
sub r15, rbx
mov rdx, qword [rsp + 0x210]
mov rax, r15
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x140030c90
add rcx, 0x18
cmp rdi, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030c83
cmp rax, qword [rbp + rcx + 8]
ja 0x140030c83
add rdx, qword [rsp + 0x80]
mov rcx, rsi
mov r8, r15
call fcn.14001fd00
cmp r13, r12
jbe 0x140030cc1
add rsi, r15
mov rbx, r12
jmp 0x140030c2a
mov eax, 0x7fffffff
mov ecx, dword [0x140122100]
and ecx, eax
cmp ecx, 0x7f7fffff
jg 0x140030351
and eax, dword [0x140122108]
cmp eax, 0x7f7fffff
jg 0x140030351
mov eax, 0x7fffffff
and eax, dword [0x14012210c]
cmp eax, 0x7f7fffff
jg 0x140030351
vmovd xmm0, dword [0x140122114]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f7fffff
jg 0x140030351
mov eax, 0x7fffffff
mov ecx, dword [0x140122128]
and ecx, eax
cmp ecx, 0x7f7fffff
jg 0x140030351
and eax, dword [0x14012212c]
cmp eax, 0x7f7fffff
jg 0x140030351
mov eax, 0x7fffffff
mov ecx, dword [0x140122130]
and ecx, eax
cmp ecx, 0x7f7fffff
jg 0x140030351
and eax, dword [0x140122134]
cmp eax, 0x7f800000
jge 0x140030351
mov ecx, 0x7fffffff
and ecx, dword [0x140122138]
vmovss xmm1, dword [0x1400e8ef4]
vucomiss xmm1, xmm0
setbe al
cmp ecx, 0x7f800000
jl 0x140030d95
xor eax, eax
test al, al
je 0x140030351
mov r8, qword [0x140120ab0]
add r8, qword [0x140120528]
lea rcx, [0x140120428]
lea r9, [rsp + 0x210]
mov rdx, qword [rsp + 0x60]
call fcn.140009fe0
test al, al
je 0x140030351
mov rax, qword [rsp + 0x210]
mov rcx, rax
inc rcx
je 0x140030351
xor edx, edx
cmp qword [rbp + rdx], rax
ja 0x140030df0
cmp rcx, qword [rbp + rdx + 8]
jbe 0x140030dfe
add rdx, 0x18
cmp rdi, rdx
jne 0x140030de2
jmp 0x140030351
mov rcx, qword [rsp + 0x80]
movzx ebx, byte [rcx + rax]
mov byte [0x140120b78], bl
cmp bl, 1
ja 0x140030351
mov r8, qword [0x140120ab8]
add r8, qword [0x140120538]
lea rcx, [0x140120428]
lea r14, [rsp + 0x210]
mov rdx, qword [rsp + 0x60]
mov r9, r14
call fcn.140009fe0
test al, al
je 0x140030351
mov rax, qword [rsp + 0x210]
mov rcx, rax
inc rcx
je 0x140030351
xor edx, edx
cmp qword [rbp + rdx], rax
ja 0x140030e6f
cmp rcx, qword [rbp + rdx + 8]
jbe 0x140030e7d
add rdx, 0x18
cmp rdi, rdx
jne 0x140030e61
jmp 0x140030351
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [0x140120b79], al
cmp al, 1
ja 0x140030351
test bl, bl
sete cl
test al, al
setne al
or al, cl
mov byte [0x140120b7a], al
movzx eax, byte [0x14012225f]
or al, byte [0x1401223e9]
jne 0x140030ed0
cmp dword [0x1401221d0], 0
setne cl
cmp byte [0x1401221e0], 0
sete al
and al, cl
jmp 0x140030ed2
xor eax, eax
mov byte [0x140122498], al
mov rsi, qword [0x140120a90]
mov rax, qword [rsp + 0x58]
lea r13, [rsi + rax]
add r13, 0x40
add rsi, rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x70], rax
lea r15, [0x140120428]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea r9, [rsp + 0xb8]
call fcn.14000c5d0
test al, al
je 0x140030351
mov rbx, qword [rsp + 0x98]
cmp rbx, r13
mov r12, r13
cmovb r12, rbx
sub r12, rsi
mov rdx, qword [rsp + 0xb8]
mov rax, r12
add rax, rdx
jb 0x140030351
xor ecx, ecx
jmp 0x140030f6a
add rcx, 0x18
cmp rdi, rcx
je 0x140030351
cmp qword [rbp + rcx], rdx
ja 0x140030f5d
cmp rax, qword [rbp + rcx + 8]
ja 0x140030f5d