Function at 0x140046aa0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x118
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rcx
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x110], rax
mov eax, dword [0x1402183d0]
mov edx, dword [0x1402183d4]
mov r8d, eax
and r8d, edx
mov ecx, 0x890be599
xor ecx, 0x890be59b
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x2e518253
xor edx, edx
div ecx
xor eax, 0xf849cb86
add eax, 0x358c0147
cmp eax, 0xced806d8
ja 0x140047906
mov rdx, qword [rsp + 0x110]
mov eax, dword [0x1402183d8]
xor eax, 0x2375891c
mov ecx, dword [0x1402183dc]
mov r8d, 0x33ea58ce
xor r8d, 0x89053cf6
xor ecx, r8d
imul eax, ecx
or eax, 0xac50a151
sub eax, 0x58577fc2
sub eax, 0xcd462140
mov ecx, 0x9aabfa7d
xor ecx, 0xc2fc85bf
add eax, ecx
add eax, 0xff6b96bf
mov ecx, 0xb2c5139
xor ecx, 0xc9695a03
cmp rdx, 0
setl dl
mov byte [rsp + 0xef], dl
cmp eax, ecx
ja 0x140046b1c
mov rax, qword [rsp + 0x110]
mov cl, byte [rsp + 0xef]
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x140046baf
jmp 0x140046be0
mov rax, qword [rsp + 0x100]
mov rax, qword [rax]
movabs rcx, 0x7ee8374fce9b4bed
add rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x7ee8374fce9b4bed
sub rax, rcx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xd8], rax
mov eax, dword [0x1402183e0]
mov ecx, dword [0x1402183e4]
mov edx, 0x37e07772
xor edx, 0xd75d90db
xor ecx, edx
add eax, ecx
mov ecx, 0x3f95c784
xor ecx, 0x3a9c4aaa
imul eax, ecx
mov ecx, 0xd3b801d5
xor ecx, 0x623527f
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x24fc57a6
add eax, ecx
mov ecx, 0xabf6f216
xor ecx, 0x95a71db3
cmp eax, ecx
je 0x14004790f
mov rcx, qword [rsp + 0xf8]
mov edx, dword [0x1402183e8]
xor edx, 0x497b3a2d
add edx, dword [0x1402183ec]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x612e37f7
xor r8d, 0x32b25b4f
mov r9d, 0xf5826df2
xor r9d, 0xa7d920d
xor r8d, r9d
mov r9d, 0xb95156a2
xor r9d, 0xeacd3a1a
mov r10d, 0x2639692b
xor r10d, 0xd9c696d4
xor r9d, r10d
and r8d, r9d
or eax, r8d
mov r8d, 0x506d5939
xor r8d, 0xaf92a6c6
xor eax, r8d
or edx, 0x539c6cb8
xor edx, 0xffffffff
or eax, edx
mov edx, 0xfdbb6ea4
xor edx, 0x244915b
xor eax, edx
or eax, 0xd14f6cfd
xor eax, 0xb6e49f97
mov r9, qword [rcx]
mov qword [rsp + 0xc0], r9
mov rcx, r9
add rcx, 0xffffffffffffffff
mov qword [rsp + 0xc8], rcx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0x9f6d6db6f43c9e99
and rdx, r8
movabs r11, 0xc4c8bdced05deda4
movabs r8, 0x5ba5d0782461733d
xor r11, r8
movabs r8, 0x1f942dc07eabed9a
movabs r10, 0xe06bd23f81541265
xor r8, r10
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x9f6d6db6f43c9e99
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0
setl dl
movabs r8, 0x2ad3e0992c2ebaea
movabs r9, 0xd52c1f66d3d14515
xor r8, r9
cmp rcx, r8
setg cl
and cl, dl
mov byte [rsp + 0xd7], cl
cmp eax, 0x3fa2c99a
jbe 0x14004790f
mov al, byte [rsp + 0xd7]
test al, 1
jne 0x140046da9
jmp 0x140046db3
call fcn.140008bc6
jmp 0x1400478f4
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xc0]
cmp rcx, 0
mov qword [rsp + 0xb8], rax
je 0x1400478f4
mov eax, dword [0x1402183f0]
mov edx, dword [0x1402183f4]
xor edx, 0x92aeddff
mov ecx, eax
and ecx, edx
mov r8d, 0x2092aca2
xor r8d, 0x2092aca0
imul ecx, r8d
xor eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x2d5eac7b
mov edx, 0x8a0c572f
xor edx, 0x75f3a8d0
xor ecx, edx
add eax, 0x2d5eac7b
mov edx, 0x789d90da
xor edx, 0x789d90db
add eax, edx
add eax, ecx
add eax, 0x369c30eb
sub eax, 0xfa8f98c5
cmp eax, 0x81d8ddc8
je 0x140047918
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x100]
mov edi, dword [0x1402183f8]
mov eax, 0xcd05b9f3
xor eax, 0xa681a0d2
xor edi, eax
mov esi, dword [0x1402183fc]
mov eax, 0x9b1fea65
xor eax, 0x64e0159a
mov edx, edi
xor edx, eax
mov r10d, esi
xor r10d, 0xffffffff
mov r9d, 0x770790e0
xor r9d, 0xf172327d
mov eax, 0x5ac7df60
xor eax, 0xa538209f
xor r9d, eax
mov eax, edx
and eax, 0x8675a29d
and edi, r9d
mov r11d, r10d
and r11d, 0x8675a29d
and esi, r9d
or eax, edi
or r11d, esi
xor eax, r11d
or edx, r10d
xor edx, 0xffffffff
or r9d, 0x8675a29d
and edx, r9d
or eax, edx
xor eax, 0x343b0826
add eax, 0x776ae864
mov r9d, 0x8ae2abec
xor edx, edx
div r9d
mov rdx, qword [rsp + 0xc8]
add r8, 8
mov qword [rsp + 0xa0], r8
add rcx, 8
mov qword [rsp + 0xa8], rcx
mov rcx, rdx
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rdx
mov qword [rsp + 0xb0], rcx
cmp eax, 0x56fc8115
ja 0x140047918
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x98], rax
jmp 0x140046f35
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x90], rax
mov ecx, dword [0x140218400]
mov edx, dword [0x140218404]
mov eax, 0x383f43c9
xor eax, 0xecd13649
xor edx, eax
mov eax, 0x422d0750
xor eax, 0xbdd2f8af
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x562decbe
xor ecx, 0x2187c412
sub eax, ecx
sub eax, 0x7a1292de
sub eax, 0xaf5d57cb
mov ecx, 0x71fcd47a
xor ecx, 0xbee46a4
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xff5f04c5
mov ecx, 0x3c00b641
xor ecx, 0x72179562
mov r8d, 0x73023e18
xor r8d, 0x8cfdc1e7
xor ecx, r8d
or eax, edx
or ecx, 0x4e172323
mov edx, 0xebf86341
xor edx, 0x14079cbe
xor eax, edx
and eax, ecx
mov ecx, 0x435ad423
xor ecx, 0x5472cfd9
cmp eax, ecx
jb 0x140047921
mov r9, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xd8]
mov eax, dword [0x140218408]
xor eax, dword [0x14021840c]
mov ecx, 0xa0754767
xor ecx, 0xa8383b88
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xe5d67493
add ecx, eax
xor eax, eax
sub eax, ecx
xor eax, 0x997194ec
mov r8, rdx
sub r8, r9
mov qword [rsp + 0x80], r8
mov rcx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
movabs r10, 0x79432df627b0b70a
movabs rdx, 0x86bcd209d84f48f5
xor r10, rdx
mov rdx, r8
xor rdx, r10
movabs r11, 0xe2fd79798ba24f53
movabs r10, 0x1d028686745db0ac
xor r11, r10
mov r10, r8
xor r10, r11
or rdx, r10
and rdx, r9
movabs r10, 0x9663cdfd0b0aa6b3
movabs r11, 0x699c3202f4f5594c
xor r10, r11
xor rdx, r10
and r9, r9
xor r9, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
movabs r8, 0x1ca5d19acd473819
movabs r9, 0xe35a2e6532b8c7e6
xor r8, r9
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rsp + 0x8f], cl
cmp eax, 0x519c6f44
je 0x140047921
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x140047102
jmp 0x14004711b
call fcn.140008bc6
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov ecx, dword [0x140218410]
mov edx, dword [0x140218414]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc4d428ba
xor ecx, 0xc1614adb
add eax, ecx
and eax, 0xedb13f7
imul eax, eax, 0x8f9109b0
cmp eax, 0xae5873c3
je 0x14004792a
mov r8, qword [rsp + 0x80]
mov eax, dword [str.IaYy]
or eax, dword [0x14021841c]
mov ecx, 0x3055df2c
xor ecx, 0xae063d14
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xc8]
and eax, 0x300c5eb
sub eax, 0xe409667a
mov ecx, 0x44f388c3
xor ecx, 0x1b3c8562
cmp rdx, r8
setg dl
mov byte [rsp + 0x7f], dl
cmp eax, ecx
je 0x14004792a
mov rcx, qword [rsp + 0xc8]
mov dl, byte [rsp + 0x7f]
mov rax, 0xffffffffffffffff
test dl, 1
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xb8], rax
jne 0x1400478f4
jmp 0x1400471e6
mov r9, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x60], rcx
mov rdx, rcx
add rdx, r9
mov qword [rsp + 0x68], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
and rax, r8
mov r8, r9
xor r8, 0xffffffffffffffff
movabs r11, 0x868036cd72c4cd6f
movabs r10, 0x797fc9328d3b3290
xor r11, r10
mov r10, r9
xor r10, r11
and r8, r10
or rax, r8
xor rax, 0xffffffffffffffff
mov r8, rdx
or r8, r9
xor r8, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
xor rdx, rcx
movabs r8, 0x42bebb4d79f70575
movabs rcx, 0x42bebb4d79f70574
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0xb56348b80176ee24
movabs rdx, 0xb56348b80176ee24
xor rcx, rdx
cmp rax, rcx
jge 0x1400472ba
call fcn.140008bc6
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x100]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004730c
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.1400153d3
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov eax, dword [0x140218420]
mov ecx, dword [0x140218424]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xc18ea181
xor ecx, 0x2d5710ac
xor edx, edx
div ecx
mov ecx, 0xb0c55bd2
xor ecx, 0xe310e93c
and eax, ecx
sub eax, 0xdd59575d
add eax, 0x91f86930
mov ecx, 0x200f1eb7
xor ecx, 0xfd5649ea
add eax, ecx
cmp eax, 0x3ac112c
jb 0x140047933
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140218428]
mov edx, 0x23130822
xor edx, 0xb8a7ed0
xor eax, edx
xor edx, edx
div dword [0x14021842c]
mov edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x32a299a
mov r9d, 0xffffffff
xor r9d, 0x32a299a
mov eax, edx
and eax, r9d
imul eax, r8d
mov r9d, 0x3e4f3486
xor r9d, 0x3d651d1c
mov r8d, edx
and r8d, r9d
or edx, 0x32a299a
imul edx, r8d
add edx, eax
mov r9d, 0xffffffff
xor r9d, 0x13613a00
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
mov r9d, 0x306f1306
xor r9d, 0xcf90ecf9
xor eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0x13613a00
or edx, 0x13613a00
imul edx, r8d
add edx, eax
mov eax, edx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x86416f1b
or eax, r8d
mov r8d, 0x86416f1b
and r8d, 0x86416f1b
xor r8d, 0xffffffff
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0x39de451b
xor r8d, 0xc621bae4
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x57], cl
cmp eax, 0x1e8c2964
jbe 0x140047362
mov rax, qword [rsp + 0xb0]
mov cl, byte [rsp + 0x57]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x14004749f
jmp 0x140047484
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xc0]
cmp rax, rcx
mov qword [rsp + 0x48], rax
jl 0x1400475e2
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov eax, dword [0x140218430]
xor edx, edx
div dword [0x140218434]
mov ecx, 0x197076d6
xor ecx, 0x920b334d
and eax, ecx
mov r8d, 0x5fcb5f97
xor r8d, 0x8d67a5f
mov ecx, 0x597fc84
xor ecx, 0xfa68037b
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x257e9b82
xor r8d, 0xda81647d
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x571d25c8
mov r8d, 0xd5aefc8d
xor r8d, 0x82b3d945
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x7a004c2c
xor edx, 0xb43b4bec
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xce3b07c0
sub eax, ecx
cmp eax, 0xc980c20a
je 0x14004793c
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140218438]
xor eax, 0xd3e5f4aa
mov r8d, dword [0x14021843c]
and eax, eax
xor eax, 0xffffffff
and r8d, r8d
xor r8d, 0xffffffff
mov r9d, 0x5ff34268
xor r9d, 0xa00cbd97
xor eax, r9d
mov r9d, 0x1e7b2586
xor r9d, 0xe184da79
xor r8d, r9d
or eax, r8d
or eax, 0x94788bc6
add eax, 0xf2a91f8
mov r8d, eax
xor r8d, 0xd8cfaada
xor r8d, 0xffffffff
mov r9d, 0xb638c83c
xor r9d, 0x6ef762e6
or eax, r9d
and eax, r8d
mov dword [rsp + 0x3c], eax
call fcn.1400153d3
mov eax, dword [rsp + 0x3c]
cmp eax, 0xb078f36f
jae 0x14004793c
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov al, byte [rax + r8 + 8]
mov rcx, qword [rcx]
cmp al, byte [rcx + rdx + 8]
jne 0x140047648
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
cmp rcx, 0
mov qword [rsp + 0xb8], rax
je 0x1400478f4
mov rax, qword [rsp + 0x60]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x70], rax
jmp 0x1400471e6
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x90]
mov rax, r8
xor rax, 0xffffffffffffffff
movabs rcx, 0xfc81b564005b5d10
movabs rdx, 0xfc81b564005b5d10
xor rcx, rdx
movabs rdx, 0xb974db550ae37603
movabs r10, 0xb974db550ae37602
xor rdx, r10
sub rcx, rdx
sub rax, rcx
mov rdx, r9
sub rdx, rax
mov qword [rsp + 0x28], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov rax, r9
and rax, rcx
movabs rcx, 0x92a683a6961af3fa
movabs r10, 0x6d597c5969e50c05
xor rcx, r10
xor r9, rcx
mov rcx, rdx
and rcx, r9
or rax, rcx
movabs r9, 0x91f26a4aca7bfdef
movabs rcx, 0x6e0d95b535840210
xor r9, rcx
mov rcx, rdx
xor rcx, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
movabs r9, 0xd708c708510f1a6d
movabs r10, 0x28f738f7aef0e592
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0xc22886c4aa47e48
movabs r8, 0xc4e7df8d54f5b6ea
xor rdx, r8
movabs r8, 0x6b0ed1240eafc71
movabs r9, 0xf94f12edbf15038e
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xc4d3532e1041048d
movabs r8, 0xc1604cf0e10cc2f
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400477b6
call fcn.140008bc6
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x28]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400477fd
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.1400153d3
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov r9, qword [rsp + 0x90]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rcx + rdx + 8]
mov r8, qword [rax + rcx*8]
movabs rax, 0x6894cc56cea73b77
movabs rcx, 0x16682eb8717d2e58
xor rax, rcx
mov rcx, r8
add rcx, rax
add rcx, r9
movabs rax, 0x97f4c0678dc73c2c
movabs rdx, 0xe9082289321d2903
xor rax, rdx
sub rcx, rax
mov qword [rsp + 0x20], rcx
mov rdx, rcx
and rdx, r9
shl rdx, 1
mov rax, rcx
add rax, r9
sub rax, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r8
and r9, rdx
movabs rdx, 0x73a58fff20923df6
movabs r10, 0x73a58fff20923df4
xor rdx, r10
imul rdx, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400478c9
call fcn.140008bc6
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
jmp 0x1400478f4
mov rax, qword [rsp + 0x20]
cmp rax, 0
mov qword [rsp + 0x98], rax
jge 0x140046f35
call fcn.140008bc6
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
add rsp, 0x118
pop rdi
pop rsi
ret
fistp word [rbx]
invalid
mov dh, 0x82
ret
clc
sub dword [rsi], edx
je 0x140047906
sbb eax, 0xcbfffff5
xchg byte [rbx + 0xb], al
jmp 0x140046ff0
retf
scasb al, byte [rdi]
iretd
ret 0xcf20
retf