Function at 0x140158710
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], rcx
mov qword [rbp - 8], rcx
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.14019ba7e
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rbp + 0x48], rax
add rax, 0x50
mov qword [rbp + 0x40], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
mov word [rbp + 0x13e], 0x992
lea rcx, [rbp + 0x13e]
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x50], rcx
cmp byte [rax + 0x50], 0
jne 0x140159249
mov rcx, qword [rbp]
movabs rdx, 0x9024c35b08c06760
movabs rax, 0x9024c35b08c06770
xor rdx, rax
sub rsp, 0x20
call fcn.140159480
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xe8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
mov rdx, 0xffffffff80000002
lea r8, [rbp + 0xe8]
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400d7880
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140159249
mov ecx, dword [0x1402546f0]
sub ecx, dword [0x1402546f4]
add ecx, 0x92e5247c
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf24baeab
mov edx, 0x1fb6e543
xor edx, 0xedfd4be8
mov r8d, 0x57310c7a
xor r8d, 0xa8cef385
xor edx, r8d
and ecx, edx
or eax, ecx
imul eax, eax, 0x8c8307d5
cmp eax, 0x8c6e9dd4
ja 0x14015943d
mov rcx, qword [rbp]
mov edx, dword [0x1402546f8]
mov r8d, dword [0x1402546fc]
mov r9d, edx
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
imul eax, eax, 0xae872a28
mov r9d, 0xffffffff
xor r9d, 0x44c11861
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x3fcead9a
xor r9d, 0xc0315265
xor edx, r9d
imul edx, r8d
mov r9d, 0x7b4d8d89
xor r9d, 0x3f8c95e8
mov r8d, eax
and r8d, r9d
mov r9d, 0xba5d265d
xor r9d, 0xfe9c3e3c
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x574685fd
xor r8d, 0x4223d7e6
xor edx, edx
div r8d
mov rdx, qword [rcx]
mov qword [rbp - 0x18], rdx
cmp byte [rcx + 8], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x444335bc
je 0x14015943d
mov al, byte [rbp - 9]
test al, 1
jne 0x14015897f
jmp 0x140158a01
sub rsp, 0x20
call fcn.140086340
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
jne 0x140159249
lea rcx, [rbp + 0xd0]
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1401596c0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401589fc
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0xd0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xd8]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0xe0]
mov qword [rax + 0x10], rcx
jmp 0x140159430
jmp 0x140159249
mov word [rbp + 0x13c], 0xab5
lea rcx, [rbp + 0x13c]
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x20], rcx
mov al, byte [rax]
mov cl, 0x2d
xor cl, 0x2d
cmp al, cl
jne 0x14015921d
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x20]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001ba7e
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp - 0x38], rdx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
mov edx, 8
sub rsp, 0x20
call fcn.140159480
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xc8], rax
lea rdx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400d8160
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x14015921d
mov ecx, dword [0x140254700]
mov edx, dword [0x140254704]
mov eax, 0x87997438
xor eax, 0xb56b85e9
xor edx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov r8d, 0xe0268857
xor r8d, 0xfe86583a
mov ecx, 0x163757ab
xor ecx, 0xe9c8a854
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1ea0d06d
or eax, 0x1ea0d06d
imul eax, edx
add eax, ecx
add eax, 0x11e63c76
mov ecx, 0x114d14a7
xor edx, edx
div ecx
mov ecx, 0x84a8f523
xor ecx, 0x83747fab
cmp eax, ecx
je 0x140159446
mov eax, dword [0x140254708]
mov edx, dword [0x14025470c]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
mov edx, 0xac44acaf
xor edx, 0xac44acae
add eax, edx
add eax, ecx
mov ecx, 0xe9ae461a
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x28]
and eax, 0x5df63752
mov ecx, 0xa4c76f97
xor ecx, 0x5b389068
xor eax, ecx
mov ecx, 0x7e01ed54
xor ecx, 0x81228d42
mov r8d, 0xf9aea3ab
xor r8d, 0x6515c54
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x2e118c30
or eax, ecx
mov ecx, 0x680ab8f4
xor ecx, 0x461b34c4
or ecx, r8d
xor eax, 0xffffffff
and eax, ecx
mov ecx, edx
mov dword [rbp - 0x40], ecx
movabs r8, 0x398255b7bdffa0e4
movabs rcx, 0x398255b6bdffa0e4
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x100000000
xor r8, r9
or rdx, r8
and rcx, rdx
movabs rdx, 0xac4ed1f740e073e9
movabs r8, 0x53b12e08bf1f8c16
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x6a8d318533ad7538
movabs r8, 0x6a8d318533ad7538
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xdaac112d
jae 0x140159446
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140158c61
jmp 0x140158d9c
sub rsp, 0x20
call fcn.140086343
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
jne 0x14015921d
lea rcx, [rbp + 0xa8]
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.1401596c0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
je 0x140158d54
mov eax, dword [0x140254710]
sub eax, dword [0x140254714]
xor eax, 0x63e5d0fe
mov ecx, eax
and ecx, 0x8796a65f
or eax, 0x8796a65f
add ecx, eax
mov eax, ecx
and eax, 0x81dc76d8
or ecx, 0x81dc76d8
add eax, ecx
mov ecx, 0x4970e83c
xor ecx, 0xf01801cc
cmp eax, ecx
je 0x14015944f
mov eax, dword [0x140254718]
add eax, dword [0x14025471c]
mov ecx, 0x9f81ade0
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x1fc0c07d
xor eax, 0x4d47eee5
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xdab93b11
mov edx, 0xffffffff
xor edx, 0xdab93b11
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x71912bee
jb 0x140158cf7
jmp 0x14015921d
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp + 0xa8]
mov qword [rax], rdx
mov rdx, qword [rbp + 0xb0]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0xb8]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d84f0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
je 0x140159430
jmp 0x140159249
mov rcx, qword [rbp + 0x10]
mov ax, 0x4ab0
xor ax, 0x48fd
mov word [rcx], ax
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x48], rcx
mov al, byte [rax]
mov cl, 0x6d
xor cl, 0x6d
cmp al, cl
jne 0x14015921d
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.14001ba7e
add rsp, 0x20
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x128]
mov edx, 0x10
sub rsp, 0x20
call fcn.140159480
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x128]
lea r8, [rbp + 0x88]
sub rsp, 0x20
call fcn.1400d86a6
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015921d
mov eax, dword [0x140254720]
imul eax, dword [0x140254724]
mov r8d, 0xffffffff
xor r8d, 0xcea25c84
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xcea25c84
mov r8d, 0xbd18c8d5
xor r8d, 0x73ba9451
or eax, r8d
imul eax, edx
add eax, ecx
or eax, eax
mov ecx, 0x71bbe060
xor ecx, 0x8e441f9f
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xb47f161a
mov edx, 0x660a853
xor edx, 0xb21fbe49
mov r8d, 0xdc2aac73
xor r8d, 0x23d5538c
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xc098e5bc
xor r8d, 0x46acbd0
mov ecx, 0x77775353
xor ecx, 0x8888acac
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc4f22e6c
mov r8d, 0xc9de09e2
xor r8d, 0xd2c278e
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x52232e5f
jb 0x140159458
mov eax, dword [0x140254728]
mov ecx, dword [0x14025472c]
xor ecx, 0xa78a7fd1
xor edx, edx
div ecx
mov ecx, 0xf6049082
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0xaa3607fb
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x8084a0d2
xor eax, 0xf61fa5fb
and eax, edx
mov edx, 0xffffffff
xor edx, 0x769b0529
and ecx, edx
or eax, ecx
cmp byte [rbp + 0x130], 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xcabc2937
jbe 0x140159458
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140158fb2
jmp 0x140159144
mov ecx, dword [0x140254730]
and ecx, dword [0x140254734]
mov eax, ecx
and eax, 0xed8d49cc
mov edx, 0xcc2e9c6
xor edx, 0xe14fa00a
or ecx, edx
add eax, ecx
mov ecx, 0xb7c6582c
xor ecx, 0x558bf759
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6f6f6e89
mov r8d, 0x7d3c9cc0
xor r8d, 0x1253f249
mov r9d, 0x8eca582e
xor r9d, 0x7135a7d1
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0x2503f0fb
xor r8d, 0xdafc0f04
xor edx, r8d
and eax, edx
or ecx, 0x6f6f6e89
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xedeb6c80
je 0x140159461
mov eax, dword [0x140254738]
xor eax, 0x85a51c74
and eax, dword [0x14025473c]
add eax, 0xa57850b
imul eax, eax, 0x41519cf3
mov ecx, eax
and ecx, 0x91d3a994
xor ecx, 0xffffffff
mov edx, 0x6a8a5703
xor edx, 0xfb59fe97
add eax, edx
mov edx, 0x6fc7c43c
xor edx, 0x6fc7c43d
add eax, edx
add eax, ecx
mov dword [rbp - 0x60], eax
sub rsp, 0x20
call fcn.14008634e
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov eax, dword [rbp - 0x60]
mov cl, byte [rcx]
mov dl, 0x50
xor dl, 0x50
cmp cl, dl
sete cl
mov byte [rbp - 0x5a], cl
cmp eax, 0x14ca7553
jbe 0x140159461
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x1401590c9
jmp 0x14015921d
lea rcx, [rbp + 0x70]
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0x70]
sub rsp, 0x20
call fcn.1401596c0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
je 0x140159102
jmp 0x14015921d
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x70]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x78]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x80]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d84f0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
je 0x140159430
jmp 0x140159249
mov rax, qword [rbp + 0x128]
mov qword [rbp - 0x68], rax
movabs rdx, 0xe4d3a310f16481cb
movabs rax, 0xe4d3a310f16481d3
xor rdx, rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0x58]
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
mov edx, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov byte [rbp + 0x68], 1
mov dword [rbp + 0x58], edx
mov qword [rbp + 0x60], rcx
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x110], rcx
mov rcx, qword [rbp + 0x60]
mov qword [rbp + 0x118], rcx
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x120], rcx
cmp byte [rax], 0
jne 0x14015921d
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x110]
mov qword [rax], rdx
mov rdx, qword [rbp + 0x118]
mov qword [rax + 8], rdx
mov rdx, qword [rbp + 0x120]
mov qword [rax + 0x10], rdx
sub rsp, 0x20
call fcn.1400d84f0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe4
xor cl, 0xe4
cmp al, cl
je 0x140159430
jmp 0x140159249
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x18]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400d84f0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140159249
mov rax, qword [rbp + 0x40]
mov byte [rax], 1
mov ecx, dword [0x140254740]
add ecx, dword [0x140254744]
mov eax, ecx
and eax, 0x82b24ad9
xor ecx, 0x82b24ad9
or eax, ecx
mov ecx, 0xffcca378
xor edx, edx
div ecx
xor eax, 0xeabcb3
cmp eax, 0x9a344878
je 0x14015946a
mov eax, dword [0x140254748]
add eax, dword [0x14025474c]
mov ecx, 0xada4b7c1
xor edx, edx
div ecx
imul eax, eax, 0x6f6426c1
sub eax, 0x57c41dc6
mov dword [rbp - 0x7c], eax
mov eax, 0x190ef6f2
xor eax, 0x1b5715ed
mov dword [rbp - 0x80], eax
sub rsp, 0x20
call fcn.1401597e0
mov ecx, dword [rbp - 0x80]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x7c]
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
cmp word [rdx + 0x12], 1
setg dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x14015927d
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401592ed
jmp 0x140159340
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x140159340
mov rax, qword [rbp + 0x40]
mov byte [rax], 0
sub rsp, 0x20
call fcn.140159964
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140099ce0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140159430
sub rsp, 0x20
call fcn.1401599a0
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
jne 0x140159430
lea rcx, [rbp + 0xf8]
mov edx, 0x18
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1401596c0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140159430
mov eax, dword [0x140254750]
mov ecx, dword [0x140254754]
mov edx, 0xdddb01b5
xor edx, 0xd0612c9a
xor ecx, edx
imul eax, ecx
add eax, 0x5e2c50a
and eax, 0x2d06cec1
xor ecx, ecx
sub ecx, 0x87e6f559
sub eax, ecx
cmp eax, 0x58b66d28
je 0x140159473
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x140254758]
xor eax, 0xc3b727c4
imul eax, dword [0x14025475c]
mov edx, 0x2d0a60d
xor edx, 0xa64c9843
add eax, edx
mov edx, eax
and edx, 0x6f79a859
xor edx, 0xffffffff
add eax, 0x6f79a859
add eax, 1
add eax, edx
imul eax, eax, 0x38ec2994
mov rdx, qword [rbp + 0xf8]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0x100]
mov qword [rcx + 8], rdx
mov rdx, qword [rbp + 0x108]
mov qword [rcx + 0x10], rdx
cmp eax, 0xda01a59e
jae 0x1401593c2
jmp 0x140159430
mov rax, qword [rbp - 8]
lea rsp, [rbp + 0x140]
pop rbp
ret
xchg ebp, eax
cmp eax, 0xf479e969
invalid
sbb cl, 0xc
jmp 0x140158b48
jns 0x1401594cd
or al, 0xe9
lahf
clc
invalid
invalid
push rsi
retf
movabs eax, dword [0xfffffe0ae9a03b7c]
invalid
add byte [rcx + 0x21fa5971], bh