Function at 0x1401c1400
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov eax, dword [0x1402571b0]
mov edx, dword [0x1402571b4]
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
and ecx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0x22ad48ad
xor edx, 0xdd52b752
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x6a3a0425
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6a3a0425
and ecx, edx
mov edx, 0x574d70b5
xor edx, 0xa8b28f4a
xor eax, edx
mov edx, 0xf58a2be7
xor edx, 0xa75d418
xor ecx, edx
and eax, ecx
mov ecx, 0x3b6d5b6e
xor ecx, 0x8599bd8
add eax, ecx
or eax, 0x75cf97bc
mov ecx, 0xdb6eb2e7
xor ecx, 0x8008ea8d
cmp eax, ecx
jb 0x1401c1b4c
xor eax, eax
mov dword [rbp + 0x18], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1401c1e9b
add rsp, 0x20
mov qword [rbp + 0x10], rax
add rax, 0x50
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.140176e40
mov rcx, qword [rbp + 0x10]
mov eax, dword [rbp + 0x18]
add rsp, 0x20
cmp byte [rcx + 0x50], 0
sete cl
mov byte [rbp + 0x1f], cl
cmp eax, 0xef149779
jae 0x1401c14bc
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1401c158a
jmp 0x1401c1a5e
mov ecx, 0x28
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
add rcx, 0x20
sub rsp, 0x20
call fcn.1401b34de
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c1a5e
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x20]
mov rax, qword [str._j_]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401b7ec0
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c1a5e
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x20]
mov rax, qword [0x1402648d8]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401b7ec0
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c1a5e
mov cx, 0x26d6
xor cx, 0x2bf4
sub rsp, 0x20
call fcn.1400644d0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 8]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x1401c1a5e
mov ecx, dword [0x1402571c0]
mov edx, dword [0x1402571c4]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, 0xd4c9b9fb
xor edx, 0x8d2bd3c
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0xf149fd58
xor edx, 0x2d52f99f
xor eax, edx
add eax, ecx
mov ecx, 0x3a6ed368
xor ecx, 0x911ee2af
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xab7031c7
add eax, 1
add eax, ecx
and eax, 0xaf6a5d67
cmp eax, 0x30c7f285
jb 0x1401c1b55
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x20]
mov edx, dword [0x1402571c8]
mov r9d, dword [0x1402571cc]
xor r8d, r8d
sub r8d, r9d
sub edx, r8d
mov r8d, 0x2eedc5b6
xor r8d, 0xb2290e35
and edx, r8d
xor r8d, r8d
sub r8d, 0x44b2f2c9
add edx, r8d
mov r8d, 0x7160ffdd
xor r8d, 0xe3cf6a62
imul edx, r8d
mov dword [rbp - 0x4c], edx
mov edx, 0x2cf4f060
xor edx, 0x6f39765a
mov dword [rbp - 0x50], edx
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
sub rsp, 0x20
call fcn.1400780c0
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp + 8]
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rbp - 0x48], r9
mov r8, qword [r8 + 8]
mov qword [rbp - 0x40], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x35], dl
cmp eax, ecx
je 0x1401c16be
mov al, byte [rbp - 0x35]
test al, 1
jne 0x1401c176d
jmp 0x1401c1a5e
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.14013de60
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0x77
xor cl, 0x77
cmp al, cl
jne 0x1401c1a5e
mov eax, dword [0x1402571d0]
add eax, dword [0x1402571d4]
mov r8d, 0xfb7a20eb
xor r8d, 0x7b39623b
mov ecx, 0xe324ebcb
xor ecx, 0x1cdb1434
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xb281703f
xor r8d, 0x4d7e8fc0
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x804342d0
mov r8d, 0xc2202fbc
xor r8d, 0x42636d6c
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc9a6ae5c
xor edx, edx
div ecx
or eax, eax
mov ecx, 0x15866523
xor ecx, 0xea799adc
xor eax, ecx
mov ecx, 0xa7efa1dd
or ecx, 0xa7efa1dd
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x3534228c
xor edx, 0xcacbdd73
xor ecx, edx
and eax, ecx
cmp eax, 0xa32e6fb6
ja 0x1401c1b5e
mov r8, qword [rbp]
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp - 0x34]
mov rax, qword [rbp - 0x58]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x40]
mov r11, qword [rbp - 0x48]
mov edi, dword [0x1402571d8]
mov ebx, dword [0x1402571dc]
xor ebx, 0xffffffff
mov esi, edi
xor esi, ebx
and esi, edi
add esi, 0xd77d63d0
add esi, 0xc5ec0e42
sub esi, 0xd77d63d0
or esi, 0x15e3364e
add esi, 0xbcb0e54d
sub esi, 0x3a8ae606
mov edi, 0x5a648472
xor edi, 0xe6d4613f
sub esi, edi
mov dword [rbp - 0x68], esi
mov qword [rdx], r11
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.14009b430
mov rcx, qword [rbp + 8]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0xa80806d2
ja 0x1401c1853
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401c18fd
jmp 0x1401c1a5e
mov eax, dword [0x1402571e0]
mov ecx, dword [0x1402571e4]
xor ecx, 0x7542fb6f
and eax, ecx
imul eax, eax, 0x2bef5bbd
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x49a2b472
add ecx, eax
xor eax, eax
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe8f4a125
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe8f4a125
or eax, 0xe8f4a125
imul eax, edx
add eax, ecx
mov ecx, 0xfa7daaec
xor ecx, 0x82be99f5
cmp eax, ecx
je 0x1401c1b67
mov eax, dword [0x1402571e8]
mov r8d, dword [0x1402571ec]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x98f959c3
xor ecx, 0x793eaabd
sub eax, ecx
mov ecx, eax
xor ecx, 0x88b9b9a8
mov edx, 0x53e9dc44
xor edx, 0xac1623bb
xor ecx, edx
mov edx, 0x71744b7e
xor edx, 0xf9cdf2d6
or eax, edx
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x345cb8c1
mov r8d, 0xa95a5e76
xor r8d, 0x9d06e6b7
mov ecx, 0x2ebfe9f4
xor ecx, 0xd140160b
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x1441073b
xor r8d, 0x201dbffa
mov edx, eax
and edx, r8d
or eax, 0x345cb8c1
imul eax, edx
add eax, ecx
mov dword [rbp - 0x70], eax
mov ecx, 0x4e
sub rsp, 0x20
call fcn.140064710
mov rcx, qword [rbp + 8]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x94
xor dl, 0x94
cmp cl, dl
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x1c3659f9
jb 0x1401c1b67
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401c1ad0
jmp 0x1401c1a5e
sub rsp, 0x20
call fcn.1401c138c
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401c1ad0
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401c1ad0
mov rax, qword [rbp + 8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401c139e
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140099ce0
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c1ad0
sub rsp, 0x20
call fcn.1401c13d5
add rsp, 0x20
mov eax, dword [0x1402571f0]
add eax, dword [0x1402571f4]
mov ecx, 0x1a7832a6
xor ecx, 0x5c5ae7f9
xor eax, ecx
and eax, 0x3f7200fa
and eax, 0x49495900
mov ecx, 0x1c4bb9bb
xor ecx, 0xc5f73149
cmp eax, ecx
ja 0x1401c1b70
mov eax, dword [0x1402571f8]
or eax, dword [0x1402571fc]
mov ecx, 0x4c5d53a0
xor edx, edx
div ecx
mov ecx, 0xb62f11ec
xor ecx, 0xfd4f8f03
add eax, ecx
sub eax, 0xedab1381
sub eax, 0x4b609eef
imul eax, eax, 0x7ddca9bc
cmp eax, 0xba4bf145
ja 0x1401c1b70
lea rsp, [rbp + 0x28]
pop rbx
pop rdi
pop rsi
pop rbp
ret
or byte [rdi], 0x40
sti
jmp 0x1401c14bc
jo 0x1401c1b59
invalid
jmp 0x1401c16be
out 0x6b, eax
test ebp, esp
jmp 0x1401c1853
sbb edx, dword [rcx - 0x66]
xchg esp, eax
jmp 0x1401c196a
jb 0x1401c1bc4
hlt
and al, 0x38
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x28], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x1401c1c05
jmp 0x1401c1d22
mov eax, dword [0x140257200]
and eax, dword [0x140257204]
xor eax, 0x72c82536
xor ecx, ecx
sub ecx, 0xc2b1af56
sub eax, ecx
imul eax, eax, 0x48ddaae9
cmp eax, 0xa2376b27
je 0x1401c1e89
mov ecx, dword [0x140257208]
mov eax, 0x2fa3b516
xor eax, 0xe2f4f723
xor ecx, eax
mov edx, dword [0x14025720c]
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xc2b53eaf
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x7e9d604e
xor r8d, 0x81629fb1
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xc2b53eaf
or ecx, 0xc2b53eaf
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x55e65c0a
xor edx, 0xa12af6cb
mov r8d, 0x6f582c70
xor r8d, 0x90a7d38f
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0xf4ccaac1
mov r8d, 0xffffffff
xor r8d, 0xf4ccaac1
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x426fc4d7
xor r8d, 0xbd903b28
xor edx, r8d
or ecx, edx
mov edx, 0xb728d424
xor edx, 0x48d72bdb
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xc7bff956
mov dword [rsp + 0x24], eax
call fcn.140008c92
mov eax, dword [rsp + 0x24]
cmp eax, 0xe065e001
jb 0x1401c1e89
jmp 0x1401c1d64
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.14000fe77
jmp 0x1401c1d64
mov eax, dword [0x140257210]
xor edx, edx
div dword [0x140257214]
mov edx, 0xffffffff
xor edx, 0x6f587145
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x6f587145
add eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xbbdc15f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xd24264d
xor r8d, 0x699e712
mov edx, eax
and edx, r8d
or eax, 0xbbdc15f
imul eax, edx
add eax, ecx
or eax, 0xc9b60ae2
mov ecx, 0x2a1fb4f3
xor ecx, 0xc219f288
cmp eax, ecx
ja 0x1401c1e92
mov ecx, dword [0x140257218]
mov edx, dword [0x14025721c]
xor edx, 0x421cb3aa
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x7b2c7fb
xor r8d, 0xf84d3804
xor ecx, r8d
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0xe3ca6d0
xor r8d, 0xf1c3592f
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xb456ccd0
mov ecx, eax
and ecx, edx
mov r8d, 0xc73765b
xor r8d, 0xb825ba8b
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0x945846c3
sub eax, 0xd77362b3
mov ecx, 0x998d8d7a
xor ecx, 0xdd5cbb9
add eax, ecx
sub eax, 0x8ae7145c
sub eax, 0x853daf0b
mov ecx, 0xa119e4df
xor ecx, 0x2bfef083
add eax, ecx
cmp eax, 0x2e2859f1
je 0x1401c1e92
add rsp, 0x48
ret
invalid
invalid