Function at 0x140056710
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x168
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], rcx
call fcn.14004b700
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xd0], rax
cmp rcx, 0
sete al
cmp rdx, 0
sete r8b
mov cl, al
or cl, r8b
mov dl, al
xor dl, r8b
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or al, r8b
and al, dl
test cl, 1
mov byte [rsp + 0xdf], al
jne 0x1400572ae
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x10]
xor eax, eax
cmp rcx, qword [rdx + 0x10]
mov byte [rsp + 0xdf], al
jne 0x1400572ae
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x158], 0
lea rcx, [rsp + 0x158]
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x150], 0
mov al, byte [rax]
mov cl, 0xc5
xor cl, 0xc5
cmp al, cl
jne 0x1400571f0
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
mov qword [rsp + 0xa0], rcx
add rax, 8
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x98], rax
mov eax, dword [0x140202a80]
xor edx, edx
div dword [str.5e_nQD]
mov ecx, 0xb2c50cac
xor ecx, 0xa540380a
add eax, ecx
mov ecx, 0x5c2a5ea
xor ecx, 0xadbc601f
sub eax, ecx
mov ecx, 0x1c434b7c
xor ecx, 0xbc67fda
sub eax, ecx
mov ecx, 0x34f7e57e
xor ecx, 0x4d19804c
xor edx, edx
div ecx
xor eax, 0x511cd101
mov ecx, 0xab3c62bb
xor ecx, 0xedb546a2
cmp eax, ecx
jb 0x1400572c2
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov r8d, dword [0x140202a88]
xor r8d, dword [0x140202a8c]
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xf2fb8166
or eax, r9d
and r8d, 0xf2fb8166
xor r8d, 0xffffffff
mov r9d, 0xb97a603b
xor r9d, 0x46859fc4
xor eax, r9d
xor r8d, 0xffffffff
or eax, r8d
and eax, 0xf0c07ba2
mov r8d, 0x6923b1d6
xor r8d, 0x4a07fd91
and eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x97], cl
cmp eax, 0x853f0d09
ja 0x140056887
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14005691e
jmp 0x1400571f0
mov eax, dword [0x140202a90]
mov ecx, dword [0x140202a94]
xor ecx, 0x8e5515d7
imul eax, ecx
add eax, 0xc2152e41
add eax, 0x3282272
mov ecx, 0x893fa3ee
xor ecx, 0x4b2a8daf
sub eax, ecx
imul eax, eax, 0xec84bc04
or eax, 0x21b10f80
cmp eax, 0x660164c8
jb 0x1400572cb
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xc0]
mov eax, dword [0x140202a98]
xor eax, 0xc0a161b
mov r8d, dword [0x140202a9c]
xor r8d, 0x3357107b
and eax, eax
mov r9d, 0xdda0efc5
xor r9d, 0x225f103a
xor eax, r9d
and r8d, r8d
mov r9d, 0x1aa92e23
xor r9d, 0xe556d1dc
xor r8d, r9d
and eax, r8d
mov r8d, 0x69ef4b60
xor r8d, 0x9610b49f
xor eax, r8d
add eax, 0xb24dd80d
imul eax, eax, 0x114ee502
add eax, 0x2f753e4
mov rdx, qword [rdx]
mov qword [rsp + 0x88], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x96], cl
cmp eax, 0x6fb294ec
jb 0x1400572cb
mov al, byte [rsp + 0x96]
test al, 1
jne 0x140056b68
jmp 0x140056a08
mov edx, dword [0x140202aa0]
xor edx, 0xce68908c
mov r8d, dword [0x140202aa4]
xor r8d, 0x40e57de8
mov eax, edx
xor eax, 0xffffffff
mov ecx, r8d
and ecx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, edx
and eax, r9d
imul eax, ecx
mov ecx, edx
and ecx, r8d
or edx, r8d
imul edx, ecx
add edx, eax
mov eax, 0x3bb8b8b1
xor eax, 0xc9dda65b
sub edx, eax
mov ecx, edx
xor ecx, 0xa264a888
mov eax, 0xffffffff
xor eax, 0xa264a888
and edx, eax
mov eax, 0x63782aa1
xor eax, 0x63782aa3
imul eax, edx
sub eax, ecx
and eax, 0xe4307a13
mov ecx, 0xfeb46962
xor ecx, 0x1282e1b2
cmp eax, ecx
ja 0x1400572d4
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x140202aa8]
xor eax, 0xa4134436
xor edx, edx
div dword [0x140202aac]
mov rdx, qword [rsp + 0x88]
mov r8d, 0x47eedd65
xor r8d, 0x69b3a4e6
and r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xf8dbd9e5
xor r9d, 0xd686a066
add eax, r9d
add eax, 1
add eax, r8d
mov r8d, 0xf07f4124
xor r8d, 0x52e801dc
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xa5030a58
xor r9d, 0xa0a91524
and r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x5aa1f7c
and eax, r9d
sub eax, r8d
mov dword [rsp + 0x84], eax
mov eax, 0x1553afb5
xor eax, 0x9c183790
mov dword [rsp + 0x80], eax
movabs rax, 0xdf3f1caed1826042
movabs r8, 0x20c0e3512e7d9fbd
xor rax, r8
add rdx, rax
call fcn.140014583
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x84]
cmp eax, ecx
je 0x140056a8f
jmp 0x1400571f0
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x140057188
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x78]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 8
mov rcx, qword [rax]
mov qword [rsp + 0x140], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x158]
lea rdx, [rsp + 0x140]
call fcn.14001a950
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp rax, rcx
jl 0x140056c42
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x70]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140014583
mov rax, qword [rsp + 0xd0]
mov cl, byte [rax]
xor eax, eax
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jmp 0x140057139
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov rdx, qword [rax]
lea rcx, [rsp + 0x150]
xor r8d, r8d
call fcn.14014eb30
mov rdx, qword [rsp + 0xd0]
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x140057139
mov eax, dword [0x140202ab0]
xor eax, dword [0x140202ab4]
mov ecx, 0xb7bd3607
xor ecx, 0xffa83963
xor eax, ecx
add eax, 0x6eaa01d9
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd2b597bc
mov edx, 0xffffffff
xor edx, 0xd2b597bc
and eax, edx
sub eax, ecx
mov ecx, 0xf9b6a248
xor ecx, 0x443cce86
cmp eax, ecx
ja 0x1400572dd
mov rax, qword [rsp + 0xc8]
mov edx, dword [0x140202ab8]
mov r9d, dword [0x140202abc]
mov r10d, r9d
not r10d
mov r8d, edx
and r8d, r10d
mov ecx, edx
or ecx, r10d
not ecx
imul ecx, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, ecx
mov ecx, edx
not ecx
and ecx, 0xbdbc7d25
mov r8d, edx
and r8d, 0x424382da
imul r8d, ecx
mov ecx, edx
and ecx, 0xbdbc7d25
or edx, 0xbdbc7d25
imul edx, ecx
mov ecx, edx
mov edx, r8d
lea ecx, [rcx + rdx - 0x281d4733]
mov dword [rsp + 0x60], ecx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x130], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x110], xmm0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x110]
call fcn.140056430
mov rcx, qword [rsp + 0xd0]
mov dl, al
mov eax, dword [rsp + 0x60]
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rsp + 0x65], cl
or cl, dl
mov byte [rsp + 0x66], cl
cmp eax, 0x64576fde
jb 0x140056ce0
mov al, byte [rsp + 0x66]
test al, 1
jne 0x140056f21
jmp 0x140056dcb
mov eax, dword [0x140202ac0]
xor eax, 0xaf4da6b8
imul eax, dword [0x140202ac4]
mov ecx, 0x8b26bfd3
xor edx, edx
div ecx
or eax, 0xc206e30
sub eax, 0x6630822
mov ecx, 0x4934a804
xor ecx, 0xedc4dba7
cmp eax, ecx
je 0x1400572e6
mov eax, dword [0x140202ac8]
xor eax, dword [0x140202acc]
mov ecx, 0x302debbe
xor ecx, 0xc5ff9f97
add eax, ecx
mov ecx, 0xa22848ff
xor ecx, 0x196010c9
sub eax, ecx
sub eax, 0xf5d27429
mov ecx, eax
and ecx, 0xe36e87ef
mov edx, 0xd466c5bd
xor edx, 0xd466c5bf
imul ecx, edx
xor eax, 0xe36e87ef
add eax, ecx
imul eax, eax, 0xdd76f43b
mov dword [rsp + 0x58], eax
xor eax, eax
mov ecx, eax
call fcn.14014dd00
mov rcx, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x58]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xe2c7fb08
jae 0x140056e03
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x140056e90
jmp 0x1400571f0
mov rcx, qword [rsp + 0x150]
call fcn.14014dd00
mov rcx, qword [rsp + 0xd0]
xor eax, eax
cmp byte [rcx], 0
mov byte [rsp + 0x57], al
jne 0x1400572a3
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x1400572a3
mov rax, qword [rsp + 0x48]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
movabs rdx, 0xbed46905a90d5fcd
movabs rax, 0xbed46905a90d5fcd
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov byte [rsp + 0x57], al
jne 0x1400572a3
mov rcx, qword [rsp + 0x48]
call fcn.14000fb44
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1400572a3
mov dl, byte [rsp + 0x65]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x140057139
jmp 0x140056f40
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0xe0], xmm0
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0xe0]
call fcn.1400565af
mov rcx, qword [rsp + 0xd0]
mov r8, rax
mov rax, r8
mov qword [rsp + 0x40], rax
mov cl, byte [rcx]
test cl, cl
setne dl
mov r9, qword [rsp + 0x150]
sub r8, r9
sete r8b
or dl, r8b
test dl, 1
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x68], rax
jne 0x140057139
mov eax, dword [0x140202ad0]
mov ecx, 0xcf3f6853
xor ecx, 0x76477514
xor eax, ecx
xor edx, edx
div dword [0x140202ad4]
mov ecx, eax
mov eax, 0x802214e8
xor eax, 0x6ab2b3aa
add ecx, eax
or ecx, 0xee482d25
mov eax, ecx
and eax, 0x27e12819
mov edx, 0xb39b6230
xor edx, 0x4c649dcf
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x27e12819
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xf2765351
xor edx, 0xd89acae
xor ecx, edx
or eax, ecx
mov ecx, 0xb56b6b5c
xor ecx, 0x9396d175
cmp eax, ecx
je 0x1400572ef
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140202ad8]
xor edx, edx
div dword [0x140202adc]
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x95710316
add edx, eax
mov eax, 0x71ecae28
xor eax, 0x71ecae28
sub eax, edx
mov edx, eax
and edx, 0x489b73a3
shl edx, 1
add eax, 0x489b73a3
sub eax, edx
mov r8d, 0x5fad54ae
xor edx, edx
div r8d
mov dword [rsp + 0x38], eax
call fcn.14014dd00
mov rcx, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x4e35bcf4
je 0x1400572ef
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1400570be
jmp 0x1400571f0
mov rcx, qword [rsp + 0x150]
call fcn.14014dd00
mov rcx, qword [rsp + 0xd0]
xor eax, eax
cmp byte [rcx], 0
mov byte [rsp + 0x57], al
jne 0x1400572a3
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x1400572a3
mov rax, qword [rsp + 0x30]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
jne 0x1400572a3
mov rcx, qword [rsp + 0x30]
call fcn.14000fb44
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1400572a3
mov rax, qword [rsp + 0xd0]
mov dl, byte [rsp + 0x67]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x2f], dl
mov byte [rax], 0
call fcn.14014dd00
mov rax, qword [rsp + 0xd0]
mov al, byte [rax]
mov cl, 0xdd
xor cl, 0xdd
cmp al, cl
jne 0x1400571f0
mov al, byte [rsp + 0x2f]
mov rdx, qword [rsp + 0xd0]
mov cl, 0xb9
xor cl, 0xb9
mov byte [rdx], al
cmp al, cl
jne 0x1400571f0
mov rax, qword [rsp + 0x98]
xor ecx, ecx
sub rcx, rax
movabs rax, 0xa687059ad9f3e0c5
movabs rdx, 0xa687059ad9f3e0c5
xor rax, rdx
movabs rdx, 0xb6ffd6d20bc84c18
movabs r8, 0xb6ffd6d20bc84c19
xor rdx, r8
sub rax, rdx
add rcx, rax
movabs rax, 0x2cc2513015b70a37
movabs rdx, 0x2cc2513015b70a37
xor rax, rdx
sub rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x14005681b
mov rax, qword [rsp + 0xd0]
mov cl, byte [rax]
mov byte [rsp + 0x2d], cl
mov dl, 0x74
xor dl, 0x74
cmp cl, dl
sete cl
mov byte [rsp + 0x2e], cl
mov byte [rax], 0
mov rcx, qword [rsp + 0x150]
call fcn.14014dd00
mov rcx, qword [rsp + 0xd0]
xor eax, eax
cmp byte [rcx], 0
mov byte [rsp + 0x57], al
jne 0x1400572a3
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14005728d
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14005728d
mov rcx, qword [rsp + 0x20]
call fcn.14000fb44
mov al, byte [rsp + 0x2e]
mov rcx, qword [rsp + 0xd0]
mov dl, byte [rsp + 0x2d]
mov byte [rcx], dl
mov byte [rsp + 0x57], al
mov al, byte [rsp + 0x57]
mov byte [rsp + 0xdf], al
mov al, byte [rsp + 0xdf]
and al, 1
movzx eax, al
add rsp, 0x168
ret
fst st(1)
in eax, dx
int3
mov word [r9 - 0x97317], ss
call [rdx]
pop rcx
je 0x1400572d8
sbb bl, byte [rcx + 0x74]
add cl, ch
mov dl, 0xf7
invalid
jmp 0x140056a8f
pop rsi
sub dword [rdx - 0x60516f6], ebp
invalid
fisttp qword [rdx + 0x14e99a9f]
sti
invalid
sbb dword [rdi + 0x42e91e87], edx
std
invalid