Function at 0x40e1ff
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov eax, dword [0x0044823c]
lea ebx, [rax - 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete r9b
cmp dword [0x00448238], 0xa
setl al
mov ebx, eax
and bl, r9b
xor al, r9b
or al, bl
test al, al
je 0x40e234
xor eax, eax
cmp rdx, rcx
jae 0x40edc3
mov dword [rsp + 4], ecx
mov ebx, dword [rsp + 4]
imul ebx, ebx, 0xaaaaaaab
add ebx, 0x2aaaaaaa
cmp ebx, 0x55555554
jbe 0x40e28f
add dword [rsp + 4], 2
mov ebx, dword [rsp + 4]
not ebx
or ebx, 0xfffffffc
cmp ebx, 0xffffffff
jne 0x40e655
inc dword [rsp + 4]
mov edi, dword [rsp + 4]
mov ebx, edi
xor ebx, 0xfffffffc
test ebx, edi
je 0x40e279
jmp 0x40e655
mov edi, dword [rsp + 4]
mov ebx, edi
xor ebx, 0xfffffffe
mov r9d, dword [rsp + 4]
test ebx, edi
je 0x40e2dd
mov ebx, dword [0x00448244]
lea esi, [rbx - 1]
imul esi, ebx
mov edi, esi
xor edi, 0xfffffffe
test edi, esi
sete r10b
cmp dword [0x00448240], 0xa
setl bl
add r9d, 0xfffffffe
test bl, r10b
jne 0x40e5d7
xor bl, r10b
je 0x40e61a
jmp 0x40e5d7
mov ebx, r9d
xor ebx, 0xfffffffc
mov r11d, dword [rsp + 4]
test ebx, r9d
je 0x40e32d
mov ebx, dword [0x00448244]
lea esi, [rbx - 1]
imul esi, ebx
mov edi, esi
xor edi, 0xfffffffe
test edi, esi
sete r10b
cmp dword [0x00448240], 0xa
setl bl
lea r9d, [r11 + r11*2]
test bl, r10b
jne 0x40ea44
xor bl, r10b
jne 0x40ea44
lea esi, [r9 + 6]
jmp 0x40ea40
imul ebx, r11d, 0xcccccccd
add ebx, 0x19999999
mov esi, dword [rsp + 4]
cmp ebx, 0x33333332
jbe 0x40e3d0
mov ebp, esi
add ebp, 0xb
movsxd rbp, ebp
imul rbp, rbp, 0xffffffffb21642c9
shr rbp, 0x20
add ebp, esi
add ebp, 0xb
mov ebx, ebp
shr ebx, 0x1f
sar ebp, 4
add ebp, ebx
mov dword [rsp + 4], ebp
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xaaaaaaab
add ebp, 0x2aaaaaaa
cmp ebp, 0x55555554
ja 0x40e655
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xcccccccd
add ebp, 0x19999999
xor ebx, ebx
cmp ebp, 0x33333332
seta bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xaaaaaaab
add ebp, 0x2aaaaaaa
cmp ebp, 0x55555555
jb 0x40e38c
jmp 0x40e655
imul ebx, esi, 0xb6db6db7
add ebx, 0x12492492
mov esi, dword [rsp + 4]
cmp ebx, 0x24924924
jbe 0x40e407
add esi, 2
mov dword [rsp + 4], esi
mov ebp, dword [rsp + 4]
not ebp
or ebp, 0xfffffff8
cmp ebp, 0xffffffff
jne 0x40e655
inc dword [rsp + 4]
jmp 0x40e3ef
not esi
or esi, 0xfffffff8
mov r9d, dword [rsp + 4]
cmp esi, 0xffffffff
je 0x40e467
mov ebp, dword [0x00448244]
mov ebx, dword [0x00448240]
lea edi, [rbp - 1]
imul edi, ebp
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete r11b
setne r10b
cmp ebx, 0xa
setl sil
cmp ebx, 9
setg bl
lea r9d, [r9 + r9*2]
cmp sil, r11b
jne 0x40eb37
or bl, r10b
xor bl, 1
jne 0x40eb37
lea r10d, [r9 + 6]
jmp 0x40eb32
imul ebx, r9d, 0xba2e8ba3
add ebx, 0xba2e8ba
mov esi, dword [rsp + 4]
cmp ebx, 0x1745d174
jbe 0x40e577
mov ebp, esi
add ebp, 0xb
movsxd rbp, ebp
imul rbp, rbp, 0xffffffffb21642c9
shr rbp, 0x20
add ebp, esi
add ebp, 0xb
mov ebx, ebp
shr ebx, 0x1f
sar ebp, 4
add ebp, ebx
mov dword [rsp + 4], ebp
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xc4ec4ec5
add ebp, 0x9d89d89
cmp ebp, 0x13b13b12
ja 0x40e655
mov ebp, dword [0x00448244]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40e4f1
xor bl, r9b
je 0x40e54b
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xba2e8ba3
add ebp, 0xba2e8ba
xor ebx, ebx
cmp ebp, 0x1745d174
seta bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
mov ebp, dword [0x00448244]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40e4aa
xor bl, r9b
jne 0x40e4aa
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xba2e8ba3
add ebp, 0xba2e8ba
xor ebx, ebx
cmp ebp, 0x1745d174
seta bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
jmp 0x40e4f1
imul ebx, esi, 0xc4ec4ec5
add ebx, 0x9d89d89
cmp ebx, 0x13b13b12
jbe 0x40e25f
mov ebp, dword [0x00448244]
mov ebx, dword [0x00448240]
lea esi, [rbp - 1]
imul esi, ebp
mov edi, esi
xor edi, 0xfffffffe
test edi, esi
sete r10b
setne r9b
cmp ebx, 0xa
setl r11b
cmp ebx, 9
setg bl
cmp r11b, r10b
jne 0x40ec4c
or bl, r9b
xor bl, 1
je 0x40ec8b
jmp 0x40ec4c
mov dword [rsp + 4], r9d
mov ebx, dword [0x00448244]
mov r11d, dword [0x00448240]
lea edi, [rbx - 1]
imul edi, ebx
mov esi, edi
xor esi, 0xfffffffe
test esi, edi
sete sil
setne r10b
cmp r11d, 0xa
setl dil
cmp r11d, 9
setg bl
cmp dil, sil
jne 0x40e621
or bl, r10b
xor bl, 1
jne 0x40e621
mov dword [rsp + 4], r9d
jmp 0x40e5d7
mov ebx, dword [rsp + 4]
imul ebx, ebx, 0xaaaaaaab
add ebx, 0x2aaaaaaa
cmp ebx, 0x55555554
ja 0x40e655
inc dword [rsp + 4]
mov ebx, dword [rsp + 4]
imul ebx, ebx, 0xaaaaaaab
add ebx, 0x2aaaaaaa
cmp ebx, 0x55555555
jb 0x40e639
movabs rbp, 0x20fd4691fea23a2
sub rcx, rbp
sub rcx, rdx
add rcx, rbp
mov ebp, r8d
cmp rcx, rbp
jae 0x40edc3
mov eax, dword [0x004482d4]
mov ecx, dword [0x004482d0]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete bl
setne r8b
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
cmp al, bl
jne 0x40e6b0
or cl, r8b
xor cl, 1
je 0x40ed40
mov dword [rsp + 8], edx
mov eax, dword [rsp + 8]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
jbe 0x40e6fa
add dword [rsp + 8], 2
mov eax, dword [rsp + 8]
not eax
or eax, 0xfffffffc
cmp eax, 0xffffffff
jne 0x40ed0b
inc dword [rsp + 8]
mov eax, dword [rsp + 8]
mov ecx, eax
xor ecx, 0xfffffffc
test ecx, eax
je 0x40e6e4
jmp 0x40ed0b
mov ebp, dword [rsp + 8]
mov ecx, ebp
xor ecx, 0xfffffffe
mov edi, dword [rsp + 8]
test ecx, ebp
je 0x40e757
mov ecx, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
setne r8b
sete r9b
cmp ebp, 9
setg cl
cmp ebp, 0xa
setl bl
xor bl, r9b
add edi, 0xfffffffe
test bl, bl
jne 0x40ec99
or cl, r8b
xor cl, 1
je 0x40ecd5
jmp 0x40ec99
not edi
or edi, 0xfffffffc
mov ecx, dword [rsp + 8]
cmp edi, 0xffffffff
je 0x40e7b5
mov eax, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rax - 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete r10b
setne r9b
cmp ebp, 0xa
setl al
cmp ebp, 9
setg bl
lea r8d, [rcx + rcx*2]
cmp al, r10b
jne 0x40f096
or bl, r9b
xor bl, 1
jne 0x40f096
lea esi, [r8 + 6]
jmp 0x40f092
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
mov eax, dword [rsp + 8]
cmp ecx, 0x33333332
jbe 0x40e852
mov ecx, eax
add ecx, 0xb
movsxd rcx, ecx
imul rcx, rcx, 0xffffffffb21642c9
shr rcx, 0x20
add eax, ecx
add eax, 0xb
mov ecx, eax
shr ecx, 0x1f
sar eax, 4
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x40ed0b
mov eax, dword [rsp + 8]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
xor ecx, ecx
cmp eax, 0x33333332
seta cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x40e811
jmp 0x40ed0b
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
mov ecx, dword [rsp + 8]
cmp eax, 0x24924924
jbe 0x40e897
add ecx, 2
mov dword [rsp + 8], ecx
mov eax, dword [rsp + 8]
mov ecx, eax
xor ecx, 0xfffffff8
test ecx, eax
jne 0x40ed0b
inc dword [rsp + 8]
mov eax, dword [rsp + 8]
not eax
or eax, 0xfffffff8
cmp eax, 0xffffffff
je 0x40e880
jmp 0x40ed0b
not ecx
or ecx, 0xfffffff8
mov eax, dword [rsp + 8]
cmp ecx, 0xffffffff
je 0x40e8e1
mov ecx, dword [0x00448244]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp dword [0x00448240], 0xa
setl bl
lea edi, [rax + rax*2]
test bl, cl
jne 0x40f16a
xor bl, cl
jne 0x40f16a
lea ecx, [rdi + 6]
jmp 0x40f166
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 8]
cmp ecx, 0x1745d174
jbe 0x40e9e4
mov ecx, eax
add ecx, 0xb
movsxd rcx, ecx
imul rcx, rcx, 0xffffffffb21642c9
shr rcx, 0x20
add eax, ecx
add eax, 0xb
mov ecx, eax
shr ecx, 0x1f
sar eax, 4
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x40ed0b
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40e966
xor cl, al
je 0x40e9bc
mov eax, dword [rsp + 8]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d174
seta cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2 - 1]
mov dword [rsp + 8], eax
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40e923
xor cl, al
jne 0x40e923
mov eax, dword [rsp + 8]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d174
seta cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 8], eax
jmp 0x40e966
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
jbe 0x40e6ca
mov eax, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne r8b
sete bl
cmp ebp, 9
setg cl
cmp ebp, 0xa
setl al
xor al, bl
jne 0x40f271
or cl, r8b
xor cl, 1
je 0x40f2be
jmp 0x40f271
mov dword [rsp + 4], esi
lea esi, [r9 + 6]
mov dword [rsp + 4], esi
mov r11d, dword [0x00448244]
mov r10d, dword [0x00448240]
lea edi, [r11 - 1]
imul edi, r11d
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete bpl
setne dil
cmp r10d, 0xa
setl r14b
cmp r10d, 9
setg bl
cmp r14b, bpl
jne 0x40eac4
or bl, dil
xor bl, 1
je 0x40ea40
jmp 0x40eac4
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xcccccccd
add ebp, 0x19999999
xor ebx, ebx
cmp ebp, 0x33333333
setb bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
mov r11d, dword [0x00448244]
mov r10d, dword [0x00448240]
lea ebp, [r11 - 1]
imul ebp, r11d
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete r9b
cmp r10d, 0xa
setl bl
test bl, r9b
jne 0x40eae9
xor bl, r9b
je 0x40eb19
mov esi, dword [rsp + 4]
mov ebp, dword [0x00448244]
lea ebx, [rbp - 1]
imul ebx, ebp
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40eb1f
xor bl, r9b
jne 0x40eb1f
mov ebp, dword [rsp + 4]
jmp 0x40eae9
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
je 0x40ea8f
jmp 0x40e655
mov dword [rsp + 4], r10d
lea r10d, [r9 + 6]
mov dword [rsp + 4], r10d
mov ebp, dword [0x00448244]
mov esi, dword [0x00448240]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
setne r11b
sete dil
cmp esi, 9
setg bpl
cmp esi, 0xa
setl bl
xor bl, dil
jne 0x40ec2b
or bpl, r11b
xor bpl, 1
je 0x40eb32
jmp 0x40ec2b
mov ebp, dword [0x00448244]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40ebb0
xor bl, r9b
je 0x40ec02
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xba2e8ba3
add ebp, 0xba2e8ba
xor ebx, ebx
cmp ebp, 0x1745d175
setb bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
mov ebp, dword [0x00448244]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40ec2b
xor bl, r9b
jne 0x40ec2b
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xba2e8ba3
add ebp, 0xba2e8ba
xor ebx, ebx
cmp ebp, 0x1745d175
setb bl
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbx*2 - 1]
mov dword [rsp + 4], ebp
jmp 0x40ebb0
mov ebp, dword [rsp + 4]
imul ebp, ebp, 0xcccccccd
add ebp, 0x19999999
cmp ebp, 0x33333332
jbe 0x40eb85
jmp 0x40e655
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbp*2 + 1]
mov dword [rsp + 4], ebp
mov ebp, dword [0x00448244]
lea edi, [rbp - 1]
imul edi, ebp
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete r9b
cmp dword [0x00448240], 0xa
setl bl
test bl, r9b
jne 0x40e655
xor bl, r9b
jne 0x40e655
mov ebp, dword [rsp + 4]
lea ebp, [rbp + rbp*2 + 1]
mov dword [rsp + 4], ebp
jmp 0x40ec4c
mov dword [rsp + 8], edi
mov ecx, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete al
setne r8b
cmp ebp, 0xa
setl cl
cmp ebp, 9
setg bl
cmp cl, al
jne 0x40ecdb
or bl, r8b
xor bl, 1
jne 0x40ecdb
mov dword [rsp + 8], edi
jmp 0x40ec99
mov eax, dword [rsp + 8]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x40ed0b
inc dword [rsp + 8]
mov eax, dword [rsp + 8]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x40ecf1
mov eax, dword [0x004482d4]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x004482d0], 0xa
setl bl
mov eax, 1
test bl, cl
jne 0x40edc3
xor bl, cl
jne 0x40edc3
mov dword [rsp + 0xc], edx
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
jbe 0x40ed79
add dword [rsp + 0xc], 2
mov eax, dword [rsp + 0xc]
mov ecx, eax
xor ecx, 0xfffffffc
test ecx, eax
jne 0x40e6b0
inc dword [rsp + 0xc]
jmp 0x40ed62
mov ecx, dword [rsp + 0xc]
not ecx
or ecx, 0xfffffffe
mov edi, dword [rsp + 0xc]
cmp ecx, 0xffffffff
je 0x40edce
mov ecx, dword [0x00448244]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
xor ecx, 0xfffffffe
test ecx, ebp
sete cl
cmp dword [0x00448240], 0xa
setl bl
add edi, 0xfffffffe
test bl, cl
jne 0x40f2cd
xor bl, cl
je 0x40f30a
jmp 0x40f2cd
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
not edi
or edi, 0xfffffffc
mov ecx, dword [rsp + 0xc]
cmp edi, 0xffffffff
je 0x40ee19
mov eax, dword [0x00448244]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete al
cmp dword [0x00448240], 0xa
setl bl
lea r8d, [rcx + rcx*2]
test bl, al
jne 0x40f34d
xor bl, al
jne 0x40f34d
lea esi, [r8 + 6]
jmp 0x40f349
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
mov eax, dword [rsp + 0xc]
cmp ecx, 0x33333332
jbe 0x40eeb6
mov ecx, eax
add ecx, 0xb
movsxd rcx, ecx
imul rcx, rcx, 0xffffffffb21642c9
shr rcx, 0x20
add eax, ecx
add eax, 0xb
mov ecx, eax
shr ecx, 0x1f
sar eax, 4
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x40e6b0
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
xor ecx, ecx
cmp eax, 0x33333332
seta cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x40ee75
jmp 0x40e6b0
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
mov ecx, dword [rsp + 0xc]
cmp eax, 0x24924924
jbe 0x40eeea
add ecx, 2
mov dword [rsp + 0xc], ecx
mov eax, dword [rsp + 0xc]
mov ecx, eax
xor ecx, 0xfffffff8
test ecx, eax
jne 0x40e6b0
inc dword [rsp + 0xc]
jmp 0x40eed3
not ecx
or ecx, 0xfffffff8
mov eax, dword [rsp + 0xc]
cmp ecx, 0xffffffff
je 0x40ef34
mov ecx, dword [0x00448244]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp dword [0x00448240], 0xa
setl bl
lea edi, [rax + rax*2]
test bl, cl
jne 0x40f42e
xor bl, cl
jne 0x40f42e
lea esi, [rdi + 6]
jmp 0x40f42a
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 0xc]
cmp ecx, 0x1745d174
jbe 0x40f046
mov ecx, eax
add ecx, 0xb
movsxd rcx, ecx
imul rcx, rcx, 0xffffffffb21642c9
shr rcx, 0x20
add eax, ecx
add eax, 0xb
mov ecx, eax
shr ecx, 0x1f
sar eax, 4
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x40e6b0
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete bl
setne r8b
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
cmp al, bl
jne 0x40efc8
or cl, r8b
xor cl, 1
je 0x40f01e
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d174
seta cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2 - 1]
mov dword [rsp + 0xc], eax
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40ef76
xor cl, al
jne 0x40ef76
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d174
seta cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 0xc], eax
jmp 0x40efc8
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
jbe 0x40ed5a
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40f542
xor cl, al
je 0x40f580
jmp 0x40f542
mov dword [rsp + 8], esi
lea esi, [r8 + 6]
mov dword [rsp + 8], esi
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebp, [rax - 1]
imul ebp, eax
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete r9b
cmp ecx, 0xa
setl bl
test bl, r9b
jne 0x40f0cc
xor bl, r9b
je 0x40f092
mov r8d, 0xfffffffe
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete al
cmp ecx, 0xa
setl cl
test cl, al
jne 0x40f0f0
xor cl, al
je 0x40f11d
mov eax, dword [rsp + 8]
mov ecx, dword [0x00448244]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp dword [0x00448240], 0xa
setl bl
test bl, cl
jne 0x40f123
xor bl, cl
jne 0x40f123
mov eax, dword [rsp + 8]
jmp 0x40f0f0
mov ecx, eax
xor ecx, r8d
test ecx, eax
jne 0x40ed0b
mov eax, dword [rsp + 8]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
xor ecx, ecx
cmp eax, 0x33333333
setb cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2 - 1]
mov dword [rsp + 8], eax
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
jmp 0x40f0d2
mov dword [rsp + 8], ecx
lea ecx, [rdi + 6]
mov dword [rsp + 8], ecx
mov eax, dword [0x00448244]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete bl
cmp dword [0x00448240], 0xa
setl al
test al, bl
jne 0x40f252
xor al, bl
je 0x40f166
jmp 0x40f252
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40f1ca
xor cl, al
je 0x40f227
mov eax, dword [rsp + 8]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d175
setb cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2 - 1]
mov dword [rsp + 8], eax
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete bl
setne r8b
cmp ecx, 0xa
setl al
cmp ecx, 9
setg cl
cmp al, bl
jne 0x40f252
or cl, r8b
xor cl, 1
jne 0x40f252
mov eax, dword [rsp + 8]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d175
setb cl
mov eax, dword [rsp + 8]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 8], eax
jmp 0x40f1ca
mov eax, dword [rsp + 8]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
jbe 0x40f1a2
jmp 0x40ed0b
mov eax, dword [rsp + 8]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 8], eax
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete r8b
setne al
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
cmp bl, r8b
jne 0x40ed0b
or cl, al
xor cl, 1
jne 0x40ed0b
mov eax, dword [rsp + 8]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 8], eax
jmp 0x40f271
mov dword [rsp + 0xc], edi
mov ecx, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rcx - 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
setne r8b
cmp ebp, 0xa
setl cl
cmp ebp, 9
setg bl
cmp cl, al
jne 0x40f310
or bl, r8b
xor bl, 1
jne 0x40f310
mov dword [rsp + 0xc], edi
jmp 0x40f2cd
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x40e6b0
inc dword [rsp + 0xc]
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x40f32a
jmp 0x40e6b0
mov dword [rsp + 0xc], esi
lea esi, [r8 + 6]
mov dword [rsp + 0xc], esi
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebx, [rax - 1]
imul ebx, eax
mov ebp, ebx
xor ebp, 0xfffffffe
test ebp, ebx
sete r9b
cmp ecx, 0xa
setl bl
test bl, r9b
jne 0x40f3b6
xor bl, r9b
je 0x40f349
jmp 0x40f3b6
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
xor ecx, ecx
cmp eax, 0x33333333
setb cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 0xc], eax
mov eax, dword [0x00448244]
mov ecx, dword [0x00448240]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
xor eax, 0xfffffffe
test eax, ebp
sete al
cmp ecx, 0xa
setl cl
test cl, al
jne 0x40f3d4
xor cl, al
je 0x40f411
mov edi, dword [rsp + 0xc]
mov ecx, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rcx - 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
setne r8b
sete cl
cmp ebp, 9
setg bl
cmp ebp, 0xa
setl al
xor al, cl
jne 0x40f417
or bl, r8b
xor bl, 1
jne 0x40f417
mov eax, dword [rsp + 0xc]
jmp 0x40f3d4
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
je 0x40f384
jmp 0x40e6b0
mov dword [rsp + 0xc], esi
lea esi, [rdi + 6]
mov dword [rsp + 0xc], esi
mov eax, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ebx, [rax - 1]
imul ebx, eax
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete r8b
setne bl
cmp ebp, 0xa
setl cl
cmp ebp, 9
setg al
cmp cl, r8b
jne 0x40f523
or al, bl
xor al, 1
je 0x40f42a
jmp 0x40f523
mov eax, dword [0x00448244]
mov ebp, dword [0x00448240]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne r8b
sete bl
cmp ebp, 9
setg cl
cmp ebp, 0xa
setl al
xor al, bl
jne 0x40f4ae
or cl, r8b
xor cl, 1
je 0x40f4fb
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d175
setb cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2 - 1]
mov dword [rsp + 0xc], eax
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40f523
xor cl, al
jne 0x40f523
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xba2e8ba3
add eax, 0xba2e8ba
xor ecx, ecx
cmp eax, 0x1745d175
setb cl
mov eax, dword [rsp + 0xc]
lea eax, [rax + rcx*2]
dec eax
mov dword [rsp + 0xc], eax
jmp 0x40f4ae
mov eax, dword [rsp + 0xc]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
jbe 0x40f475
jmp 0x40e6b0
mov eax, dword [rsp + 0xc]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0xc], eax
mov eax, dword [0x00448244]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x00448240], 0xa
setl cl
test cl, al
jne 0x40e6b0
xor cl, al
jne 0x40e6b0
mov eax, dword [rsp + 0xc]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0xc], eax
jmp 0x40f542