Function at 0x140139f60
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x120
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rdx, qword [rsp + 0xe8]
add rax, 0x60
mov qword [rsp + 0xf0], rax
mov rax, qword [rdx]
mov qword [rsp + 0xf8], rax
cmp rax, 0
jge 0x140139fd7
mov rcx, qword [rsp + 0xf8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x14013ab03
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x110]
call fcn.140037460
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x110]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x118]
mov qword [rax + 8], rdx
mov rdx, qword [rcx]
mov qword [rsp + 0xb0], rdx
add rcx, 8
mov qword [rsp + 0xb8], rcx
add rax, 8
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x100]
add rax, 8
mov qword [rsp + 0xc8], rax
xor eax, eax
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa8], rax
cmp rax, rcx
jge 0x14013ab03
mov eax, dword [0x14027abb0]
xor eax, 0x88c68d51
sub eax, dword [0x14027abb4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa726fdf
xor edx, 0xf58d9020
xor eax, edx
and ecx, eax
mov eax, 0xffffffff
xor eax, 0xf81cbc41
mov edx, 0xffffffff
xor edx, 0xf81cbc41
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9ff13692
mov edx, 0xffffffff
xor edx, 0x9ff13692
and ecx, edx
or eax, ecx
mov ecx, 0xf4dc52cd
xor ecx, 0x440fe778
xor edx, edx
div ecx
mov ecx, 0x69ece9e2
xor ecx, 0x9b372c73
cmp eax, ecx
jae 0x14013ab14
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xe8]
mov eax, dword [0x14027abb8]
mov ecx, dword [0x14027abbc]
xor ecx, 0x25c25002
and eax, ecx
and eax, 0x2de2d067
add eax, 0xd07ce425
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x98], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0xa7], cl
cmp eax, 0x2cb4dd2f
je 0x14013a0f4
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x14013a195
jmp 0x14013a161
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x98]
movabs rax, 0x7c07df9a7c45cecc
movabs r8, 0x83f8206583ba3133
xor rax, r8
add rdx, rax
call fcn.1400292ad
jmp 0x14013ab03
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x8f], al
add al, 0xe0
movzx ecx, al
mov qword [rsp + 0x90], rcx
sub al, 0x5e
ja 0x14013a3a3
mov rax, qword [rsp + 0x90]
lea rcx, [0x14013ab38]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0xd8]
movabs rdx, 0xfe33ae91d1b17357
movabs rax, 0xfe33ae91d1b17356
xor rdx, rax
call fcn.140037690
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], 0x25
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x70], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14013a40c
call fcn.14000f24b
jmp 0x14013a42c
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov al, byte [rsp + 0x8f]
movzx eax, al
mov edx, eax
movabs r8, 0xee140d56a6256194
movabs rax, 0xee140d56a6256196
xor r8, rax
lea rcx, [rsp + 0x100]
call fcn.140139654
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x100]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
mov al, byte [rax]
mov cl, 0xec
xor cl, 0xec
cmp al, cl
jne 0x14013a87d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xd8]
call fcn.140037690
mov rax, qword [rsp + 0x60]
cmp rax, 0
jle 0x14013a87d
mov ecx, dword [0x14027abc0]
imul ecx, dword [0x14027abc4]
mov edx, 0x5f8494dc
xor edx, 0xa07b6b23
mov eax, ecx
xor eax, edx
mov r8d, 0x5251be34
xor r8d, 0xadae41cb
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xeae3057e
or edx, 0xeae3057e
xor edx, 0xffffffff
or eax, edx
mov edx, 0xbf2f6734
xor edx, 0x40d098cb
xor eax, edx
or ecx, 0xeae3057e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x327035fc
add eax, ecx
add eax, 1
mov ecx, 0x1318665b
xor ecx, 0xedc2f061
imul eax, ecx
cmp eax, 0x529e6be4
je 0x14013ab1d
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x14027abc8]
and eax, dword [0x14027abcc]
mov esi, eax
xor esi, 0xffffffff
mov r8d, 0xae595af8
xor r8d, 0x51a6a507
mov ecx, eax
xor ecx, r8d
or esi, ecx
xor esi, 0xffffffff
mov ecx, 0xd18fe8c5
xor ecx, 0xa43f3a63
mov r8d, 0xa457b2
xor r8d, 0xff5ba84d
xor ecx, r8d
or esi, ecx
mov ecx, 0xffffffff
xor ecx, 0x75b0d2a6
mov r8d, 0xffffffff
xor r8d, 0x75b0d2a6
or ecx, r8d
and eax, ecx
xor eax, 0xffffffff
and esi, eax
mov eax, 0x8c45ec35
xor eax, 0x73ba13ca
xor esi, eax
mov eax, esi
xor eax, 0xfa73863a
mov ecx, 0xffffffff
xor ecx, 0xfa73863a
and esi, ecx
shl esi, 1
sub esi, eax
mov eax, 0x4e3fa0be
xor eax, 0xb1c05f41
mov ecx, esi
xor ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x5e7e3109
mov r8d, 0x2dd1c98a
xor r8d, 0xb982c599
mov eax, 0x5e15dd87
xor eax, 0xa1ea2278
xor r8d, eax
mov eax, ecx
and eax, 0x94530c13
and esi, r8d
mov r10d, r9d
and r10d, 0x94530c13
mov r11d, r8d
and r11d, 0x5e7e3109
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
xor ecx, 0xffffffff
or r8d, 0x94530c13
and ecx, r8d
or eax, ecx
mov rcx, rdx
add rcx, 1
mov qword [rsp + 0x50], rcx
movabs r8, 0x4c6340bcc545c17c
movabs r9, 0xb39cbf433aba3e83
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x872e19b335175d63
movabs r8, 0x872e19b335175d63
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xc33022e3
ja 0x14013ab1d
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14013a69c
jmp 0x14013a6a6
call fcn.14000f24b
jmp 0x14013a87d
mov rax, qword [rsp + 0x50]
cmp rax, 0
jge 0x14013a7c8
mov eax, dword [0x14027abd0]
xor edx, edx
div dword [0x14027abd4]
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x85e26801
xor eax, 0x1901baf4
and eax, edx
mov edx, 0xffffffff
xor edx, 0x9ce3d2f5
and ecx, edx
or eax, ecx
mov ecx, 0x8d39d6c7
xor ecx, 0xd21b8b26
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf6082e19
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x99e6083f
xor r8d, 0x6fee2626
mov edx, eax
and edx, r8d
mov r8d, 0xb1aedc49
xor r8d, 0x47a6f250
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xcc31e3b5
xor ecx, 0x839192ea
cmp eax, ecx
je 0x14013ab26
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x14027abd8]
or eax, dword [0x14027abdc]
mov edx, 0x20020910
xor edx, 0x20020910
mov r8d, 0x18f4c2cb
xor r8d, 0xb8f8c44
sub edx, r8d
sub eax, edx
mov r8d, 0xffffffff
xor r8d, 0x930c9181
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x930c9181
add eax, r8d
sub eax, edx
and eax, 0x2ae44509
mov dword [rsp + 0x4c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
mov eax, dword [rsp + 0x4c]
cmp eax, 0xdcafa0ad
je 0x14013a749
jmp 0x14013a87d
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x30], rcx
add rax, 8
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jne 0x14013a7fc
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xd8]
mov r8, qword [rax]
mov rcx, r8
add rcx, rdx
mov qword [rsp + 0x28], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14013a868
call fcn.14000f24b
jmp 0x14013a88c
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
jmp 0x14013a88c
mov rax, qword [rsp + 0x68]
cmp rax, 0
je 0x14013a90e
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xa14046a37dd0361e
movabs r8, 0x5ebfb95c822fc9e1
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
movabs rdx, 0x1a761a421f2a1d32
movabs r8, 0xe589e5bde0d5e2cd
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x14013a90e
mov rcx, qword [rsp + 0x68]
call fcn.14001d1d6
mov rax, qword [rsp + 0xf0]
cmp byte [rax], 0
jne 0x14013ab03
mov rdx, qword [rsp + 0xa8]
movabs rcx, 0xdc1b6f02411de21f
movabs rax, 0xdc1b6f02411de21e
xor rcx, rax
mov rax, rdx
add rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rcx, 0xad263a3ec565142
movabs r9, 0xf52d9c5c13a9aebd
xor rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x54f801555522d7cf
movabs r9, 0xab07feaaaadd2830
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0xd0], rax
jge 0x14013a054
mov eax, dword [0x14027abe0]
mov r8d, dword [0x14027abe4]
xor r8d, 0xda19c12c
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 ecx, 0x7b0e98df
xor ecx, 0xdcd3fc06
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x7e29855a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7e29855a
or eax, 0x7e29855a
imul eax, edx
add eax, ecx
mov ecx, 0x15344df8
xor edx, edx
div ecx
cmp eax, 0xec1387e9
ja 0x14013ab2f
mov eax, dword [0x14027abe8]
and eax, dword [0x14027abec]
mov ecx, 0x39b47e97
xor ecx, 0x5a11ce95
and ecx, eax
mov edx, 0xeb724f55
xor edx, 0x148db0aa
xor ecx, edx
add eax, 0x63a5b002
mov edx, 0xf5edf356
xor edx, 0xf5edf357
add eax, edx
add eax, ecx
mov ecx, 0xa55732bd
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x405c9bb2
xor edx, 0xe198cdf5
and eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa1c45647
mov r8d, 0xffffffff
xor r8d, 0xa1c45647
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xba1b4eb6
xor r8d, 0x45e4b149
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xa97ad0f7
xor edx, 0x56852f08
xor ecx, edx
or eax, ecx
mov dword [rsp + 0x24], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x24]
cmp eax, 0xac6b2410
je 0x14013ab2f
add byte [rax], al
add cl, ch
add byte [rax], al
add byte [rax], al
jmp 0x14013ab03
mov rax, qword [rsp + 0xe0]
add rsp, 0x120
pop rsi
ret
wait
xchg esp, eax
jge 0x14013aafb
jmp 0x14013a0f4
adc edx, dword [rax]
adc al, 0x8c
jmp 0x14013a538
ret 0x8d18
mov edi, 0xe98b6a58
adc bh, bh
invalid