Function at 0x140083540
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x168
mov qword [rsp + 0x100], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x100]
add rax, 0x60
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x158]
add rax, 8
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x160], 0
mov rax, qword [rcx]
mov qword [rsp + 0x118], rax
movabs rcx, 0xd5690b3a3f0ea5a6
movabs rdx, 0xd5690b3a3f0ea5a7
xor rcx, rdx
shl rax, cl
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x120], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140284f38]
mulsd xmm0, xmm1
movsd qword [rsp + 0x128], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x130], xmm1
ucomisd xmm0, xmm1
jne 0x14008360f
jp 0x14008360f
jmp 0x14008366d
movsd xmm1, qword [rsp + 0x128]
movsd xmm0, qword [rsp + 0x130]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x128]
movsd qword [rsp + 0xf8], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0xf8]
movsd xmm2, qword [0x140284f40]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14008366d
call fcn.14000f24b
jmp 0x140083fee
mov eax, dword [0x140275dd0]
mov ecx, dword [0x140275dd4]
xor ecx, 0xc55dfde5
xor eax, ecx
mov ecx, eax
and ecx, 0x529b7c70
xor ecx, 0xffffffff
add eax, 0x529b7c70
mov edx, 0xfb5a10b0
xor edx, 0xfb5a10b1
add eax, edx
add eax, ecx
add eax, 0xe440bbd2
mov edx, eax
xor edx, 0xffffffff
and edx, 0x685e97be
mov r8d, 0xffffffff
xor r8d, 0x685e97be
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x1a0d868
xor r8d, 0x69fe4fd6
mov edx, eax
and edx, r8d
mov r8d, 0x998f6792
xor r8d, 0xf1d1f02c
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xbb1de93e
je 0x140084141
mov ecx, dword [0x140275dd8]
mov edx, dword [0x140275ddc]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xe42b3774
xor r8d, 0x1bd4c88b
xor edx, r8d
and ecx, edx
mov edx, 0x561cfe6e
xor edx, 0xa9e30191
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xca93935f
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x588fe6bc
xor edx, 0x97352061
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xcfbac6dd
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xcfbac6dd
or eax, 0xcfbac6dd
imul eax, edx
add eax, ecx
mov ecx, 0xa9f87c18
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x120]
mov ecx, 0x76b64fb8
xor ecx, 0x93e46761
cmp rdx, 0
setl dl
mov byte [rsp + 0xf7], dl
cmp eax, ecx
je 0x1400836f7
mov al, byte [rsp + 0xf7]
test al, 1
jne 0x1400837d8
jmp 0x1400837f8
mov rcx, qword [rsp + 0x120]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x140083fee
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x158]
call fcn.1400413b8
mov r8, qword [rsp + 0x100]
mov rax, qword [rsp + 0x110]
mov rdx, qword [r8]
mov qword [rsp + 0xd0], rdx
mov rcx, r8
add rcx, 8
mov qword [rsp + 0xd8], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rsp + 0x158]
mov qword [r8], r9
mov r9, qword [rsp + 0x160]
mov qword [r8 + 8], r9
mov qword [rsp + 0x158], rdx
mov qword [rax], rcx
lea rax, [rsp + 0x148]
add rax, 8
mov qword [rsp + 0xe0], rax
xor eax, eax
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xc8], rax
cmp rax, rcx
jge 0x140083fc1
mov eax, dword [0x140275de0]
mov ecx, dword [0x140275de4]
xor ecx, 0x5a2492fd
and eax, ecx
or eax, 0x729d4931
or eax, 0x32593431
mov ecx, 0x48161d9e
xor edx, edx
div ecx
cmp eax, 0x913aae49
jae 0x14008414a
mov r8, qword [rsp + 0xc8]
mov eax, dword [0x140275de8]
mov ecx, dword [str.5_w_t]
not eax
xor ecx, 0xaadad891
and eax, ecx
not eax
imul rax, rax, 0x7612e507
shr rax, 0x3e
mov edx, eax
xor edx, 0x54ab53c9
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
imul eax, eax, 0x44d61be5
mov ecx, 0xf7d09fac
test r8, r8
setns dl
mov r9, qword [rsp + 0x158]
mov qword [rsp + 0xb8], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rsp + 0xc7], dl
cmp eax, ecx
je 0x1400838ce
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x140083a57
jmp 0x140083956
mov eax, dword [0x140275df0]
xor eax, dword [0x140275df4]
and eax, 0x3fef757f
mov ecx, 0xe3367807
xor ecx, 0xc01c9dce
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf08ce90
xor edx, 0x960bdd14
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x99031384
and eax, edx
sub eax, ecx
cmp eax, 0x25c5469d
jb 0x140084153
mov rcx, qword [rsp + 0xc8]
mov eax, dword [0x140275df8]
mov r8d, dword [0x140275dfc]
xor r8d, 0x6b87366f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb8]
mov r8d, eax
sub r8d, 0x433980bc
mov eax, 0xc0d35dc4
xor eax, 0x53b5c459
sub r8d, eax
mov eax, r8d
and eax, 0x7c5913fd
xor r8d, 0x7c5913fd
or eax, r8d
mov dword [rsp + 0xb4], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x928f9929bd5511f
movabs r9, 0x928f9929bd5511f
xor r8, r9
movabs r9, 0xdb7db3c55362c069
movabs r10, 0xdb7db3c55362c068
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
call fcn.1400292ad
mov eax, dword [rsp + 0xb4]
cmp eax, 0x5f20e9a2
je 0x140084153
jmp 0x140083fee
mov rax, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx]
mov qword [rsp + 0xa0], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rsp + 0xa8], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0xb3], al
or al, cl
test al, 1
jne 0x140083e90
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x100]
mov r8, qword [rax]
mov qword [rsp + 0x80], r8
mov rax, r8
dec rax
mov qword [rsp + 0x88], rax
and rax, rcx
mov qword [rsp + 0x90], rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rsp + 0x98], rax
jne 0x140083b01
jmp 0x140083b23
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jmp 0x140083b3d
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
call fcn.1400292ad
jmp 0x140083fee
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov eax, dword [0x140275e00]
xor eax, 0xd033cca2
mov r8d, dword [0x140275e04]
mov ecx, 0xa6658bed
xor ecx, 0xa5fdb6cd
xor r8d, ecx
mov ecx, 0x7dce76c4
xor ecx, 0x8231893b
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x58c407af
xor r9d, 0xa73bf850
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x310a2851
add ecx, eax
mov eax, 0xb32d414f
xor eax, 0xb32d414f
sub eax, ecx
mov ecx, 0xda16283c
xor edx, edx
div ecx
mov ecx, 0x432161f3
xor ecx, 0x6a38509a
or eax, ecx
cmp eax, 0x4814f00
jb 0x14008415c
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140275e08]
xor eax, 0x75c9511f
xor edx, edx
div dword [0x140275e0c]
mov rdx, qword [rsp + 0x68]
mov r8d, eax
add r8d, 0xb368821
mov eax, r8d
and eax, 0x739c93ec
xor r8d, 0x739c93ec
or eax, r8d
xor eax, 0x528961cd
add rcx, 8
shl rdx, 5
add rcx, rdx
mov rcx, qword [rcx]
movabs rdx, 0x8d9a34ba0e49b3b6
movabs r8, 0x8d9a34ba0e49b3b6
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0x39c39a01
ja 0x140083bdc
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140083cb8
jmp 0x140083c65
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x68]
inc rdx
mov rcx, rax
xor rcx, rdx
not rcx
or rax, rdx
and rax, rcx
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov rcx, rax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x78], rax
jne 0x140083b3d
jmp 0x140083b23
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa0]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x50], rax
call fcn.140020530
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x58], rcx
cmp rax, rcx
jl 0x140083d26
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.1400292ad
jmp 0x140083fee
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rsp + 0x40], rax
call fcn.1401901a0
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x100]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x148], r11
mov qword [rcx], r8
lea r8, [rsp + 0x148]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140083260
mov rax, qword [rsp + 0x108]
cmp byte [rax], 0
jne 0x140083fee
mov rax, qword [rsp + 0x50]
cmp rax, 0
je 0x140083eb8
mov eax, dword [0x140275e10]
xor edx, edx
div dword [0x140275e14]
mov ecx, 0xd1574268
xor ecx, 0x5e770aa8
sub eax, ecx
mov ecx, 0x8187ca1b
xor edx, edx
div ecx
mov ecx, 0xd540c26c
xor edx, edx
div ecx
cmp eax, 0x26be21f6
je 0x140084165
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x140275e18]
xor eax, 0xba415fed
or eax, dword [0x140275e1c]
and eax, 0x31970d10
mov r8d, 0x5257ab63
xor edx, edx
div r8d
mov edx, 0xc82db389
xor edx, 0x2e60972c
imul eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x7c3a913eb76c2767
movabs r9, 0x3c3a913eb76c2767
xor r8, r9
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x15af6e61
ja 0x140083dfb
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140083e81
jmp 0x140083eb8
mov rcx, qword [rsp + 0x50]
call fcn.14001d1d6
jmp 0x140083eb8
mov rcx, qword [rsp + 0xc8]
mov dl, byte [rsp + 0xb3]
xor eax, eax
test dl, 1
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x3e], al
jne 0x140083fa2
jmp 0x140083eb8
mov r9, qword [rsp + 0xc8]
movabs rax, 0x3486757a784125b4
movabs rcx, 0x3486757a784125b5
xor rax, rcx
mov rcx, r9
add rcx, rax
movabs rax, 0xfc550ebafdbda038
movabs rdx, 0x3aaf14502425fc7
xor rax, rdx
mov r8, r9
xor r8, rax
movabs rax, 0x5da13248e9951d3
and r8, rax
mov r10, 0xffffffffffffffff
movabs rax, 0x5da13248e9951d3
xor r10, rax
and r9, r10
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0x5da13248e9951d3
and rax, rdx
movabs rdx, 0x80481c866e8ca31e
movabs r11, 0x7fb7e37991735ce1
xor rdx, r11
and rdx, r10
or r8, r9
or rax, rdx
xor r8, rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, r8
xor rax, 0xffffffffffffffff
or rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
or rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x3e], al
jge 0x140083fa2
call fcn.14000f24b
jmp 0x140083fee
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3e]
test cl, 1
mov qword [rsp + 0xe8], rax
jne 0x14008387b
jmp 0x140083fee
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x138]
call fcn.14007a861
mov eax, dword [str.b_6]
xor eax, 0xdfc30eff
mov ecx, dword [0x140275e24]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0xb97c9df7
xor ecx, 0xb97c9df6
add eax, ecx
mov ecx, eax
and ecx, 0x33f2c28
xor eax, 0x33f2c28
or ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x1cac1230
xor edx, 0xe353edcf
xor eax, edx
and eax, 0x1c55236b
mov edx, 0xcf856bed
xor edx, 0x307a9412
xor eax, edx
mov edx, 0xa144a76f
xor edx, 0xbd118404
mov r8d, 0xc87d5082
xor r8d, 0xd42873e9
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc0d5fffe
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc0d5fffe
or eax, 0xc0d5fffe
imul eax, edx
add eax, ecx
cmp eax, 0x9436fb03
jae 0x14008416e
mov eax, dword [0x140275e28]
and eax, dword [0x140275e2c]
mov ecx, 0xa2030355
xor edx, edx
div ecx
mov r11d, eax
mov eax, 0xd84129f0
xor eax, 0xb953c43b
imul r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xde93d446
mov edx, 0xffffffff
xor edx, 0x6d85a839
mov eax, ecx
and eax, 0x6d85a839
and r11d, edx
mov r9d, r8d
and r9d, 0x6d85a839
mov r10d, 0x3bc596e7
xor r10d, 0xe55642a1
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x6d85a839
and ecx, edx
or eax, ecx
mov ecx, 0x33d237a3
xor ecx, 0x5017bbe3
cmp eax, ecx
jb 0x1400840a5
add rsp, 0x168
ret
add ebx, dword [rdi - 0x3a]
invalid
out 0x3b, eax
or esp, dword [rdx - 0x88417]
jmp qword [0x129bc8007]
and eax, 0xe9b43eaf
clc
invalid
wait
sal dword [rbp + rcx - 0x58817], 0xff
xchg ebp, eax
loope 0x14008418c
movabs al, byte [0xfaf4e6fffffc8de9]
out 0xf4, al
cli
lodsd eax, dword [rsi]
jmp 0x1400840a5
add dword [rax], eax
add byte [rax - 0x77], cl
xchg esp, eax
and al, 0xc0
add dword [rax], eax
add byte [rax - 0x77], cl
mov word [rax + rcx*8], fs
add dword [rax], eax
add byte [rax - 0x75], cl
add eax, 0x20918a
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x1c8]
add rax, 0x60
mov qword [rsp + 0x1d0], rax
cmp qword [rcx], 0
jne 0x140084256
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov ecx, 0x34
call fcn.140059f24
mov rcx, rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1b0], rcx
cmp byte [rax], 0
jne 0x14008535c
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1c8]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x140084241
mov rcx, qword [rsp + 0x1b0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x14008535c
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1c8]
call fcn.1400413b8
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
mov qword [rsp + 0x210], 0
mov rdx, qword [rcx]
mov qword [rsp + 0x1f8], rdx
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x200], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x208], rcx
mov rcx, qword [rax]
mov qword [rsp + 0x1e8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x1f0], rax
lea rcx, [rsp + 0x1f8]
lea rdx, [rsp + 0x1e8]
lea r8, [rsp + 0x210]
call fcn.140082840
mov rcx, rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1a8], rcx
cmp byte [rax], 0
jne 0x14008535c
mov rax, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1c8]
movabs rcx, 0x3d4046e2bb2f1a5f
movabs r8, 0xc2bfb91d44d0e5a0
xor rcx, r8
mov rdx, qword [rdx]
mov qword [rsp + 0x1a0], rdx
cmp rax, rcx
jle 0x1400843b1
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1a0]
cmp rax, rcx
jl 0x14008437c
mov rcx, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs r8, 0x4a72fc2e2332a56a
movabs r9, 0x4a72fc2e2332a568
xor r8, r9
imul rax, r8
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.1400292ad
jmp 0x14008535c
mov rdx, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1c8]
mov rcx, qword [rcx + 8]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
call fcn.1401900bb
jmp 0x14008535c
mov rax, qword [rsp + 0x1a0]
cmp rax, 0
mov qword [rsp + 0x198], rax
jne 0x14008458d
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov ecx, 0x34
call fcn.140059f24
mov rcx, rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x190], rcx
mov al, byte [rax]
mov cl, 0x68
xor cl, 0x68
cmp al, cl
jne 0x14008535c
mov eax, dword [0x140275e30]
add eax, dword [0x140275e34]
mov r8d, 0xadcb2e81
xor r8d, 0x21c15993
mov ecx, 0x82b8c697
xor ecx, 0x7d473968
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8c0a7712
or eax, 0x8c0a7712
imul eax, edx
add eax, ecx
mov ecx, 0x592a576d
xor ecx, 0x69513630
xor edx, edx
div ecx
and eax, 0x459f844f
cmp eax, 0x9d878250
ja 0x140085364
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x1c8]
mov eax, dword [0x140275e38]
imul eax, dword [0x140275e3c]
mov r10d, 0xffffffff
xor r10d, 0x40ebcb52
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r9d
mov r9d, eax
and r9d, 0x40ebcb52
mov r10d, 0x4557ad16
xor r10d, 0x5bc6644
or eax, r10d
imul eax, r9d
add eax, ecx
mov ecx, eax
and ecx, 0xa0626c2f
xor ecx, 0xffffffff
add eax, 0xa0626c2f
add eax, 1
add eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x986192ed
mov ecx, eax
and ecx, r9d
mov r10d, 0xc52d282
xor r10d, 0x9433406f
mov r9d, eax
xor r9d, r10d
add eax, r9d
sub eax, ecx
mov ecx, 0xb0a299ed
xor ecx, 0xf154bf32
mov qword [r8 + 0x10], 0
cmp rdx, 0
setl dl
mov byte [rsp + 0x18f], dl
cmp eax, ecx
je 0x140085364
mov al, byte [rsp + 0x18f]
test al, 1
jne 0x140084545
jmp 0x140084565
mov rcx, qword [rsp + 0x190]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x14008535c
mov rcx, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x190]
call fcn.1400413b8
mov rax, qword [rsp + 0x1c8]
mov rax, qword [rax]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x180], rax
mov eax, dword [0x140275e40]
mov edx, dword [0x140275e44]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
add eax, 0x8db686c1
mov ecx, 0x39e4c3bc
xor ecx, 0xdf5c9014
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xc402b954
sub eax, ecx
mov ecx, 0x91944e09
xor ecx, 0xbdf62d9a
cmp eax, ecx
jbe 0x14008536d
mov r8, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x1c8]
mov eax, dword [0x140275e48]
xor edx, edx
div dword [0x140275e4c]
mov edx, eax
xor eax, eax
sub eax, 0x6c26e600
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xcbe6403a
xor edx, 0x49b6ce3a
mov r9d, 0x8687ea93
xor r9d, 0x4d76493
and edx, r9d
mov r9d, 0xefbd821f
xor r9d, 0x10427de0
xor edx, r9d
and eax, edx
xor eax, 0xffffffff
and eax, eax
mov edx, 0xabf1126b
xor edx, 0x540eed94
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x54a2e80a
mov r9d, 0x4e30c5e4
xor r9d, 0x1a922dee
mov r10d, 0x8fbf0e7b
xor r10d, 0x7040f184
xor r9d, r10d
or edx, r9d
and eax, edx
mov edx, 0x72603201
xor edx, 0x8d9fcdfe
xor eax, edx
mov edx, 0xf066a304
xor edx, 0xcc74ff33
mov dword [rsp + 0x15c], edx
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x140], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rsp + 0x148], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x150], rcx
movabs rcx, 0x7d26202fcaac8992
movabs rdx, 0x7d26202fcaac8993
xor rcx, rdx
mov rdx, r8
shl rdx, cl
mov ecx, dword [rsp + 0x15c]
mov qword [rsp + 0x160], rdx
cvtsi2sd xmm0, r8
movsd xmm1, qword [0x140284f48]
mulsd xmm0, xmm1
movsd qword [rsp + 0x168], xmm0
cvtsi2sd xmm1, rdx
movsd qword [rsp + 0x170], xmm1
ucomisd xmm0, xmm1
sete dl
setnp r8b
and dl, r8b
mov byte [rsp + 0x17f], dl
cmp eax, ecx
je 0x1400845e5
mov al, byte [rsp + 0x17f]
test al, 1
jne 0x1400847a6
jmp 0x140084752
movsd xmm1, qword [rsp + 0x168]
movsd xmm0, qword [rsp + 0x170]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x168]
movsd qword [rsp + 0x138], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x138]
movsd xmm2, qword [0x140284f50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jb 0x140084a47
mov rcx, qword [rsp + 0x150]
imul rax, rcx, 3
mov qword [rsp + 0x120], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140284f58]
mulsd xmm0, xmm1
movsd qword [rsp + 0x128], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x130], xmm1
ucomisd xmm0, xmm1
jne 0x1400847f7
jp 0x1400847f7
jmp 0x14008484b
movsd xmm1, qword [rsp + 0x128]
movsd xmm0, qword [rsp + 0x130]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x128]
movsd qword [rsp + 0x118], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x118]
movsd xmm2, qword [0x140284f50]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jb 0x140084a47
mov ecx, dword [0x140275e50]
xor ecx, 0x4ee812dc
add ecx, dword [0x140275e54]
and ecx, 0x37602dd0
mov eax, 0x863f77c5
xor eax, 0x67ba9692
add ecx, eax
mov eax, 0x2b437dc1
xor eax, 0x60c095be
sub ecx, eax
sub ecx, 0xe185e157
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x6922881
xor eax, 0xf1ba328
and eax, edx
mov edx, 0xad51d96d
xor edx, 0xa4d852c4
mov r8d, 0x193efcd7
xor r8d, 0xe6c10328
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0x3bdb969
je 0x140085376
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x120]
mov eax, dword [0x140275e58]
mov r9d, dword [0x140275e5c]
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
or eax, r9d
and eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xfaa88b5e
xor r9d, 0x47a719c0
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0xbd0f929e
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xbd0f929e
or eax, 0xbd0f929e
imul eax, r9d
add eax, r8d
mov r8d, 0x26bbc53f
xor r8d, 0x5ec72bc0
sub eax, r8d
mov r8d, 0x17b6ca1
xor r8d, 0x63741f17
add eax, r8d
mov r8d, 0x66c3d503
xor r8d, 0x1ebf3bfc
add eax, r8d
mov r9d, 0xffffffff
xor r9d, 0xec122064
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0xec122064
add eax, r9d
sub eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x117], cl
cmp eax, 0xfb4e00fe
ja 0x140085376
mov cl, byte [rsp + 0x117]
xor eax, eax
test cl, 1
mov byte [rsp + 0x116], al
jne 0x140084a72
jmp 0x1400849b6
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x180]
movabs rcx, 0x99086a54bda11649
mov rax, r8
sub rax, rcx
sub rax, rdx
movabs rcx, 0x99086a54bda11649
add rax, rcx
mov qword [rsp + 0x108], rax
mov rcx, rax
xor rcx, r8
cmp rcx, 0
setl cl
xor rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140084a47
mov rax, qword [rsp + 0x108]
movabs rcx, 0xc9e16661f04af69c
movabs rdx, 0xc9e16661f04af69f
xor rcx, rdx
cmp rax, rcx
setg al
mov byte [rsp + 0x116], al
jmp 0x140084a72
call fcn.14000f24b
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1a8]
cmp byte [rcx], 0
mov qword [rsp + 0x100], rax
je 0x1400850d2
jmp 0x14008535c
mov rax, qword [rsp + 0x1d0]
mov cl, byte [rsp + 0x116]
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0xff], al
or al, cl
test al, 1
jne 0x1400850ad
mov rcx, qword [rsp + 0x1c8]
call fcn.140083540
mov rax, qword [rsp + 0x1d0]
cmp byte [rax], 0
jne 0x14008535c
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x1c8]
mov r8, qword [rsp + 0x210]
mov qword [rsp + 0xc0], r8
mov rdx, qword [rdx]
mov qword [rsp + 0xe0], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rax]
mov qword [rsp + 0xd0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xd8], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0xe0]
add rax, 0x60
mov qword [rsp + 0xe8], rax
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rsp + 0xf0], rax
je 0x140085087
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xe0]
movabs r8, 0xb94563a557cb85c4
movabs r10, 0x46ba9c5aa8347a3b
xor r8, r10
movabs r10, 0x6449c431d030c49c
movabs r11, 0x9bb63bce2fcf3b63
xor r10, r11
xor r8, r10
xor r10d, r10d
sub r10, 1
sub r8, r10
sub rax, r8
mov qword [rsp + 0xa0], rax
mov r8, rax
xor r8, r9
xor r8, 0xffffffffffffffff
or rax, r9
and rax, r8
add rdx, 8
mov qword [rsp + 0xa8], rdx
cmp rcx, 0
sete dl
mov byte [rsp + 0xb6], dl
cmp rcx, 0
setg cl
mov byte [rsp + 0xb7], cl
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rcx
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140084c44
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
call fcn.1400292ad
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xf0], rax
jmp 0x140085087
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xc8]
mov r8, rcx
shl r8, 5
mov rax, qword [rax + r8 + 8]
mov qword [rsp + 0x80], rax
test rax, rax
sete al
mov r9b, byte [rdx]
xor edx, edx
mov r10b, dl
test r9b, r9b
setne dl
or dl, al
mov eax, 6
mov r8d, 3
cmp r9b, r10b
cmovne eax, r8d
test dl, 1
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x94], eax
jne 0x140084f51
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc0]
cmp rax, rcx
jne 0x140084db6
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xc8]
add rdx, 8
shl rax, 5
add rdx, rax
add rdx, 8
mov rax, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x78], rdx
cmp rax, rcx
jne 0x140084db6
mov rax, qword [rsp + 0x98]
mov cl, byte [rsp + 0xb6]
test cl, 1
mov qword [rsp + 0xf0], rax
jne 0x140085087
jmp 0x140084d2a
mov rax, qword [rsp + 0x98]
mov dl, byte [rsp + 0xb7]
mov rcx, qword [rsp + 0x78]
add rcx, 8
mov qword [rsp + 0x68], rcx
xor ecx, ecx
test dl, 1
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xf0], rax
jne 0x140084d93
jmp 0x140085087
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
add rcx, 1
cmp rcx, rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xf0], rax
je 0x140085087
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x60], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x140084d64
mov ecx, dword [0x140275e60]
imul ecx, dword [0x140275e64]
mov eax, 0xd912fa5e
xor eax, 0x30888a5d
mov edx, ecx
xor edx, eax
xor edx, 0xffffffff
mov eax, 0xb14f2f3d
xor eax, 0x58d55f3e
and eax, edx
shl eax, 1
sub eax, 0xe99a7003
sub ecx, eax
or ecx, 0x7d8def28
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x88984efd
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x88984efd
mov r8d, 0xffffffff
xor r8d, 0x88984efd
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xbf9097b2
xor edx, 0x406f684d
xor ecx, edx
or eax, ecx
mov ecx, 0xa12cf946
xor ecx, 0xd357d9fe
cmp eax, ecx
jb 0x14008537f
mov rdx, qword [rsp + 0x98]
mov eax, dword [0x140275e68]
mov r8d, dword [0x140275e6c]
xor r8d, 0x2b01514c
mov ecx, eax
and ecx, r8d
mov r9d, 0x8d83a0f1
xor r9d, 0x8d83a0f3
imul ecx, r9d
xor eax, r8d
add eax, ecx
mov ecx, 0xbe4f67c1
xor ecx, 0xf5d8db51
sub eax, ecx
mov ecx, 0x7a799c8
xor ecx, 0xc441fa76
add eax, ecx
add eax, 0x2b4caf3
mov r8, 0xffffffffffffffff
xor r8, 1
xor ecx, ecx
sub rcx, 1
sub r8, rcx
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x50], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x79d83f7f369ff5d5
movabs r8, 0x79d83f7f369ff5d5
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xead28a52
ja 0x140084e44
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x140084f23
jmp 0x140084efd
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
and rcx, rax
xor eax, eax
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x94], eax
jmp 0x140084f51
call fcn.14000f24b
mov rdx, qword [rsp + 0xe8]
xor ecx, ecx
mov rax, 0xffffffffffffffff
cmp byte [rdx], 0
mov dword [rsp + 0x94], ecx
mov qword [rsp + 0xf0], rax
jne 0x140085087
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x48], rax
mov ecx, dword [0x140275e70]
mov edx, dword [0x140275e74]
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xb0efe5dc
or ecx, edx
or eax, 0xb0efe5dc
mov edx, 0x35dba4b4
xor edx, 0xca245b4b
xor ecx, edx
and ecx, eax
xor ecx, 0xcac43e62
mov edx, 0xf910df02
xor edx, 0x6ef20fd
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc569b9ef
mov edx, 0xffffffff
xor edx, 0xc569b9ef
or ecx, edx
mov edx, 0x434c6f97
xor edx, 0xbcb39068
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x19af8e9e
cmp eax, 0x53a22d26
jbe 0x140085388
mov eax, dword [0x140275e78]
and eax, dword [0x140275e7c]
mov ecx, 0x170a943a
xor edx, edx
div ecx
mov ecx, 0x32be2fe6
xor ecx, 0x5695e939
add eax, ecx
mov ecx, 0xbbf0f222
xor edx, edx
div ecx
mov ecx, 0x543bbb43
xor ecx, 0x62812c72
cmp eax, ecx
je 0x140084fef
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x38], rdx
test ecx, ecx
mov qword [rsp + 0xb8], rax
je 0x140084bed
jmp 0x140085057
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x44]
sub ecx, 6
mov qword [rsp + 0xf0], rax
jne 0x140085087
jmp 0x140085076
mov rax, qword [rsp + 0x48]
xor rax, 0xffffffffffffffff
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0xf0]
cmp byte [rcx], 0
mov qword [rsp + 0x100], rax
je 0x1400850d2
jmp 0x14008535c
mov rax, qword [rsp + 0x1a8]
mov cl, byte [rsp + 0xff]
test cl, 1
mov qword [rsp + 0x100], rax
jne 0x14008535c
jmp 0x1400850d2
mov r9, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x100]
movabs r8, 0xa45a95f2c2beee0e
movabs r10, 0x5ba56a0d3d4111f1
xor r8, r10
xor rax, r8
mov r10, qword [rsp + 0x210]
mov r8, qword [rcx]
mov qword [rsp + 0x1d8], r8
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x1e0], rcx
lea r8, [rsp + 0x1d8]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140083260
mov rax, qword [rsp + 0x1d0]
cmp byte [rax], 0
jne 0x14008535c
mov rax, qword [rsp + 0x148]
mov rax, qword [rax]
movabs rdx, 0xb36e7caeb6242572
movabs rcx, 0xb36e7caeb6242572
xor rdx, rcx
movabs rcx, 0x543a25cb97a2290
movabs r8, 0x543a25cb97a2291
xor rcx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rsp + 0x30], rcx
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0xc4de126f515e11a2
movabs r10, 0x3b21ed90aea1ee5d
xor r9, r10
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x25e7d704486a8381
movabs r9, 0xda1828fbb7957c7e
xor r8, r9
or rax, r8
xor rax, 0xffffffffffffffff
or rdx, rax
movabs rax, 0xe8627c60c74c394
movabs r8, 0xf179d839f38b3c6b
xor rax, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0xac624276e33b9045
movabs r9, 0x539dbd891cc46fba
xor r8, r9
xor rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14008524d
call fcn.14000f24b
jmp 0x14008535c
mov eax, dword [0x140275e80]
xor edx, edx
div dword [0x140275e84]
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xc962d77f
xor ecx, 0xc8216c0a
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x143bb75
and r8d, ecx
sub r8d, eax
mov eax, 0x2c75c8c2
xor eax, 0x55471b54
xor r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x8a0a3e8a
mov edx, 0xca44be94
xor edx, 0x404e801e
mov ecx, 0x9ecdbbfc
xor ecx, 0x61324403
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xe6767883
and ecx, 0x8a0a3e8a
and edx, 0xe6767883
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x6a40d7d1
jae 0x140085391
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x30]
mov r9d, dword [0x140275e88]
xor r9d, 0x35ed4642
mov eax, dword [0x140275e8c]
xor eax, 0x7714247
and r9d, eax
mov r8d, r9d
xor r8d, 0x4772d7ce
mov eax, 0x99754a61
xor eax, 0xde079daf
mov r10d, 0x4d349a00
xor r10d, 0xb2cb65ff
xor eax, r10d
and r9d, eax
mov eax, 0x8c79e97e
xor eax, 0x8c79e97c
imul eax, r9d
sub eax, r8d
and eax, 0xf2cd3a49
xor eax, 0x2492c7ca
mov qword [rcx], rdx
cmp eax, 0x946b1057
ja 0x1400852de
jmp 0x14008535c
add rsp, 0x218
ret
call 0x129b9514d
std
mov al, 0xe9
add cl, dh
invalid
retf
movabs dword [0xfffff53de9576875], eax
push rax
loopne 0x1400853c5
cmp ecx, ebp
mov esp, 0x7fffffa
sub al, 0x80
xchg esp, eax
jmp 0x140084fef
invalid
jns 0x140085366
pop rsi
invalid
jmp 0x1400852de