Function at 0x140149eb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], rcx
mov ecx, dword [0x14024a448]
mov eax, dword [0x14024a44c]
xor eax, 0x5467a409
sub ecx, 0x51d01949
add ecx, eax
add ecx, 0x51d01949
mov edx, 0xffffffff
xor edx, 0xeae08091
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x1188381a
xor ecx, 0x5215fe72
add eax, ecx
mov ecx, eax
and ecx, 0x683157f4
xor ecx, 0xffffffff
mov edx, 0xd132eba2
xor edx, 0xb903bc56
add eax, edx
mov edx, 0x5348aa2c
xor edx, 0x5348aa2d
add eax, edx
add eax, ecx
cmp eax, 0x9efed70d
ja 0x14014a97c
mov eax, dword [0x14024a450]
mov ecx, dword [0x14024a454]
add eax, ecx
imul eax, eax, 0x8052e03b
or eax, 0x499b31c5
add eax, 0x5d25c44d
mov dword [rbp + 0x30], eax
mov eax, 0x10
mov qword [rbp + 0x10], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.140147982
add rsp, 0x20
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140147020
mov rcx, qword [rbp + 0x28]
mov eax, dword [rbp + 0x30]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xd5
xor dl, 0xd5
cmp cl, dl
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0x20932253
je 0x140149f33
mov al, byte [rbp + 0x37]
test al, 1
jne 0x14014a007
jmp 0x14014a976
mov ecx, dword [0x14024a458]
mov edx, dword [0x14024a45c]
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
add ecx, 0x48dd59dd
mov eax, 0x4e68595f
xor eax, 0xae34fdb1
sub ecx, eax
sub ecx, 0x48dd59dd
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdc198569
mov r8d, 0xffffffff
xor r8d, 0xdc198569
and edx, r8d
or eax, edx
mov edx, 0x3f77c16a
xor edx, 0xc0883e95
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdc198569
and ecx, edx
or eax, ecx
mov ecx, 0xc7d2d178
xor ecx, 0x382d2e87
xor eax, ecx
sub eax, 0xb3b714c8
sub eax, 0x358f11b2
add eax, 0xb3b714c8
cmp eax, 0x54c73f25
jb 0x14014a985
mov rcx, qword [rbp]
mov eax, dword [0x14024a460]
xor edx, edx
div dword [0x14024a464]
mov r8d, 0xdc5397a9
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 8]
mov r8d, edx
xor r8d, 0xbe42bc89
xor r8d, 0xffffffff
and r8d, 0xbe42bc89
shl r8d, 1
sub r8d, 0xbe42bc89
sub edx, r8d
add edx, 0x1ce3cf67
mov dword [rbp - 0x1c], edx
mov qword [rax], 0
mov word [rcx], 0x4ec
sub rsp, 0x20
call fcn.140064b20
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x1c]
mov qword [rbp - 0x18], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0xb9422116
je 0x14014a985
mov al, byte [rbp - 9]
test al, 1
jne 0x14014a13d
jmp 0x14014a976
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
mov cx, 0x86ea
xor cx, 0x87b8
sub rsp, 0x20
call fcn.140065e7e
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x28]
mov dword [rcx], edx
mov al, byte [rax]
mov cl, 0xad
xor cl, 0xad
cmp al, cl
jne 0x14014a976
mov cx, 0xcea6
xor cx, 0xc74e
sub rsp, 0x20
call fcn.140065c00
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov dx, ax
mov rax, qword [rbp + 0x28]
mov word [rcx + 4], dx
mov al, byte [rax]
mov cl, 0x16
xor cl, 0x16
cmp al, cl
jne 0x14014a976
mov eax, dword [0x14024a468]
mov edx, dword [str._6a4__]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0xb520a2fc
xor ecx, 0xf47b651e
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8f3de9c3
mov r8d, 0xffffffff
xor r8d, 0x8f3de9c3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8f3de9c3
or eax, 0x8f3de9c3
imul eax, edx
add eax, ecx
xor eax, 0xec8045c3
cmp eax, 0x6a7ac270
ja 0x14014a98e
mov eax, dword [0x14024a470]
xor edx, edx
div dword [0x14024a474]
or eax, 0xd2b87e48
mov ecx, 0xfb225a71
xor edx, edx
div ecx
mov ecx, 0x4a7c9a62
xor ecx, 0xd9ea140f
imul eax, ecx
mov dword [rbp - 0x38], eax
mov ecx, 0x76b
sub rsp, 0x20
call fcn.140065c00
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp - 0x38]
mov word [rdx + 6], r8w
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0xa26838db
ja 0x14014a21d
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14014a294
jmp 0x14014a976
mov eax, dword [0x14024a478]
mov ecx, 0xbd42320
xor ecx, 0x6015b001
xor eax, ecx
mov ecx, dword [0x14024a47c]
mov edx, 0x241a8383
xor edx, 0x4f91e503
xor ecx, edx
sub eax, ecx
mov edx, 0x3fd31f8d
xor edx, 0x604f31c0
mov ecx, 0x1f64f3d5
xor ecx, 0xe09b0c2a
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0xafdaf12b
xor r8d, 0xf046df66
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
or eax, 0xbc042dc5
mov ecx, 0x32f4b77e
xor edx, edx
div ecx
cmp eax, 0x10addad1
jae 0x14014a997
mov eax, dword [0x14024a480]
mov ecx, dword [0x14024a484]
mov edx, 0x3493eaf2
xor edx, 0xf28cabf2
xor ecx, edx
mov edx, 0x167ceb95
xor edx, 0xbb10d099
sub eax, edx
sub eax, ecx
add eax, 0xad6c3b0c
mov ecx, eax
and ecx, 0x89b1f2e2
xor ecx, 0xffffffff
add eax, 0x89b1f2e2
add eax, 1
add eax, ecx
imul eax, eax, 0xd33c9a4c
mov ecx, 0xc000acff
xor ecx, 0x21e1a9b5
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xe1e1054a
mov ecx, 0x36154de6
xor ecx, 0x36154de4
imul ecx, edx
sub ecx, 0xe1e1054a
sub eax, ecx
mov dword [rbp - 0x40], eax
mov ecx, 0x73e
sub rsp, 0x20
call fcn.140066360
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x40]
mov byte [rbp - 0x3a], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xeb31001b
jae 0x14014a997
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14014a3c2
jmp 0x14014a976
mov eax, dword [str.0_F7]
xor eax, 0x9e5ad87a
mov edx, dword [0x14024a48c]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
imul eax, eax, 0x6b8d26dc
add eax, 0x123135a6
sub eax, 0x8daf1fe
sub eax, 0x123135a6
mov r8d, 0xffffffff
xor r8d, 0xfc1db6b7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xfc1db6b7
or eax, 0xfc1db6b7
imul eax, edx
add eax, ecx
cmp eax, 0xdf471bd1
je 0x14014a9a0
mov cl, byte [rbp - 0x3a]
mov eax, dword [0x14024a490]
xor eax, dword [0x14024a494]
mov r8d, 0xa3a4059
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 8]
sub edx, 0xc756ff75
xor edx, 0x7743f971
mov dword [rbp - 0x48], edx
mov byte [rax + 8], cl
mov cx, 0x104d
xor cx, 0x1474
sub rsp, 0x20
call fcn.140066360
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x48]
mov byte [rbp - 0x42], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0xbe212579
je 0x14014a9a0
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14014a4a8
jmp 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x42]
mov byte [rax + 9], cl
mov ecx, 0xee
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x49], cl
cmp byte [rax], 0
jne 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x49]
mov byte [rax + 0xa], cl
mov ecx, 0x9d2
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x4a], cl
mov al, byte [rax]
mov cl, 0x3a
xor cl, 0x3a
cmp al, cl
jne 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x4a]
mov byte [rax + 0xb], cl
mov cx, 0x5af9
xor cx, 0x5cc5
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x4b], cl
cmp byte [rax], 0
jne 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x4b]
mov byte [rax + 0xc], cl
mov cx, 0x9c98
xor cx, 0x94cc
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x4c], cl
cmp byte [rax], 0
jne 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x4c]
mov byte [rax + 0xd], cl
mov ecx, 0x1b3
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x4d], cl
cmp byte [rax], 0
jne 0x14014a976
mov rax, qword [rbp + 8]
mov cl, byte [rbp - 0x4d]
mov byte [rax + 0xe], cl
mov ecx, 0xb45
sub rsp, 0x20
call fcn.140066360
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x4e], cl
mov al, byte [rax]
mov cl, 0x81
xor cl, 0x81
cmp al, cl
jne 0x14014a976
mov r9, qword [rbp - 8]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x28]
mov r8, qword [rbp - 0x30]
mov r10b, byte [rbp - 0x4e]
mov byte [rdx + 0xf], r10b
mov qword [rcx], r8
mov qword [rcx + 8], rax
mov r8d, 4
sub rsp, 0x20
call fcn.140149550
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x28]
mov dword [rbp - 0x54], ecx
cmp byte [rax], 0
jne 0x14014a976
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x54]
test eax, eax
setne al
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
test rcx, rcx
sete cl
or al, cl
test al, 1
jne 0x14014a640
jmp 0x14014a6bd
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259a18]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259ac8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259ad0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259a18]
lea r8, [0x140259aaf]
lea r9, [0x140259a32]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff913712ed
call fcn.140012522
add rsp, 0x30
jmp 0x14014a976
mov eax, dword [0x14024a498]
mov edx, dword [0x14024a49c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x626fc065
xor edx, edx
div ecx
mov ecx, 0x578d1e42
xor ecx, 0xd602edec
sub eax, ecx
add eax, 0x1327a396
add eax, 0x818ff3ae
add eax, 0x99d10764
mov ecx, 0x49e2b933
xor ecx, 0x5e15fd5e
add eax, ecx
mov ecx, 0xe7e62723
xor ecx, 0x7e372047
sub eax, ecx
mov ecx, 0x99c64c57
xor ecx, 0xa53cb205
cmp eax, ecx
jae 0x14014a9a9
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
mov edx, dword [0x14024a4a0]
xor edx, 0x78ffd51e
mov r10d, dword [0x14024a4a4]
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r8d, 0x3b9a6ffb
xor r8d, 0xc4659004
mov r11d, r10d
xor r11d, r8d
mov r8d, edx
and r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
imul edx, edx, 0x845f5fdc
sub edx, 0xb34c8a38
imul edx, edx, 0x2a6ecc07
mov dword [rbp - 0x74], edx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1401481cc
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x74]
mov qword [rbp - 0x70], rdx
mov cl, byte [rcx]
mov dl, 0x97
xor dl, 0x97
cmp cl, dl
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x7d46e957
je 0x14014a721
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14014a7de
jmp 0x14014a976
mov eax, dword [0x14024a4a8]
mov ecx, 0x61c5b105
xor ecx, 0xaf4b9163
xor eax, ecx
imul eax, dword [0x14024a4ac]
mov ecx, 0x3c2f07ee
xor ecx, 0xa0cde68b
xor edx, edx
div ecx
mov ecx, 0x22bbbeec
xor ecx, 0xe0a2771f
and eax, ecx
mov ecx, 0xdc3546b3
xor ecx, 0xdc3546b3
mov edx, 0xadfcd6a0
xor edx, 0x7202015a
sub ecx, edx
sub eax, ecx
cmp eax, 0x25a55ad7
je 0x14014a9b2
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x14024a4b0]
mov r8d, dword [0x14024a4b4]
xor r8d, eax
not r8d
and r8d, eax
mov eax, r8d
not eax
or r8d, 0x790efb60
or eax, 0x6f1049f
and eax, r8d
add eax, 0x2b14f2b0
or eax, 0xb4a01510
mov dword [rbp - 0x7c], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
sub rsp, 0x30
mov r8, rsp
mov dword [r8 + 0x28], 5
mov dword [r8 + 0x20], 0
xor r8d, r8d
mov r9d, r8d
mov r8, r9
call rax
mov rcx, qword [rbp + 0x28]
add rsp, 0x30
mov edx, eax
mov eax, dword [rbp - 0x7c]
mov cl, byte [rcx]
test cl, cl
sete cl
test edx, edx
sets dl
and cl, dl
mov byte [rbp - 0x75], cl
cmp eax, 0x559333e2
jbe 0x14014a9b2
mov al, byte [rbp - 0x75]
test al, 1
jne 0x14014a8da
jmp 0x14014a976
movabs rcx, 0x640ee369dd16c5c0
movabs rax, 0x640ee369dd16c580
xor rcx, rax
movabs rdx, 0x46e81caa949cf1df
movabs rax, 0x46e81caa949cf1d7
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
and al, ch
in al, dx
sub ah, 0xff
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259a18]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259ac8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259ad0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259a18]
lea r8, [0x140259aaf]
lea r9, [0x140259a32]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffa8b1ab71
call fcn.140012522
add rsp, 0x30
lea rsp, [rbp + 0x40]
pop rbp
ret
ja 0x14014a90b
jp 0x14014a9c3
jmp 0x140149f33
jmp qword [r9 + 0x15]
rcl dword [rbp - 0x79162406], 0xf8
invalid
cmp byte [rax + 0x67e9e844], bh
stc
invalid
out dx, eax
ret
invalid
invalid
dec dword [rax - 0x75]
add eax, 0x10ffd5
cmp qword [rax], 0
jne 0x14014aa42
mov ecx, 0x40
mov edx, 8
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259a18]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259ac8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259ad0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259a18]
lea r8, [0x140259ad8]
lea r9, [0x140259a32]
mov qword [rsp + 0x20], 0x44645fb6
call fcn.140012522
jmp 0x14014aa64
mov rax, qword [0x14025a9a0]
mov rcx, qword [rax]
mov qword [rsp + 0x28], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x28]
call fcn.140149eb0
nop
add rsp, 0x38
ret