Function at 0x140129cf0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x208], rcx
call fcn.140115760
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x218]
mov qword [rsp + 0x220], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rsp + 0x228], rax
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov qword [rsp + 0x230], rax
cmp rax, 0
je 0x14012b98d
mov rcx, qword [rsp + 0x230]
call fcn.140129a70
mov rcx, rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x200], rcx
cmp byte [rax], 0
jne 0x14012b98d
mov rax, qword [rsp + 0x200]
cmp rax, 0
jge 0x140129e8f
mov eax, dword [0x140252ee8]
mov edx, dword [0x140252eec]
mov r8d, 0x73f6d96a
xor r8d, 0x73f6d96b
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
sub eax, 0x36f7fc65
mov ecx, 0x4d678ca3
xor edx, edx
div ecx
mov ecx, 0xccf6a81
xor ecx, 0xd507ad93
or eax, ecx
cmp eax, 0x9ba2097a
jb 0x14012b9a1
mov rcx, qword [rsp + 0x200]
mov eax, dword [0x140252ef0]
mov edx, dword [0x140252ef4]
xor edx, 0xae6c4051
add eax, edx
and eax, 0x14b8f564
mov edx, 0xd379ae5e
xor edx, 0xe43195a2
xor eax, edx
mov edx, eax
and edx, 0x18e86fb
shl edx, 1
add eax, 0x18e86fb
sub eax, edx
mov dword [rsp + 0x1fc], eax
mov eax, 0xa9be64fd
xor eax, 0x824d48e
mov dword [rsp + 0x1f8], eax
movabs rdx, 0xc2cf0769d2034217
movabs rax, 0xc2cf0769d2034217
xor rdx, rax
movabs r8, 0x6615795671bc8b3c
movabs rax, 0x19ea86a98e4374c3
xor r8, rax
call fcn.14000d792
mov ecx, dword [rsp + 0x1f8]
mov eax, dword [rsp + 0x1fc]
cmp eax, ecx
ja 0x140129de9
jmp 0x14012b98d
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x210]
call fcn.1400141a0
mov rcx, qword [rsp + 0x218]
mov rax, qword [rcx]
mov qword [rsp + 0x1e0], rax
add rcx, 8
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1f0], rax
mov r8, qword [rsp + 0x1f0]
mov qword [rsp + 0x1d0], r8
movabs rcx, 0x665904772e6507db
mov rax, r8
sub rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x665904772e6507db
add rax, rcx
mov qword [rsp + 0x1d8], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140129f3b
jmp 0x140129f45
call fcn.140008c92
jmp 0x14012b98d
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140129f89
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x1e0]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x1cf], al
sub al, 0xa
je 0x140129ff0
jmp 0x140129fb4
mov al, byte [rsp + 0x1cf]
sub al, 0xd
je 0x140129ff0
jmp 0x140129fc8
mov al, byte [rsp + 0x1cf]
sub al, 0x20
je 0x140129ff0
jmp 0x140129fdc
mov al, byte [rsp + 0x1cf]
sub al, 0x3d
jne 0x14012a005
jmp 0x140129ff0
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x1f0], rax
jmp 0x140129ecb
mov rax, qword [rsp + 0x1d0]
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor ecx, ecx
sub rcx, 0xfffffffffffffffc
add rdx, rcx
movabs rcx, 0x4ccca87af28125db
movabs r8, 0x4ccca87af28125db
xor rcx, r8
sub rcx, rdx
mov qword [rsp + 0x1b0], rcx
mov r8, rcx
xor r8, rax
movabs rdx, 0xf6fcefefb0265de5
movabs r9, 0x90310104fd9a21a
xor rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
shl rdx, 1
sub rdx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 3
setg al
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, al
xor cl, r8b
mov r8b, dl
xor r8b, 0xff
or cl, r8b
and al, dl
mov dl, 1
xor dl, 0
xor al, dl
and cl, al
mov al, 1
xor al, 0
xor cl, al
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x1c0], rax
jne 0x14012a0c9
jmp 0x14012a0d3
call fcn.140008c92
jmp 0x14012b98d
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rdx
cmp rax, rcx
jg 0x14012ac7d
mov eax, dword [0x140252ef8]
xor edx, edx
div dword [0x140252efc]
or eax, 0x28c053e2
xor eax, 0x5fb3b283
mov edx, 0xffffffff
xor edx, 0x8bfa7e98
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x8bfa7e98
add eax, edx
sub eax, ecx
mov ecx, 0xfc59750
xor ecx, 0xdd2be9f1
cmp eax, ecx
jbe 0x14012b9aa
mov rcx, qword [rsp + 0x218]
mov eax, dword [0x140252f00]
mov edx, 0x660ee32d
xor edx, 0x13452801
xor eax, edx
mov r8d, dword [0x140252f04]
xor edx, edx
sub edx, r8d
add eax, edx
mov r8d, 0xc1f061f4
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x1a0]
imul eax, eax, 0x68e04f1a
add eax, 0x4d5d052a
movabs r8, 0x8027b55250f4de89
movabs r9, 0x7fd84aadaf0b2176
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rsp + 0x197], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x198], rcx
cmp eax, 0xcd422ad0
jae 0x14012b9aa
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x188], rax
jmp 0x14012a1e0
mov al, byte [rsp + 0x197]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x180], rcx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14012a243
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x198]
movabs rax, 0x205a9ef1f0d1b355
movabs r8, 0xdfa5610e0f2e4caa
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax]
mov qword [rsp + 0x170], rax
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x17f], al
sub al, 0xa
je 0x14012a29e
jmp 0x14012a276
mov al, byte [rsp + 0x17f]
sub al, 0xd
je 0x14012a29e
jmp 0x14012a28a
mov al, byte [rsp + 0x17f]
sub al, 0x20
jne 0x14012a2cd
jmp 0x14012a29e
mov rax, qword [rsp + 0x180]
movabs rcx, 0x10c1d802b7fd4fec
movabs rdx, 0x10c1d802b7fd4fed
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x188], rax
jmp 0x14012a1e0
mov al, byte [rsp + 0x17f]
movzx eax, al
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x16f], al
cmp al, 0xff
jne 0x14012a372
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x6d81401a84a8f523
movabs rdx, 0x6d81401abeadcddb
xor rax, rdx
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], rax
call fcn.14001203f
jmp 0x14012b98d
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x180]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x160], rax
cmp rax, rcx
jl 0x14012a4b4
mov eax, dword [0x140252f08]
xor eax, 0xdef5e743
mov ecx, dword [0x140252f0c]
mov edx, 0x7e01ed54
xor edx, 0xdac682c3
xor ecx, edx
add eax, ecx
sub eax, 0xa944e9ac
add eax, 0xc6069f7c
mov ecx, 0x680ab8f4
xor ecx, 0x98ca8c76
xor eax, ecx
cmp eax, 0xc07bd45
jb 0x14012b9b3
mov rcx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x198]
mov r8d, dword [0x140252f10]
mov r9d, dword [0x140252f14]
mov edx, r8d
add edx, 1
mov r10d, 0xbdffa0e4
xor r10d, 0x42005f1b
xor r8d, r10d
or r8d, r9d
add r8d, edx
or r8d, 0xd758ba6
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x40e073e9
xor r9d, 0x2f38635a
mov r10d, 0xbea20e8
xor r10d, 0xf415df17
xor r9d, r10d
and edx, r9d
or r8d, 0x6fd810b3
xor r8d, 0xffffffff
mov r9d, 0x94f2cfbe
xor r9d, 0x6b0d3041
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
xor r8d, r8d
sub r8d, 0xcf9d9953
sub edx, r8d
mov dword [rsp + 0x15c], edx
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.14001284c
mov eax, dword [rsp + 0x15c]
cmp eax, 0x3318b38e
je 0x14012b9b3
jmp 0x14012b98d
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x160]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x15b], al
cmp al, 0xff
jne 0x14012a617
mov eax, dword [0x140252f18]
mov ecx, dword [0x140252f1c]
mov edx, 0x4970e83c
xor edx, 0xb68f17c3
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x94ef595
mov ecx, 0x1fc0c07d
xor ecx, 0x61b198d8
sub eax, ecx
sub eax, 0x94ef595
mov ecx, 0xdfad209
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xa474b1b0
xor ecx, 0xa474b1b0
or eax, ecx
cmp eax, 0x9641059c
jbe 0x14012b9bc
mov eax, dword [0x140252f20]
xor eax, dword [0x140252f24]
mov ecx, 0x9cb7bc1
xor ecx, 0x9b0e652a
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0x2f2cef76
mov eax, ecx
and eax, 0x46d3ade
xor eax, 0xffffffff
mov edx, 0x8efd4ab0
xor edx, 0x8a90706e
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xd6487197
xor edx, 0x29b78e68
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov dword [rsp + 0x154], eax
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
mov eax, dword [rsp + 0x154]
cmp eax, 0x190f54fe
jae 0x14012a542
jmp 0x14012b98d
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x180]
mov rdx, rax
and rdx, 2
shl rdx, 1
xor rax, 2
add rax, rdx
mov qword [rsp + 0x148], rax
cmp rax, rcx
jl 0x14012a6a5
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x198]
movabs rax, 0xe53cb8bcb1576acb
add rdx, rax
movabs rax, 0x4ca3bde5bfa35898
movabs r8, 0xb35c421a405ca767
xor rax, r8
add rdx, rax
movabs rax, 0x94e32838bd18c8d5
movabs r8, 0x71df90840c4fa21e
xor rax, r8
sub rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x148]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x147], al
cmp al, 0xff
jne 0x14012a742
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x180]
movabs r8, 0x9adf5a61c098e5bc
movabs rdx, 0x9adf5a61c098e5bf
xor r8, rdx
mov rdx, rax
and rdx, r8
shl rdx, 1
xor rax, 3
add rax, rdx
mov qword [rsp + 0x138], rax
cmp rax, rcx
jl 0x14012a7d0
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x198]
movabs rax, 0xdf678883c9de09e2
movabs r8, 0x4544d31581ef30cb
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x9a235b9648313929
sub rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x138]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x137], al
cmp al, 0xff
jne 0x14012a86d
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x180]
movabs r8, 0x77cfe471d847d3a4
add rdx, r8
add rdx, 4
movabs r8, 0x77cfe471d847d3a4
sub rdx, r8
mov qword [rsp + 0x120], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x128], rcx
cmp rax, rcx
jl 0x14012a8dd
mov rcx, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x210]
mov dil, byte [rsp + 0x15b]
mov sil, byte [rsp + 0x16f]
call fcn.14012ba00
mov rdx, qword [rsp + 0x228]
mov rax, qword [rsp + 0x1a8]
shl sil, 2
mov cl, 0xc6
xor cl, 0xc2
shr dil, cl
mov rcx, qword [rsp + 0x210]
mov r9b, dil
xor r9b, 0xff
mov r8b, 0xc5
xor r8b, 0x3a
mov r11b, sil
xor r11b, r8b
mov r10b, 0x2c
xor r10b, 0xdb
mov r8b, 0xd
xor r8b, 0xf2
xor r10b, r8b
mov r8b, r9b
and r8b, 0xf7
and dil, r10b
mov bpl, 0xc0
xor bpl, 0x37
mov bl, r11b
and bl, bpl
and sil, r10b
or r8b, dil
or bl, sil
xor r8b, bl
or r9b, r11b
xor r9b, 0xff
or r10b, 0xf7
and r9b, r10b
or r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
add rax, 1
mov qword [rsp + 0x110], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x118], rcx
cmp rax, rcx
jl 0x14012a9bd
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x210]
mov bl, byte [rsp + 0x15b]
call fcn.14012ba00
mov r9b, byte [rsp + 0x147]
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x110]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x210]
shl bl, 4
shr r9b, 2
mov r10b, 3
xor r10b, 0xfc
mov r11b, bl
xor r11b, r10b
mov r10b, r9b
and r10b, r11b
mov r11b, r9b
xor r11b, bl
add r9b, r11b
sub r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
mov rdx, rax
and rdx, 2
movabs r8, 0x448175419697c50
movabs r9, 0x448175419697c52
xor r8, r9
imul rdx, r8
xor rax, 2
add rax, rdx
mov qword [rsp + 0x100], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x108], rcx
cmp rax, rcx
jl 0x14012aaa0
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
movabs rax, 0x37b7c2aae0e311b1
movabs r8, 0xc8483d551f1cee4e
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov eax, dword [0x140252f28]
imul eax, dword [0x140252f2c]
mov ecx, 0xf16481cb
xor ecx, 0xbac78029
or eax, ecx
mov ecx, 0x1f591f71
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xd2136d96
mov r9d, 0xffffffff
xor r9d, 0xd2136d96
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xbd1f9465
and ecx, 0xd2136d96
mov edx, 0x1092640e
xor edx, 0xad8df06b
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x76a8b5f1
xor ecx, 0xe489304c
cmp eax, ecx
jb 0x14012b9c5
mov rcx, qword [rsp + 0x210]
mov eax, dword [0x140252f30]
mov r9d, dword [0x140252f34]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x68fc0eb0
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x36ddec6
mov r8d, 0xffffffff
xor r8d, 0x6a80f099
mov eax, edx
and eax, 0x6a80f099
and esi, r8d
mov r10d, r9d
and r10d, 0x6a80f099
mov r11d, r8d
and r11d, 0x36ddec6
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x6a80f099
and edx, r8d
or eax, edx
mov r8d, 0x3a065c91
xor edx, edx
div r8d
mov dword [rsp + 0xf4], eax
call fcn.14012ba00
mov r11b, byte [rsp + 0x147]
mov r10b, byte [rsp + 0x137]
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x100]
mov eax, dword [rsp + 0xf4]
mov cl, 0xde
xor cl, 0xd8
shl r11b, cl
mov rcx, qword [rsp + 0x1a8]
mov r9b, r10b
and r9b, r11b
xor r10b, r11b
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 3
add rdx, rcx
movabs rcx, 0xc105e1e83783c6ed
movabs r8, 0xc105e1e83783c6ed
xor rcx, r8
sub rcx, rdx
mov qword [rsp + 0xf8], rcx
cmp eax, 0x991cdd86
ja 0x14012ab1a
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x1c0], rax
jmp 0x14012a0d3
mov eax, dword [0x140252f38]
mov ecx, 0xdddb01b5
xor ecx, 0xd0612c9a
xor eax, ecx
sub eax, dword [0x140252f3c]
and eax, 0x48e6fce2
add eax, 0x5b9641ac
imul eax, eax, 0x8067b10b
mov ecx, 0x8d44418f
xor ecx, 0x83134447
cmp eax, ecx
je 0x14012b9ce
mov r9, qword [rsp + 0x1d0]
mov r10, qword [rsp + 0x1a0]
mov eax, dword [0x140252f40]
mov edx, dword [0x140252f44]
xor edx, 0xc3b727c4
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xe0cd13b6
shl ecx, 1
xor eax, 0xe0cd13b6
add eax, ecx
xor ecx, ecx
sub ecx, 0xf89bff8f
add eax, ecx
add eax, 0x66c605df
movabs rcx, 0xd92f0b5e252e8f2f
movabs rdx, 0x26d0f4a1dad170d0
xor rcx, rdx
mov rdx, r10
xor rdx, rcx
and rdx, r9
movabs rcx, 0xbaf20a0c946e899a
movabs r8, 0x450df5f36b917665
xor rcx, r8
mov r8, r9
xor r8, rcx
mov rcx, r10
and rcx, r8
sub rcx, rdx
mov qword [rsp + 0xe8], rcx
mov r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, r10
and rdx, r8
xor r10, 0xffffffffffffffff
mov r8, rcx
and r8, r10
or rdx, r8
cmp rdx, 0
setl dl
mov r10, rcx
xor r10, r9
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
shl r8, 1
sub r8, r9
sub rcx, r8
movabs r8, 0xd93ac0be3b8cd6d7
movabs r9, 0x26c53f41c4732928
xor r8, r9
cmp rcx, r8
setg r8b
mov cl, 1
xor cl, 0
xor r8b, cl
mov cl, dl
xor cl, r8b
and cl, dl
mov byte [rsp + 0xf3], cl
cmp eax, 0x77386157
je 0x14012acb9
mov al, byte [rsp + 0xf3]
test al, 1
jne 0x14012adee
jmp 0x14012adf8
call fcn.140008c92
jmp 0x14012b98d
mov eax, dword [0x140252f48]
mov r8d, dword [0x140252f4c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x327829a
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x327829a
add eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x4972cf24
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x207083bf
xor r8d, 0xdf8f7c40
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4972cf24
or eax, 0x4972cf24
imul eax, edx
add eax, ecx
mov ecx, 0x211bb509
xor edx, edx
div ecx
cmp eax, 0xe64d56fb
jae 0x14012b9d7
mov eax, dword [0x140252f50]
xor eax, 0x10091bd5
mov ecx, dword [0x140252f54]
xor ecx, 0x948b8f2b
xor edx, edx
div ecx
mov ecx, 0xb3ad4d23
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0xe8]
mov r8d, 0xde6e6898
xor r8d, 0xde6e6899
mov edx, ecx
add edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xd2b20e9
xor r8d, 0x24cfce64
or ecx, r8d
add ecx, edx
xor ecx, 0xb99148b3
mov dword [rsp + 0xdc], ecx
mov ecx, 0xc4b25eea
xor ecx, 0x5b0047c2
mov r8d, 4
cqo
idiv r8
mov eax, dword [rsp + 0xdc]
mov r8, rdx
neg r8
cmovns rdx, r8
mov qword [rsp + 0xe0], rdx
cmp eax, ecx
je 0x14012ae94
mov rax, qword [rsp + 0xe0]
sub rax, 2
je 0x14012af6b
jmp 0x14012af44
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0xe0]
sub rcx, 3
mov qword [rsp + 0xd0], rax
je 0x14012b446
jmp 0x14012b978
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x218]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0xc8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14012afba
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0xc7], al
cmp al, 0xff
jne 0x14012b062
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x1a0]
xor edx, edx
sub rdx, 1
sub rax, rdx
mov qword [rsp + 0xb0], rax
cmp rax, rcx
jl 0x14012b1b2
mov eax, dword [0x140252f58]
xor eax, dword [0x140252f5c]
mov ecx, eax
and ecx, 0x8144819e
shl ecx, 1
add eax, 0x8144819e
sub eax, ecx
sub eax, 0xf962ab26
add eax, 0xee86abb2
cmp eax, 0x218c7920
je 0x14012b9e0
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140252f60]
xor edx, edx
div dword [0x140252f64]
mov r8d, 0x70ed1846
xor r8d, 0xe6d51fe3
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xc8]
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xa9d7ec7e
mov r10d, 0xffffffff
xor r10d, 0xa9d7ec7e
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xa9d7ec7e
mov r10d, 0x5151b0a5
xor r10d, 0xf8865cdb
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, 0xec0431c5
xor r8d, 0x486aa979
imul eax, r8d
mov dword [rsp + 0xac], eax
mov eax, 0xb6b4c826
xor eax, 0x32ffb8f8
mov dword [rsp + 0xa8], eax
movabs rax, 0xd79cb033b9a9ec5f
add rdx, rax
movabs rax, 0x7420517c8f0c02ea
movabs r8, 0x8bdfae8370f3fd15
xor rax, r8
add rdx, rax
movabs rax, 0xd79cb033b9a9ec5f
sub rdx, rax
call fcn.14001284c
mov ecx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xac]
cmp eax, ecx
je 0x14012b0bf
jmp 0x14012b98d
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0xa7], al
mov cl, 0x6b
xor cl, 0x94
cmp al, cl
jne 0x14012b398
mov eax, dword [0x140252f68]
mov ecx, 0xeb56a6df
xor ecx, 0x521f9b5f
xor eax, ecx
mov ecx, dword [0x140252f6c]
xor ecx, 0x4f152860
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0xcfd1a471
xor edx, 0x302e5b8e
xor eax, edx
and eax, 0xa149f07e
xor eax, 0xffffffff
mov edx, 0xa149f07e
and edx, 0xa149f07e
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x466bc695
xor edx, 0xb994396a
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2f962e39
xor edx, edx
div ecx
mov ecx, 0x7406487b
xor ecx, 0x7128dcc2
imul eax, ecx
cmp eax, 0x68d7c343
ja 0x14012b9e9
mov eax, dword [0x140252f70]
mov ecx, 0x657a4fd
xor ecx, 0xaacc2ab3
xor eax, ecx
mov ecx, dword [0x140252f74]
mov edx, 0x6bfbb758
xor edx, 0x940448a7
xor ecx, edx
add eax, ecx
add eax, 1
mov r8d, 0xffffffff
xor r8d, 0x8ac67ede
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x49e35d1d
xor r8d, 0xb61ca2e2
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8ac67ede
or eax, 0x8ac67ede
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x3ceba04a
shl ecx, 1
mov edx, 0xcb31168
xor edx, 0x3058b122
xor eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x5fa675f0
xor ecx, 0xffffffff
or eax, 0x5fa675f0
and eax, ecx
mov dword [rsp + 0xa0], eax
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xdae00007abf86490
movabs rdx, 0xdae0000791fd5c68
xor rax, rdx
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], rax
call fcn.14001203f
mov eax, dword [rsp + 0xa0]
cmp eax, 0x856785b7
ja 0x14012b26c
jmp 0x14012b98d
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx]
mov qword [rsp + 0x98], rcx
cmp rax, rcx
jl 0x14012b3da
mov rcx, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x210]
call fcn.14012ba00
mov r8b, byte [rsp + 0xc7]
mov al, byte [rsp + 0xa7]
mov rdx, qword [rsp + 0x1a8]
mov cl, 0xd5
xor cl, 0xd7
shl r8b, cl
shr al, 4
mov cl, al
xor cl, 0xff
xor al, 0xff
or cl, al
mov al, r8b
xor al, 0xff
xor r8b, 0xff
or al, r8b
xor cl, 0xff
xor al, 0xff
or cl, al
mov eax, 1
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x8f], cl
mov qword [rsp + 0x90], rax
jmp 0x14012b93d
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x218]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14012b4a5
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x78]
movabs rax, 0xb6a73e4e18358709
movabs r8, 0x4958c1b1e7ca78f6
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x77], al
cmp al, 0xff
jne 0x14012b547
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x1a0]
add rax, 1
mov qword [rsp + 0x60], rax
cmp rax, rcx
jl 0x14012b57e
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov eax, dword [0x140252f78]
xor eax, dword [0x140252f7c]
sub eax, 0xb399e46d
mov r8d, 0xffffffff
xor r8d, 0xcdfabdf0
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xec5768e2
xor r8d, 0x21add512
mov edx, eax
and edx, r8d
or eax, 0xcdfabdf0
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xfa975cb7
mov edx, 0x8468e373
xor edx, 0x7b971c8c
xor ecx, edx
and ecx, 0xfa975cb7
shl ecx, 1
sub ecx, 0xfa975cb7
sub eax, ecx
cmp eax, 0x6362830e
jbe 0x14012b9f2
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140252f80]
xor edx, edx
div dword [0x140252f84]
mov edx, 0xffffffff
xor edx, 0x81604ca5
mov r8d, 0x6563120d
xor r8d, 0x6563120d
mov r9d, 0xee15f54f
xor r9d, 0xee15f54e
sub r8d, r9d
sub edx, r8d
sub eax, edx
mov r8d, 0x2c0843d4
xor edx, edx
div r8d
mov r8d, 0x3b1e57e9
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
movzx ecx, byte [rcx + rdx + 8]
mov edx, ecx
lea rcx, [0x140276a60]
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x5e], cl
cmp cl, 0xff
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xceee500d
jae 0x14012b5f9
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14012b68f
jmp 0x14012b720
movabs rcx, 0xe6a18470a2ab7f1a
movabs rax, 0xe6a18470a2ab7f5a
xor rcx, rax
movabs rdx, 0x5d866220d780216b
movabs rax, 0x5d866220d7802163
xor rdx, rax
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x1a0]
add rax, 2
mov qword [rsp + 0x50], rax
cmp rax, rcx
jl 0x14012b757
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
movzx eax, byte [rax + rcx + 8]
mov ecx, eax
lea rax, [0x140276a60]
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
cmp al, 0xff
jne 0x14012b80f
movabs rcx, 0xc328835afbaf35ee
movabs rax, 0xc328835afbaf35ae
xor rcx, rax
movabs rdx, 0xaac8c50e7c367782
movabs rax, 0xaac8c50e7c36778a
xor rdx, rax
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264780]
mov qword [rcx], rax
lea rax, [0x1402632c8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402632f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402632f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402632c8]
lea r8, [0x1402632d3]
lea r9, [0x1402632da]
mov qword [rsp + 0x20], 0x3a0538f8
call fcn.14001203f
jmp 0x14012b98d
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x14012b859
mov rcx, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x40]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x210]
call fcn.14012ba00
mov r10b, byte [rsp + 0x77]
mov r9b, byte [rsp + 0x5e]
mov rdx, qword [rsp + 0x228]
mov rax, qword [rsp + 0x1a8]
mov cl, 0x20
xor cl, 0x22
shl r10b, cl
mov cl, 0x92
xor cl, 0x96
shr r9b, cl
mov rcx, qword [rsp + 0x210]
mov r8b, r9b
xor r8b, 0xff
mov r11b, r10b
xor r11b, 0xff
and r8b, r11b
xor r9b, 0xff
xor r10b, 0xff
and r9b, r10b
or r8b, r9b
mov r9b, 0x19
xor r9b, 0xe6
xor r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
add rax, 1
mov qword [rsp + 0x30], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jl 0x14012b8fb
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffff
call fcn.14001284c
jmp 0x14012b98d
mov rcx, qword [rsp + 0x210]
call fcn.14012ba00
mov al, byte [rsp + 0x5e]
mov rdx, qword [rsp + 0x30]
mov cl, 0x66
xor cl, 0x62
shl al, cl
mov cl, byte [rsp + 0x4f]
shr cl, 2
or cl, al
mov eax, 2
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x8f], cl
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x80]
mov r9b, byte [rsp + 0x8f]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add rax, rcx
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0xd0]
call fcn.1400141a0
mov rax, qword [rsp + 0x208]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
ret
xchg edi, eax
mov edi, dword [rbx - 0x1bc01607]
invalid
invalid
and esi, dword [rsi - 9]
xchg ecx, eax
jmp 0x14012a3ed
invalid
mov dword [rbx*8 - 0xeb31633], ebx
invalid
clc
retf 0xe9fa
and byte [rbp - 0x4b16e8aa], al
hlt
lahf
scasb al, byte [rdi]
pop rdx
pop rax
jmp 0x14012b0bf
call [0x12951c7c2]
sbb eax, 0xe93f0dd4
jp 0x14012b9e8
invalid
loop 0x14012ba04
cmpsd dword [rsi], dword [rdi]
cli
jmp 0x14012b5f9