Function at 0x140031300
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov word [rsp + 0x66], cx
mov eax, dword [0x1401d9560]
xor eax, 0x3cf66e4d
mov ecx, dword [0x1401d9564]
xor ecx, 0x9e6769d2
imul eax, ecx
xor ecx, ecx
sub ecx, 0x6fbb31d6
sub eax, ecx
mov ecx, 0x7b5e1b1b
xor edx, edx
div ecx
sub eax, 0x78342454
cmp eax, 0xd187a33c
ja 0x14003182f
mov ecx, dword [0x1401d9568]
sub ecx, dword [0x1401d956c]
xor ecx, 0x8d7f34ff
mov eax, 0x48fcee40
xor eax, 0x13f42332
mov edx, 0x83f29a6b
xor edx, 0x7c0d6594
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
and eax, 0xd0a8a0ab
xor ecx, 0xd0a8a0ab
or eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, 0x19ea2476
xor eax, 0xe2f5c415
mov dword [rsp + 0x58], eax
mov rax, qword [0x1401eeb10]
mov ecx, dword [rax]
call fcn.140007a23
mov qword [rsp + 0x50], rax
add rax, 0x60
mov qword [rsp + 0x48], rax
mov ecx, 0x55
call fcn.140031130
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov r8w, ax
mov eax, dword [rsp + 0x5c]
mov word [rsp + 0x62], r8w
cmp byte [rdx + 0x60], 0
sete dl
mov byte [rsp + 0x65], dl
cmp eax, ecx
je 0x140031346
mov ax, word [rsp + 0x66]
mov cl, byte [rsp + 0x65]
test cl, 1
mov word [rsp + 0x46], ax
jne 0x140031405
jmp 0x140031825
mov ecx, 0xaa
call fcn.140031130
mov rcx, qword [rsp + 0x48]
mov dx, ax
mov ax, word [rsp + 0x66]
mov word [rsp + 0x44], dx
cmp byte [rcx], 0
mov word [rsp + 0x46], ax
jne 0x140031825
mov r8w, word [rsp + 0x66]
mov ax, word [rsp + 0x44]
mov dx, word [rsp + 0x62]
xor dx, 0xffff
xor r8w, 0xffff
mov cx, 0x2891
xor cx, 0x6ad2
mov r9w, 0xf2cd
xor r9w, 0xd32
xor cx, r9w
or dx, r8w
or cx, 0x4243
mov r8w, 0x222
xor r8w, 0xfddd
xor dx, r8w
and dx, cx
mov cx, 0xfe9b
xor cx, 0xfe9a
shl dx, cl
mov cx, word [rsp + 0x66]
mov word [rsp + 0x3e], dx
and ax, cx
mov cx, 0x810a
xor cx, 0x810b
shr ax, cl
mov cx, word [rsp + 0x3e]
or ax, cx
mov word [rsp + 0x40], ax
mov ecx, 0x33
call fcn.140031130
mov rcx, qword [rsp + 0x48]
mov dx, ax
mov ax, word [rsp + 0x40]
mov word [rsp + 0x42], dx
mov cl, byte [rcx]
mov dl, 0x85
xor dl, 0x85
cmp cl, dl
mov word [rsp + 0x46], ax
jne 0x140031825
mov ecx, dword [0x1401d9570]
xor ecx, 0x7812d326
mov edx, dword [0x1401d9574]
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, edx
add ecx, eax
sub ecx, 0xc988a693
sub ecx, 0xa2c512dc
add ecx, 0xc988a693
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0x220b607e
xor edx, 0xddf49f81
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x3a347acd
or eax, edx
mov edx, 0x3a347acd
and edx, 0x3a347acd
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x59f264ac
xor r8d, 0xa60d9b53
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
sub eax, 0x96450403
cmp eax, 0xb578fccc
jae 0x140031838
mov eax, dword [0x1401d9578]
mov ecx, dword [0x1401d957c]
xor ecx, 0x855c0f7c
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xaad29273
add eax, ecx
add eax, 1
mov ecx, 0x3fad37cb
xor edx, edx
div ecx
sub eax, 0xa40500a5
sub eax, 0xbddab727
mov ecx, 0x6ab89103
xor ecx, 0xcebd91a6
add eax, ecx
mov dword [rsp + 0x34], eax
mov ecx, 0xcc
call fcn.140031130
mov rcx, qword [rsp + 0x48]
mov dx, ax
mov eax, dword [rsp + 0x34]
mov word [rsp + 0x3a], dx
mov cl, byte [rcx]
mov dl, 0xc7
xor dl, 0xc7
cmp cl, dl
sete cl
mov byte [rsp + 0x3d], cl
cmp eax, 0x337a3a07
jb 0x140031838
mov ax, word [rsp + 0x40]
mov cl, byte [rsp + 0x3d]
test cl, 1
mov word [rsp + 0x46], ax
jne 0x140031604
jmp 0x140031825
mov eax, dword [0x1401d9580]
mov ecx, 0xa4fb7275
xor ecx, 0xc0374049
xor eax, ecx
mov ecx, dword [0x1401d9584]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
imul eax, eax, 0x5c654cd8
mov ecx, 0x5449d538
xor ecx, 0x1c0c7e49
or eax, ecx
mov ecx, 0x23b9acfd
xor ecx, 0x7346bbcc
or eax, ecx
cmp eax, 0x937f91ba
jbe 0x140031841
mov cx, word [rsp + 0x3a]
mov r8w, word [rsp + 0x42]
mov eax, dword [0x1401d9588]
xor eax, 0xed7048c4
xor edx, edx
div dword [0x1401d958c]
add eax, 0x5a0d26e8
mov r9d, 0xb531ddd2
xor edx, edx
div r9d
mov r9d, 0xefa6d597
xor r9d, 0xbcac1811
xor edx, edx
div r9d
mov edx, eax
mov ax, word [rsp + 0x40]
mov dword [rsp + 0x2c], edx
mov edx, 0xd1c78b6f
xor edx, 0x1c38c2f5
mov dword [rsp + 0x28], edx
mov r9w, 0x5512
xor r9w, 0xaaed
mov dx, r8w
xor dx, r9w
xor r8w, 0xffff
and dx, r8w
mov r8w, ax
or r8w, r8w
xor r8w, 0xffff
xor dx, 0xffff
mov r9w, 0x66c8
xor r9w, 0x9937
xor r8w, r9w
and dx, r8w
shl dx, 2
and cx, ax
shr cx, 2
mov r8w, 0x99c0
xor r8w, 0x663f
mov ax, cx
xor ax, r8w
mov r8w, dx
xor r8w, 0xffff
and ax, r8w
mov r8w, 0x955
xor r8w, 0xf6aa
xor cx, r8w
xor dx, 0xffff
and cx, dx
xor ax, 0xffff
xor cx, 0xffff
and ax, cx
mov word [rsp + 0x26], ax
mov ecx, 0xf
call fcn.140031130
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x28]
mov r8w, ax
mov eax, dword [rsp + 0x2c]
mov word [rsp + 0x30], r8w
mov dl, byte [rdx]
mov r8b, 0x51
xor r8b, 0x51
cmp dl, r8b
sete dl
mov byte [rsp + 0x33], dl
cmp eax, ecx
jae 0x140031650
mov ax, word [rsp + 0x26]
mov cl, byte [rsp + 0x33]
test cl, 1
mov word [rsp + 0x46], ax
jne 0x140031792
jmp 0x140031825
mov cl, 0xf3
xor cl, 3
call fcn.140031130
mov rcx, qword [rsp + 0x48]
mov dx, ax
mov ax, word [rsp + 0x26]
mov word [rsp + 0x24], dx
mov cl, byte [rcx]
mov dl, 0xb2
xor dl, 0xb2
cmp cl, dl
mov word [rsp + 0x46], ax
jne 0x140031825
mov ax, word [rsp + 0x26]
mov cx, word [rsp + 0x24]
mov dx, word [rsp + 0x30]
and dx, ax
shl dx, 4
and cx, ax
shr cx, 4
mov ax, cx
xor ax, 0xffff
mov r8w, dx
xor r8w, 0xffff
and ax, r8w
mov r8w, 0x2e86
xor r8w, 0xd179
xor cx, r8w
xor dx, 0xffff
and cx, dx
xor ax, 0xffff
mov dx, 0x448f
xor dx, 0xbb70
xor cx, dx
and ax, cx
rol ax, 8
mov word [rsp + 0x46], ax
mov ax, word [rsp + 0x46]
add rsp, 0x68
ret
invalid
add al, 0xef
int 0xb5
jmp 0x14003156a
mov cl, 0x42
invalid