Function at 0x1400f9ac0
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x140], xmm6
mov qword [rbp + 0x138], 0xfffffffffffffffe
mov rsi, r9
mov rbx, r8
mov r15, rcx
mov r14d, dword [rbp + 0x1c0]
mov r13d, esi
mov qword [rbp + 0x128], rdx
mov edi, edx
mov eax, r15d
mov qword [rbp + 0x120], rax
and r14d, 0xf
cmp r14d, 5
jbe 0x1400f9ba5
cmp r14d, 8
jbe 0x1400f9d60
cmp r14d, 0xa
jbe 0x1400f9f5b
cmp r14d, 0xb
jne 0x1400fa6c1
mov ecx, edi
and ecx, 0xf
mov rax, qword [0x1407902c8]
cmp ecx, 9
je 0x1400fac6a
cmp ecx, 0xa
jne 0x1400facfd
test rax, rax
jne 0x1400f9b91
mov ecx, 0x700
call fcn.1400954c0
nop
mov qword [rbp + 0x128], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
nop
mov rcx, qword [0x1407902c8]
mov edx, ebx
call fcn.1400f7560
jmp 0x1400fad89
cmp r14d, 2
jbe 0x1400f9f1d
cmp r14d, 3
je 0x1400fa1b6
cmp r14d, 5
jne 0x1400fa363
call fcn.1400f83b0
mov r12d, eax
movzx edx, byte [0x140790231]
mov rcx, qword [0x140716008]
mov r14d, dword [0x140715ff4]
mov qword [rbp + 0x118], rdx
or r14d, edx
mov edi, 0xffff5058
sub edi, eax
sub r14d, edi
movsxd rax, r14d
add rax, rcx
call qword [0x140704440]
mov dword [rbp + 0x130], eax
cmp qword [0x1407902c8], 0
jne 0x1400f9c96
nop
mov dword [rbp + 0x108], edi
mov rax, qword [rbp + 0x118]
add eax, r12d
mov ecx, dword [rbp + 0x130]
mov rdx, rcx
shl rdx, 0x23
or rdx, rcx
movabs rcx, 0xb318b2b8f6631157
xor rcx, rdx
mov rdx, qword [0x140716010]
mov r8d, dword [0x140715ff0]
add eax, r8d
add eax, 0xafa8
cdqe
add rax, rdx
call qword [0x140704440]
nop
mov qword [rbp + 0x110], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x110]
mov qword [0x1407902c8], rax
mov eax, dword [rbp + 0x1c0]
test al, 0x20
je 0x1400fa840
nop
mov rax, qword [0x1407902c8]
mov qword [rbp + 0x70], rax
mov word [rbp + 0x60], 0x100
mov ecx, 0xffffffff
mov qword [rbp + 0x64], rcx
lea rcx, [0x1405eb4d8]
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x78], 0xffffffff
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fae4]
call fcn.140095380
mov rsi, rax
cmp qword [0x140790268], 0
jne 0x1400fa8c7
nop
mov edi, dword [rbp + 0x130]
mov rax, rdi
shl rax, 0x1c
movabs rcx, 0xf663165866316bf
xor rcx, rdi
xor rcx, rax
call fcn.1400954c0
lea rcx, [0x1405e78d8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov rcx, rdi
shl rcx, 0x24
or rcx, rdi
movabs rdx, 0x66316570f6631658
xor rdx, rcx
mov qword [rax + 0x30], rdx
mov byte [rax + 0x18], 0
lea rcx, [0x1405e7948]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140790268], rax
jmp 0x1400fa8c7
cmp r14d, 6
je 0x1400fa2a9
cmp r14d, 8
jne 0x1400fa457
lea rax, [0x1405e9038]
mov rbx, qword [rbp + 0x128]
mov qword [rbx], rax
lea rax, [0x1405e90b0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 0xffffffffffffffff
mov dword [rbx + 0x18], 0
mov byte [rbx + 0x1c], 0
lea rax, [rbx + 0x20]
mov qword [rbp + 0x118], rax
mov qword [rbx + 0x28], 0xffffffffffffffff
mov dword [rbx + 0x30], 0
mov byte [rbx + 0x34], 0
lea rax, [0x1405e91d8]
mov qword [rbx + 0x20], rax
call fcn.1400f83c0
mov r14d, eax
movzx edx, byte [0x140790208]
mov rcx, qword [0x140716540]
mov eax, dword [0x140716500]
mov dword [rbp + 0x120], edx
xor eax, edx
mov edx, 0xb47b
sub edx, r14d
mov dword [rbp + 0x130], edx
sub eax, edx
cdqe
add rax, rcx
call qword [0x140704440]
mov edi, eax
mov qword [rbx + 0x38], 0
mov byte [rbx + 0x40], 0
lea rcx, [rbx + 0x48]
nop
mov qword [rbp + 0x110], rcx
call fcn.140095a50
nop
mov rax, qword [rbp + 0x128]
lea r9, [rax + 0x50]
nop
mov dword [rsp + 0x20], 0x59eff4a1
mov qword [rbp + 0x108], r9
call fcn.1400f9ac0
add r14d, 0xffff4b85
mov dword [rbp + 0x100], r14d
mov rax, qword [rbp + 0x128]
lea rcx, [rax + 0xd8]
mov word [rax + 0x100], 0
nop
mov qword [rbp + 0xf8], rcx
call fcn.140095950
nop
mov rax, qword [rbp + 0x128]
mov qword [rax + 0x108], rsi
mov qword [rax + 0x110], 0
mov qword [rax + 0x118], 0xffffffffffffffff
mov dword [rax + 0x120], 0
mov dword [rax + 0x123], 0
mov qword [rax + 0x128], 0
mov qword [rax + 0x130], 0
lea rcx, [rax + 0x138]
call fcn.140095a60
xorps xmm0, xmm0
mov rsi, qword [rbp + 0x128]
movups xmmword [rsi + 0x190], xmm0
movups xmmword [rsi + 0x180], xmm0
movups xmmword [rsi + 0x170], xmm0
movups xmmword [rsi + 0x160], xmm0
mov byte [rsi + 0x1a0], 0
xor edi, 0xf663169f
mov dword [rsi + 0x1a4], edi
mov byte [rsi + 0x1a8], 0
jmp 0x1400fb26e
test r14d, r14d
je 0x1400fa2eb
cmp r14d, 2
jne 0x1400fa4c9
call fcn.1400f83c0
cmp qword [0x1407902c8], 0
je 0x1400fa8b4
mov eax, dword [rbp + 0x1c0]
test al, 0x40
je 0x1400fae50
mov eax, 0xffffffff
jmp 0x1400fad89
cmp r14d, 9
jne 0x1400fa73d
lea rax, [0x1405e8ed8]
mov qword [rsi], rax
lea r15, [rsi + 8]
mov dword [rsi + 8], 0
mov word [rsi + 0xc], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 0xf
mov byte [rsi + 0x20], 0
lea rax, [0x1405e7948]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x58], 0
mov qword [rsi + 0x60], 0xf
mov byte [rsi + 0x48], 0
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x80], 0
mov qword [rsi + 0x88], 0xf
mov byte [rsi + 0x70], 0
mov qword [rsi + 0x68], rax
mov byte [rsi + 0x90], 0
mov dword [rsi + 0x94], 0
lea rdi, [rsi + 0xa8]
xorps xmm6, xmm6
movups xmmword [rsi + 0xb0], xmm6
mov qword [rsi + 0xc0], 0
mov byte [rsi + 0xc8], 1
mov dword [rsi + 0xcc], 1
movups xmmword [rsi + 0xd0], xmm6
mov qword [rsi + 0xe0], 0
lea rax, case.0x140359a05.38
mov qword [rsi + 0xa8], rax
mov qword [rsi + 0xa0], 0
call fcn.1400f83c0
mov r13d, eax
mov rcx, qword [0x140716690]
mov eax, dword [0x14071666c]
add eax, r13d
add eax, 0xffff146a
cdqe
add rax, rcx
call qword [0x140704440]
mov r14d, eax
mov byte [rsi + 0x1e0], 0
lea rbx, [rsi + 0x1e4]
mov r8d, 0x150
mov rcx, rbx
xor edx, edx
call fcn.1405c44a0
mov dword [rbp + 0xe8], r13d
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], r15
mov rcx, rbx
call fcn.140095960
nop
mov dword [rsi + 0x334], 0
lea r12, [rsi + 0x348]
movups xmmword [rsi + 0x348], xmm6
movups xmmword [rsi + 0x358], xmm6
mov qword [rsi + 0x368], 0
mov eax, r14d
movabs rcx, 0x223550b0446aa66
xor rcx, rax
shl rax, 0x1f
xor rcx, rax
mov qword [rbp + 8], r12
mov qword [rbp + 0x110], rbx
mov qword [rbp], rbx
mov dword [rbp + 0xec], r13d
mov qword [rbp + 0x120], rdi
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], r15
call fcn.1400954c0
lea rcx, [rsi + 0x360]
mov qword [rbp + 0x108], rcx
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsi + 0x360], rax
lea rax, [rsi + 0x370]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movups xmmword [rsi + 0x370], xmm0
mov qword [rsi + 0x380], 0
lea rax, [rsi + 0x390]
mov qword [rbp + 0x100], rax
movups xmmword [rsi + 0x390], xmm0
mov qword [rsi + 0x3a0], 0
mov eax, dword [0x1407901c0]
mov ecx, dword [0x140793440]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1400fa7fb
xor eax, eax
mov ecx, dword [rbp + 0x1c0]
test cl, 0x20
je 0x1400fad89
jmp 0x1400fafb0
call fcn.1400f83c0
cmp qword [0x140790320], 0
jne 0x1400fa29c
nop
movzx edx, byte [0x1407901d1]
mov rcx, qword [0x140716498]
mov ebx, dword [0x140716484]
mov r8d, ebx
mov qword [rbp + 0x120], rdx
xor r8d, edx
mov qword [rbp + 0x118], rax
lea r14d, [rax + r8]
add r14d, 0xadac
movsxd rax, r14d
add rax, rcx
mov ecx, 0x780
call qword [0x140704440]
cmp qword [0x1407902c8], 0
nop
mov qword [rbp + 0x130], rax
jne 0x1400fa277
mov eax, dword [rbp + 0x1c0]
test al, 0x10
jne 0x1400fb158
mov ecx, 0x700
call fcn.1400954c0
mov rcx, rax
mov rax, qword [rbp + 0x120]
neg eax
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x128], rcx
mov rdx, rcx
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
nop
mov rax, qword [rbp + 0x130]
nop
mov rcx, qword [0x1407902c8]
mov r8d, 0x900cee88
mov r9, rax
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x130]
mov qword [0x140790320], rax
nop
mov rsi, qword [0x140790320]
jmp 0x1400fb26e
call fcn.1400f8400
mov rcx, qword [0x140715f98]
mov edx, dword [0x140715f84]
mov ebx, 0xbd97
sub ebx, eax
sub edx, ebx
movsxd rax, edx
add rax, rcx
call qword [0x140704440]
mov edi, eax
cmp qword [0x1407902c8], 0
je 0x1400fa8ed
lea r14, [rbp + 0x58]
xor esi, esi
jmp 0x1400fac55
nop
mov eax, dword [0x140716188]
mov dword [rbp + 0x130], eax
mov r12, qword [0x1407902c8]
test r12, r12
jne 0x1400fa59e
mov ecx, 0x700
call fcn.1400954c0
nop
mov qword [rbp + 0x118], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rcx, qword [rbp + 0x118]
mov qword [0x1407902c8], rcx
mov eax, dword [rbp + 0x1c0]
test al, 0x10
jne 0x1400fa59e
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x58]
mov qword [rbp + 0x120], rax
jmp 0x1400fa57b
nop
mov ebx, dword [0x140716184]
cmp qword [0x1407902c8], 0
jne 0x1400fa3b3
mov ecx, 0x700
call fcn.1400954c0
nop
mov qword [rbp + 0x118], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov r15, qword [rbp + 0x118]
mov qword [0x1407902c8], r15
test dword [rbp + 0x1c0], 0x100
je 0x1400fa755
nop
mov r12, qword [0x1407902c8]
mov qword [rbp + 0x70], r12
mov word [rbp + 0x60], 0x100
mov eax, 0xffffffff
mov qword [rbp + 0x64], rax
lea rax, [0x1405eb6c8]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x80]
lea rax, [0x1405e9178]
mov qword [rbp + 0x80], rax
lea r15, [rbp + 0x88]
mov rax, r13
lea r13, [rbp + 0xa0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], 0
movups xmmword [rbp + 0xa4], xmm0
movups xmmword [rbp + 0xb0], xmm0
mov dword [rbp + 0x78], eax
mov dword [rbp + 0x7c], 2
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x1400fa983
mov esi, dword [rbp + 0x1c0]
test sil, sil
js 0x1400fab4f
lea rsi, [rbp + 0xa4]
jmp 0x1400fb103
call fcn.1400f8400
mov edx, eax
movzx r13d, byte [0x140790208]
mov rcx, qword [0x1407169a8]
mov eax, dword [0x140716988]
mov qword [rbp + 0x120], rdx
sub edx, r13d
add eax, edx
add eax, 0xffffbf69
cdqe
add rax, rcx
call qword [0x140704440]
mov r14d, eax
mov r12d, dword [rsi]
xor eax, 0xd1691218
cmp r12d, eax
jae 0x1400fa840
mov qword [rbp + 0x130], r13
lea r12, [rbp + 0x58]
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x118], rax
lea r15, [rbp + 0x58]
lea r13, [rbp + 0x58]
jmp 0x1400fa99d
lea rax, [0x1405e9118]
mov qword [rsi], rax
lea rbx, [rsi + 0x50]
xorps xmm6, xmm6
movups xmmword [rsi + 0x50], xmm6
movups xmmword [rsi + 8], xmm6
movups xmmword [rsi + 0x18], xmm6
movups xmmword [rsi + 0x28], xmm6
movups xmmword [rsi + 0x38], xmm6
mov byte [rsi + 0x48], 0
mov ecx, 0x88
call fcn.1400954c0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsi + 0x50], rax
movups xmmword [rsi + 0x60], xmm6
call fcn.1400f83b0
mov edi, eax
mov dword [rbp + 0xf4], eax
mov qword [rbp + 0x48], rbx
mov ecx, 0x48
call fcn.1400954c0
nop
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsi + 0x60], rax
movups xmmword [rsi + 0x70], xmm6
mov qword [rsi + 0x80], 0
xor eax, eax
test al, al
jne 0x1400fa72a
mov qword [rbp + 0x128], rbx
mov dword [rbp + 0x130], edi
lea rax, [rsi + 0x60]
mov qword [rbp + 0x120], rax
lea rcx, [rsi + 0x70]
nop
mov qword [rbp + 0x118], rcx
mov qword [rsp + 0x20], rcx
mov r9d, 0x20
mov r8d, 0xdb6e6e34
call fcn.1400fbfb0
jmp 0x1400fb26e
nop
mov r14, qword [0x1407902c8]
mov qword [rbp + 0x70], r14
mov word [rbp + 0x60], 0x100
mov eax, 0xffffffff
mov qword [rbp + 0x64], rax
lea rax, [0x1405eb6c8]
mov qword [rbp + 0x58], rax
lea rax, [0x1405e9178]
mov qword [rbp + 0x80], rax
xorps xmm6, xmm6
movups xmmword [rbp + 0x88], xmm6
mov qword [rbp + 0x98], 0
movups xmmword [rbp + 0xa4], xmm6
movups xmmword [rbp + 0xb0], xmm6
mov dword [rbp + 0x78], ebx
mov dword [rbp + 0x7c], edi
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x1400fa633
mov ebx, dword [rbp + 0x1c0]
test ebx, 0x200
jne 0x1400fab3f
nop
mov edx, dword [rbp + 0x130]
xor edx, 0x58732ef6
call fcn.140095520
test bl, bl
js 0x1400fa6d7
lea rax, [rbp + 0x80]
movups xmmword [rax + 8], xmm6
mov qword [rax + 0x18], 0
mov byte [rbp + 0xa0], 1
mov rcx, qword [r14 + 0x6f0]
movzx edx, word [0x14078faf4]
call fcn.140095380
lea rcx, [rbp + 0x58]
mov rbx, rcx
mov edx, r13d
mov r8, rax
mov r9b, 1
call fcn.1400f3d80
test eax, eax
je 0x1400faead
mov eax, dword [rbp + 0x1c0]
test al, 0x40
jne 0x1400faecf
nop
mov rcx, qword [rbp + 0x90]
cmp ecx, edi
cmovl edi, ecx
test rcx, rcx
lea rsi, [0x1405eb6c8]
je 0x1400fa6ab
mov rcx, qword [rbp + 0x88]
movsxd rdx, edi
mov r8d, 0xa3e18f45
mov r9, r15
call fcn.140101460
jmp 0x1400faeb6
call fcn.1400f8400
cmp qword [0x1407902c8], 0
jne 0x1400fab6a
mov r13d, eax
nop
mov rcx, qword [0x140715d60]
mov eax, dword [0x140715d54]
mov edx, 0xd548
sub edx, r13d
mov dword [rbp + 0x130], edx
sub eax, edx
cdqe
add rax, rcx
mov ecx, 0x700
call qword [0x140704440]
nop
mov qword [rbp + 0x128], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
mov eax, dword [rbp + 0x1c0]
test al, 0x20
je 0x1400fab6a
jmp 0x1400fb26e
call fcn.1400f83e0
cmp qword [0x1407902c8], 0
jne 0x1400fb20f
mov ebx, eax
xor r15d, r15d
nop
mov rcx, qword [0x140715d28]
mov eax, 0xf83b
sub eax, ebx
mov dword [rbp + 0x130], eax
mov r13d, eax
sub r13d, dword [0x140715d14]
mov eax, r13d
neg eax
cdqe
add rax, rcx
mov ecx, 0x700
call qword [0x140704440]
nop
mov qword [rbp + 0x120], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x120]
mov qword [0x1407902c8], rax
mov eax, dword [rbp + 0x1c0]
test al, 0x10
je 0x1400fb20f
mov rcx, r15
lea r15, [rbp + 0xc0]
lea rax, [rbp + 0x58]
mov qword [rbp + 0x120], rax
lea r12, [rbp - 0x40]
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x100], rax
mov rax, rcx
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x110], rcx
mov edx, r14d
xor edx, 0x640075ae
mov rcx, qword [0x1407166d0]
mov eax, dword [0x140716674]
add eax, r13d
add eax, 0xffff146a
cdqe
add rax, rcx
lea rcx, [0x1407901c0]
call qword [0x140704440]
cmp dword [0x1407901c0], 0xffffffff
mov edi, r14d
jne 0x1400fafb0
jmp 0x1400faf0a
add r13d, dword [rbp + 0x120]
nop
mov rax, qword [r15 + 0x18]
mov ecx, 0x128
add rcx, qword [rax + 0x6f8]
movzx r8d, byte [r15 + 0x20]
mov edx, r14d
xor edx, 0xc169ede7
and edx, r12d
mov r9d, r14d
xor r9d, 0x2d85c4be
mov r10, qword [0x1407169c8]
mov eax, dword [0x140716980]
add eax, r13d
add eax, 0xffffbf69
cdqe
add rax, r10
call qword [0x140704440]
xor r14d, 0x3e97ede7
and dword [rsi], r14d
mov rax, qword [rbp + 0x128]
mov dword [rax], 0
mov esi, 1
jmp 0x1400fb26e
mov ecx, dword [rbp + 0x1c0]
test cl, 0x10
jne 0x1400fadb4
lea rsi, [rbp + 0x58]
nop
mov rax, qword [0x140790268]
sub ebx, dword [rax + 0x38]
lea rcx, [rbp + 0x58]
mov edx, ebx
mov r8, rsi
call fcn.1400f4c10
xor esi, esi
test eax, eax
sete sil
jmp 0x1400fb26e
mov eax, edi
movabs rcx, 0x182d2243c1691518
xor rcx, rax
shl rax, 0x1d
xor rcx, rax
mov rdx, qword [0x140715fa0]
mov eax, dword [0x140715f80]
mov dword [rbp + 0x130], ebx
sub eax, ebx
cdqe
add rax, rdx
call qword [0x140704440]
nop
mov qword [rbp + 0x120], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x120]
mov qword [0x1407902c8], rax
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x120], rax
xor r13d, r13d
xor eax, eax
mov qword [rbp + 0x110], rax
xor r12d, r12d
xor eax, eax
mov qword [rbp + 0x108], rax
xor eax, eax
mov qword [rbp + 0x118], rax
xor eax, eax
mov qword [rbp + 0x100], rax
jmp 0x1400faf9e
mov qword [rbp + 0x118], rdx
mov r14d, edi
mov qword [rbp + 0x130], rbx
mov eax, edi
mov qword [rbp + 0x120], rax
mov eax, dword [rbp + 0x1c0]
test al, 0x40
jne 0x1400fabcf
nop
cmp qword [0x140790268], 0
jne 0x1400faa52
mov ebx, r14d
mov rax, rbx
shl rax, 0x24
or rax, rbx
movabs rcx, 0x16912180c16912f0
xor rcx, rax
mov rdx, qword [0x1407169b0]
mov eax, dword [0x140716990]
or eax, dword [rbp + 0x130]
mov r8, qword [rbp + 0x120]
add eax, r8d
add eax, 0xffffbf69
cdqe
add rax, rdx
call qword [0x140704440]
lea rcx, [0x1405e78d8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov rcx, rbx
shl rcx, 0x21
or rcx, rbx
movabs rdx, 0x82d22430c1691217
xor rdx, rcx
mov qword [rax + 0x30], rdx
mov byte [rax + 0x18], 0
lea rcx, [0x1405e7948]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140790268], rax
nop
mov rax, qword [0x140790268]
mov ebx, dword [rsi + 0x10]
add rbx, qword [rax + 0x38]
mov r8d, dword [rsi + 0x14]
lea rax, [0x1405eb468]
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xc8], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0xe0], 0
mov r9d, r14d
xor r9d, 0xaa628b5b
mov rcx, qword [0x1407169c0]
mov rdx, qword [rbp + 0x120]
lea r13d, [rdx - 0x4097]
mov rax, qword [rbp + 0x130]
add eax, edx
add eax, 0xffffbf69
add eax, dword [0x140716994]
cdqe
add rax, rcx
lea rcx, [rbp + 0xc0]
mov rdx, rbx
call qword [0x140704440]
or al, byte [0x140790208]
mov byte [rbp + 0xe0], al
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x1400faaef
mov rdx, qword [rsi + 0x68]
lea r15, [rbp + 0xe0]
lea r12, [rsi + 0x68]
mov r8d, dword [rsi + 0x14]
mov rcx, qword [0x1407169d0]
sub r13d, dword [rbp + 0x130]
add r13d, dword [0x14071698c]
movsxd rax, r13d
add rax, rcx
mov rcx, rbx
call qword [0x140704440]
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x1400fb1c2
lea rax, [rsi + 0x70]
mov rbx, qword [rbp + 0x130]
jmp 0x1400fb169
lea rsi, [rbp + 0x58]
mov rbx, qword [rbp + 0x120]
jmp 0x1400fb094
nop
mov qword [rbp + 0x118], rdx
xor ebx, 0x66d02fea
mov edx, ebx
call fcn.140095520
test sil, 0x10
jne 0x1400fabcf
nop
mov rax, qword [0x1407902c8]
mov qword [rbp + 0xd8], rax
mov word [rbp + 0xc8], 0x100
mov ecx, 0xffffffff
mov qword [rbp + 0xcc], rcx
lea rcx, [0x1405eb0c8]
mov qword [rbp + 0xc0], rcx
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fac8]
call fcn.140095380
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0x120]
mov r8, rax
xor r9d, r9d
call fcn.1400f3d80
mov esi, eax
jmp 0x1400fb26e
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov byte [r13], 1
mov rcx, qword [r12 + 0x6f0]
movzx edx, word [0x14078faf2]
call fcn.140095380
lea rcx, [rbp + 0x58]
mov edx, edi
mov r8, rax
mov r9b, 1
call fcn.1400f3d80
test eax, eax
je 0x1400fad90
nop
mov rcx, qword [rbp + 0x90]
cmp ecx, 2
mov eax, 2
cmovl eax, ecx
test rcx, rcx
mov r14, qword [rbp + 0x118]
je 0x1400fac32
mov rcx, qword [r15]
movsxd rdx, eax
lea r9, [rbp + 0xc0]
mov r8d, 0xd6c5bde5
call fcn.140101460
movzx esi, word [rbp + 0xc0]
or rsi, 0x40000000
mov ebx, edi
mov eax, dword [rbp + 0x1c0]
test al, 0x20
je 0x1400fad9c
jmp 0x1400fb03b
test rax, rax
jne 0x1400fac9e
mov ecx, 0x700
call fcn.1400954c0
nop
mov qword [rbp + 0x128], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
nop
mov rdi, qword [0x140790260]
test rdi, rdi
je 0x1400f9f43
nop
mov rsi, qword [0x1407902c8]
mov dword [rdi + 0xc], 0
movzx eax, byte [rdi + 0x10]
xor al, 1
mov byte [rsi + 0x6ed], al
mov edx, ebx
mov ecx, 0x40905ac3
xor r8d, r8d
mov r9, rsi
call fcn.1400f8880
mov byte [rsi + 0x6ed], 0
test rax, rax
je 0x1400fb28c
nop
mov eax, dword [rax + 8]
test eax, eax
jne 0x1400fad89
jmp 0x1400f9f51
test rax, rax
jne 0x1400fad31
mov ecx, 0x700
call fcn.1400954c0
nop
mov qword [rbp + 0x128], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
nop
mov rax, qword [0x1407902c8]
mov qword [rbp + 0x70], rax
mov word [rbp + 0x60], 0
mov ecx, 0xffffffff
mov qword [rbp + 0x64], rcx
lea rcx, [0x1405eb178]
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x78], edi
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fad4]
call fcn.140095380
lea rcx, [rbp + 0x58]
mov edx, ebx
mov r8, rax
mov r9b, 1
call fcn.1400f3d80
mov ecx, eax
xor eax, eax
cmp eax, dword [rbp + 0x68]
sbb eax, eax
or eax, ecx
mov esi, eax
jmp 0x1400fb26e
mov esi, 0x80000000
mov r14, qword [rbp + 0x118]
lea rax, [0x1405eb6c8]
mov qword [rbp + 0x58], rax
mov rcx, r14
call fcn.140095f50
jmp 0x1400fb26e
nop
mov rcx, qword [0x140716158]
mov edx, dword [0x140716140]
mov r8d, 0xffff5e0c
sub r8d, eax
mov dword [rbp + 0x130], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
mov ecx, 0x700
call qword [0x140704440]
nop
mov qword [rbp + 0x128], rax
mov rdx, rax
mov r8d, 0xaf1fb40d
call fcn.1400fbfb0
nop
mov rax, qword [rbp + 0x128]
mov qword [0x1407902c8], rax
mov eax, dword [rbp + 0x1c0]
test al, al
js 0x1400fae50
xor eax, eax
mov qword [rbp + 0x100], rax
xor eax, eax
mov qword [rbp + 0x118], rax
xor eax, eax
mov qword [rbp + 0x108], rax
xor r12d, r12d
xor eax, eax
mov qword [rbp + 0x110], rax
xor r13d, r13d
xor eax, eax
mov qword [rbp + 0x120], rax
xor r15d, r15d
jmp 0x1400fafb0
nop
mov rax, qword [0x1407902c8]
mov qword [rbp + 0x70], rax
mov word [rbp + 0x60], 0x100
mov ecx, 0xffffffff
mov qword [rbp + 0x64], rcx
lea rcx, [0x1405eb4d8]
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x78], r13d
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fae6]
call fcn.140095380
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x120]
mov r8, rax
call fcn.1400f4c10
xor esi, esi
test eax, eax
sete sil
jmp 0x1400fb26e
xor edi, edi
lea rsi, [0x1405eb6c8]
lea rcx, [rbp + 0x80]
nop
mov qword [rbp + 0x58], rsi
call fcn.140095f50
mov rsi, rdi
jmp 0x1400fb26e
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x108], rax
lea rcx, [rbp - 0x40]
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x120], rax
mov rax, rcx
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x100], rcx
mov r15, rbx
nop
mov qword [rbp + 0x50], r15
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0x130], r13
lea rdx, [0x14078fff8]
mov r8d, 0x870cf4d0
call fcn.1400fbfb0
mov edx, edi
xor edx, 0xddd17d7a
mov rcx, qword [0x140716680]
mov eax, dword [0x140716650]
mov ebx, 0xeb96
mov r13, qword [rbp + 0x130]
sub ebx, r13d
sub eax, ebx
cdqe
add rax, rcx
lea rcx, [0x1400f7e30]
call qword [0x140704440]
xor edi, 0xae7edffa
mov rcx, qword [0x140716688]
mov eax, dword [0x140716654]
sub eax, ebx
cdqe
add rax, rcx
lea rcx, [0x1407901c0]
mov edx, edi
call qword [0x140704440]
xor edi, edi
nop
mov r12, qword [rbp + 0xf8]
mov r15, qword [rbp + 0x50]
mov ebx, edi
test dword [rbp + 0x1c0], 0x100
jne 0x1400fb03b
nop
mov qword [rbp + 0x50], r15
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0x130], r13
lea rax, [0x14078fff8]
mov qword [rsi + 0x3a8], rax
lea rax, [rsi + 0x3c8]
mov qword [rbp + 0x128], rax
xorps xmm0, xmm0
movups xmmword [rsi + 0x3d0], xmm0
mov qword [rsi + 0x3e0], 0
mov byte [rsi + 0x3e8], 1
mov dword [rsi + 0x3ec], 1
movups xmmword [rsi + 0x3f0], xmm0
mov qword [rsi + 0x400], 0
lea rax, case.0x140359a05.38
mov qword [rsi + 0x3c8], rax
nop
mov qword [rsp + 0x20], rsi
mov r8d, 0x508de3c3
call fcn.1400fbfb0
jmp 0x1400fb26e
nop
mov rax, qword [0x1407902c8]
mov qword [rbp + 0xd8], rax
mov word [rbp + 0xc8], 0x100
mov ecx, 0xffffffff
mov qword [rbp + 0xcc], rcx
lea rcx, [0x1405eb3b8]
mov qword [rbp + 0xc0], rcx
mov byte [rbp + 0xe0], 0
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fae0]
call fcn.140095380
mov rsi, rax
cmp qword [0x140790268], 0
jne 0x1400fb103
mov edi, ebx
mov rax, rdi
shl rax, 0x20
or rax, rdi
movabs rcx, 0xc1691218c16912f0
xor rcx, rax
call fcn.1400954c0
lea rcx, [0x1405e78d8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov rcx, rdi
shl rcx, 0x1f
movabs rdx, 0x60b4890cc1691217
xor rdx, rdi
xor rdx, rcx
mov qword [rax + 0x30], rdx
mov byte [rax + 0x18], 0
lea rcx, [0x1405e7948]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140790268], rax
nop
mov rax, qword [0x140790268]
mov ecx, ebx
xor ecx, 0xcd0bb488
mov rdx, qword [rbp + 0x128]
sub edx, dword [rax + 0x38]
lea eax, [rcx + rdx]
inc eax
mov ecx, ebx
shl ecx, 0x1f
xor ecx, ebx
xor ecx, eax
xor ecx, 0x32f44b77
xor ebx, 0x32f44b77
and ebx, eax
lea edx, [rcx + rbx*2]
lea rcx, [rbp + 0xc0]
mov r8, rsi
call fcn.1400f4c10
xor esi, esi
test eax, eax
sete sil
jmp 0x1400fb26e
lea r15, [rbp + 0x58]
lea rax, [rbp + 0x58]
lea r12, [rbp + 0xc0]
xor ecx, ecx
nop
cmp dword [rsi + 0x84], 1
jne 0x1400fb17e
nop
mov r8, qword [rax]
xor edx, edx
call fcn.1405c44a0
nop
mov rcx, qword [r12]
test rcx, rcx
nop
mov qword [rbp + 0x130], rbx
je 0x1400fb1c2
mov edx, r14d
xor edx, 0x51da2ba5
mov r8, qword [0x1407169b8]
mov eax, dword [0x140716998]
xor eax, ebx
mov r9, qword [rbp + 0x120]
add eax, r9d
add eax, 0xffffbf69
cdqe
add rax, r8
call qword [0x140704440]
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov byte [rsi + 0x80], 1
xor r14d, 0x3e97ede7
and dword [rsi], r14d
mov rax, qword [rbp + 0x128]
mov dword [rax], 0
lea rax, [0x1405eb468]
mov qword [rbp + 0xc0], rax
cmp byte [r15], 0
je 0x1400fb269
mov eax, dword [rbp + 0x1c0]
test al, al
js 0x1400fb25d
nop
mov rax, qword [0x1407902c8]
lea rcx, [0x1405eb018]
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x28], rax
mov word [rbp - 0x38], 0x100
mov ecx, 0xffffffff
mov qword [rbp - 0x34], rcx
mov rcx, qword [rax + 0x6f0]
movzx edx, word [0x14078fac4]
call fcn.140095380
lea rcx, [rbp - 0x40]
mov edx, edi
mov r8, rax
mov r9b, 1
call fcn.1400f3d80
mov esi, eax
jmp 0x1400fb26e
lea rcx, [rbp + 0xc0]
call fcn.1400f75e0
mov esi, 1
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x140]
add rsp, 0x1d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov dword [rdi + 0xc], 0xfffffffe
jmp 0x1400f9f51