Function at 0x140047d20
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov qword [rsp + 0xb8], r8
mov dword [rsp + 0xc4], edx
mov qword [rsp + 0xc8], rcx
mov eax, dword [0x1401f5100]
mov edx, dword [0x1401f5104]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x22bcac00
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x1342e038
xor edx, 0xc2083f27
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, 0xd14adf1f
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x987385fd
or eax, edx
mov edx, 0xba44466
xor edx, 0xf45bbb99
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x987385fd
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x40b415b6
xor ecx, 0x29a646f2
cmp eax, ecx
ja 0x14004837c
mov eax, dword [0x1401f5108]
mov ecx, dword [0x1401f510c]
mov edx, 0x9b6f6748
xor edx, 0x1f5d9156
xor ecx, edx
or eax, ecx
mov ecx, 0x1d326248
xor ecx, 0xacd16939
add eax, ecx
mov ecx, 0x4e564d13
xor ecx, 0xabb91fcb
sub eax, ecx
sub eax, 0xb1e30b71
mov ecx, 0xd2f821b
xor edx, edx
div ecx
mov ecx, 0x5b850425
xor ecx, 0x6deecf02
sub eax, ecx
mov dword [rsp + 0xa4], eax
call fcn.140045cde
mov qword [rsp + 0x98], rax
call fcn.140045cde
mov eax, dword [rsp + 0xc4]
movsxd rcx, eax
call fcn.14005d5d8
mov rcx, qword [rsp + 0x98]
mov rdx, rax
mov eax, dword [rsp + 0xa4]
mov qword [rsp + 0xa8], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0xb7], cl
cmp eax, 0x1acea63c
jb 0x140047dba
mov cl, byte [rsp + 0xb7]
xor eax, eax
test cl, 1
mov qword [rsp + 0x90], rax
jne 0x140047e83
jmp 0x14004836b
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov r8d, 0x369a98fb
cmp rdx, 0
cmove rdx, r8
mov qword [rsp + 0x80], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x88], rcx
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rsp + 0x90], rax
je 0x14004836b
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
add rcx, 0xffffffffffffffff
and rcx, rdx
add rax, 8
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004806c
mov eax, dword [0x1401f5110]
xor eax, 0x65de0150
mov ecx, dword [0x1401f5114]
mov edx, 0x696d1f9b
xor edx, 0xb1cbb97b
xor ecx, edx
sub eax, ecx
mov edx, eax
xor edx, 0xe61125e2
xor edx, 0xffffffff
mov ecx, 0x116ae4f6
xor ecx, 0xf77bc114
and ecx, edx
shl ecx, 1
mov edx, 0x26de2813
xor edx, 0xc0cf0df1
sub ecx, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x1e64ac6e
xor edx, 0xe19b5391
xor eax, edx
mov edx, 0xa2c1f223
xor edx, 0xf2c2ae77
or eax, edx
add eax, ecx
imul eax, eax, 0x3e9d1515
cmp eax, 0x17a2df3d
jb 0x140048385
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov r8d, dword [0x1401f5118]
sub r8d, dword [0x1401f511c]
sub r8d, 0x6e0cb9f2
mov r9d, 0x750eaa9e
xor r9d, 0x8289cb2b
mov edx, r8d
and edx, r9d
xor edx, 0xffffffff
and r8d, 0xf78761b5
xor r8d, 0xffffffff
xor edx, 0xffffffff
mov r9d, 0xbeede67b
xor r9d, 0x41121984
xor r8d, r9d
or edx, r8d
xor edx, 0x80211f5d
mov dword [rsp + 0x4c], edx
movabs r8, 0xff648b9550687367
movabs rdx, 0x9b746aaf978c98
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140013c92
mov eax, dword [rsp + 0x4c]
cmp eax, 0x84534057
jb 0x140048385
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x90], rax
jmp 0x14004836b
mov eax, dword [0x1401f5120]
xor edx, edx
div dword [0x1401f5124]
sub eax, 0x9ccce459
mov r8d, 0xffffffff
xor r8d, 0x2d4caced
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x926053f4
xor r8d, 0x6d9fac0b
xor ecx, r8d
imul ecx, edx
mov r8d, 0xe42fbe10
xor r8d, 0xc96312fd
mov edx, eax
and edx, r8d
mov r8d, 0x3fe2e491
xor r8d, 0x12ae487c
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x9c366e3f
mov ecx, 0xb076aeb6
xor ecx, 0xb4a7cdd5
cmp eax, ecx
je 0x14004838e
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401f5128]
xor eax, dword [0x1401f512c]
add eax, 0xca3693aa
add eax, 0xecdd4039
sub eax, 0xca3693aa
xor r8d, r8d
sub r8d, 0xc5937144
add eax, r8d
sub eax, 0x6f1bf18c
add eax, 0x2361940e
add eax, 0x6f1bf18c
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
add rcx, 8
imul rdx, rdx, 0x18
add rcx, rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x4b], cl
cmp eax, 0xa758d3e8
jae 0x14004838e
mov al, byte [rsp + 0x4b]
test al, 1
jne 0x140048317
jmp 0x14004816b
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb8]
cmp rax, qword [rcx]
jne 0x14004827e
mov eax, dword [0x1401f5130]
mov edx, dword [0x1401f5134]
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, 0x445bdc36
xor ecx, 0x6a8ffd4
sub eax, ecx
sub eax, 0x5eb1581a
add eax, 0x42f323e2
or eax, 0x364a9b4c
xor eax, 0x8eb82e2e
mov ecx, 0x41ffbd30
xor ecx, 0xe6f93300
cmp eax, ecx
ja 0x140048397
mov edx, dword [rsp + 0xc4]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f5138]
mov r11d, dword [0x1401f513c]
mov r9d, eax
xor r9d, 0xffffffff
mov r10d, r11d
and r10d, r9d
mov esi, r11d
xor esi, 0xffffffff
mov r9d, eax
and r9d, esi
imul r9d, r10d
mov r10d, eax
and r10d, r11d
or eax, r11d
imul eax, r10d
add eax, r9d
and eax, 0x96d1aba7
add eax, 0xc94affbf
and eax, 0xd6c6995
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
add rcx, 8
cmp dword [rcx], edx
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x996ce566
je 0x140048397
mov rcx, qword [rsp + 0x58]
mov dl, byte [rsp + 0x37]
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
mov byte [rsp + 0x36], al
jne 0x1400482e6
jmp 0x14004827e
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0x259322588ca1962a
movabs r9, 0xda6cdda7735e69d5
xor r8, r9
or rax, r8
add rdx, rax
call fcn.140046fed
mov r8, qword [rsp + 0x98]
mov rdx, rax
mov rax, qword [rsp + 0x50]
mov cl, 1
cmp byte [r8], 0
mov qword [rsp + 0x20], rdx
mov rdx, rax
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x36], cl
mov qword [rsp + 0x90], rax
jne 0x14004836b
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
mov dl, byte [rsp + 0x36]
test dl, 1
mov qword [rsp + 0x70], rcx
mov rcx, rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x90], rax
jne 0x140047f0c
jmp 0x14004836b
mov rax, qword [rsp + 0x58]
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0xa54099aa4551ff52
movabs r8, 0x5abf6655baae00ad
xor rcx, r8
xor rdx, rcx
and rdx, 0xffffffffffffffff
movabs rcx, 0x44fd2c90cb72c4b
movabs r8, 0x44fd2c90cb72c49
xor rcx, r8
imul rcx, rdx
sub rcx, 0xffffffffffffffff
sub rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
add rsp, 0xd0
pop rsi
ret
mov ch, 0xea
cmp cl, ch
xor eax, 0xdfffffa
and edx, dword [rcx - 0x6d]
jmp 0x140047fc2
or eax, 0xe9935123
xor al, 0xfc
invalid
mov ebx, 0xe9f833e3
push rcx
std
invalid
sar byte [rdi + 0x37e9aed1], 0xfe
invalid