Function at 0x1400d5530
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rcx
mov eax, dword [0x140111e5c]
and eax, dword [0x140111e60]
and eax, 0x8da73084
and eax, 0x1d964b58
xor eax, 0x8b60aaaa
cmp eax, 0x35115a40
je 0x1400d5edd
mov rdx, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov r10, qword [rbp + 0x68]
mov eax, dword [0x140111e64]
mov ecx, dword [0x140111e68]
imul eax, ecx
or eax, 0x246a4709
xor eax, 0xb03d09e8
mov dword [rbp + 0x50], eax
mov eax, 0x10
mov qword [rbp + 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov r8, rsp
mov qword [rbp + 0x18], r8
call fcn.1400ec140
sub rsp, rax
mov rcx, rsp
mov qword [rbp + 0x20], rcx
mov eax, 0x400
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov r11, rsp
mov qword [rbp + 0x28], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov r11, rsp
mov qword [rbp + 0x38], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov r11, rsp
mov qword [rbp + 0x48], r11
mov qword [rax], r10
mov qword [r8], r9
mov qword [rcx], rdx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400d4020
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x50]
mov qword [rcx], rdx
cmp qword [rcx], 0xffffffffffffffff
sete cl
mov byte [rbp + 0x57], cl
cmp eax, 0x444dd25c
je 0x1400d5edd
mov al, byte [rbp + 0x57]
test al, 1
jne 0x1400d5674
jmp 0x1400d56d5
mov eax, dword [0x140111e6c]
imul eax, dword [0x140111e70]
sub eax, 0x2f08802
sub eax, 0xe5c7c688
mov ecx, 0xb6bf514f
xor edx, edx
div ecx
cmp eax, 0x1cfed0c6
jae 0x1400d5f83
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x140111e74]
xor eax, dword [0x140111e78]
xor eax, 0xa7236178
xor eax, 0x36db9b68
add eax, 0xa7044cda
mov qword [rcx], 0xffffffffffffffff
cmp eax, 0x4386b716
jbe 0x1400d569f
jmp 0x1400d5ed0
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov r8, qword [rax]
lea rcx, [0x140116cb0]
lea rdx, [0x1401115e9]
cmp r8, 0
cmovne rcx, rdx
mov qword [rbp + 8], rcx
cmp qword [rax], 0
je 0x1400d571b
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp - 8], rax
jmp 0x1400d572b
lea rax, [0x140116cb0]
mov qword [rbp - 8], rax
jmp 0x1400d572b
mov rax, qword [rbp - 8]
mov qword [rbp - 0x10], rax
mov eax, dword [0x140111e7c]
imul eax, dword [0x140111e80]
and eax, 0xeea15c7c
and eax, 0x202fc4ca
sub eax, 0x58cf925f
cmp eax, 0x2d5e3822
je 0x1400d5f93
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp + 8]
mov r8, qword [rbp]
mov eax, dword [0x140111e84]
imul eax, dword [0x140111e88]
mov r10d, 0xbb86bc90
xor edx, edx
div r10d
sub eax, 0x7006142c
mov r10d, 0xa63beba8
xor edx, edx
div r10d
mov rdx, qword [rbp - 0x10]
mov dword [rbp - 0x18], eax
sub rsp, 0x30
mov rax, rsp
mov qword [rax + 0x20], rdx
lea rdx, [0x1401115d9]
call fcn.1400d15f0
mov rcx, qword [rbp + 0x28]
add rsp, 0x30
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
mov qword [rbp - 0x30], rdx
mov rax, qword [rax]
mov rax, qword [rax + 0x80]
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call sub.msvcrt.dll_strlen
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp + 0x28]
add rsp, 0x20
mov r9d, eax
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
mov rcx, qword [rbp + 0x28]
add rsp, 0x30
mov dword [rbp - 0x1c], eax
sub rsp, 0x20
call sub.msvcrt.dll_strlen
mov ecx, dword [rbp - 0x1c]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x18]
cmp ecx, edx
setne cl
mov byte [rbp - 0x11], cl
cmp eax, 0x51a8c10f
je 0x1400d5f93
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1400d5844
jmp 0x1400d58d6
mov eax, dword [0x140111e8c]
or eax, dword [0x140111e90]
xor eax, 0x17bc9685
mov ecx, 0x893c23f8
xor edx, edx
div ecx
imul eax, eax, 0x4d38507b
cmp eax, 0x97b8d9cb
jae 0x1400d6024
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x140111e94]
imul eax, dword [0x140111e98]
xor eax, 0xe84ee029
xor eax, 0xa5158947
xor eax, 0x9a9fd6c5
mov dword [rbp - 0x34], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov eax, dword [rbp - 0x34]
mov qword [rcx], 0xffffffffffffffff
cmp eax, 0xa1b54433
jae 0x1400d6024
jmp 0x1400d5ed0
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call sub.msvcrt.dll_strlen
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
movsxd rdx, ecx
mov rcx, qword [rax]
add rdx, qword [rcx + 0x1d0]
mov qword [rcx + 0x1d0], rdx
mov rax, qword [rax]
mov ecx, dword [rax + 0x1e4]
add ecx, 1
mov dword [rax + 0x1e4], ecx
mov eax, dword [0x140111e9c]
xor edx, edx
div dword [str.xJq]
xor eax, 0xc10c13a1
or eax, 0xfcaa1b20
mov ecx, 0x37ef0753
xor edx, edx
div ecx
cmp eax, 0x577dde63
je 0x1400d605e
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
mov ecx, dword [0x140111ea4]
xor ecx, dword [0x140111ea8]
and ecx, 0xced35efb
add ecx, 0x440f5dac
add ecx, 0x40975029
mov dword [rbp - 0x3c], ecx
mov rcx, qword [rax]
mov rax, qword [0x140117de0]
mov eax, dword [rax + 0xc]
mov edx, 1
mov r9d, 0x3ff
sub rsp, 0x30
mov dword [rsp + 0x20], 0xa
mov dword [rsp + 0x28], eax
call fcn.140069f30
mov rdx, qword [rbp + 0x38]
add rsp, 0x30
mov ecx, eax
mov eax, dword [rbp - 0x3c]
mov dword [rdx], ecx
cmp ecx, 0
setg cl
mov byte [rbp - 0x35], cl
cmp eax, 0x344890dc
je 0x1400d605e
mov cl, byte [rbp - 0x35]
xor eax, eax
test cl, 1
mov byte [rbp - 0x3d], al
jne 0x1400d59cf
jmp 0x1400d5c08
mov eax, dword [0x140111eac]
or eax, dword [0x140111eb0]
imul eax, eax, 0xfb38af5
add eax, 0xbb48b0ca
xor eax, 0x25208844
cmp eax, 0x500d4c90
je 0x1400d60a4
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x140111eb4]
and eax, dword [0x140111eb8]
xor eax, 0xc9185b82
xor eax, 0x97e68b4d
mov r8d, 0xd90bdc22
xor edx, edx
div r8d
cmp dword [rcx], 3
setl cl
mov byte [rbp - 0x3e], cl
cmp eax, 0x10e796ad
ja 0x1400d59f6
mov cl, byte [rbp - 0x3e]
mov al, 1
test cl, 1
mov byte [rbp - 0x3f], al
jne 0x1400d5ba6
jmp 0x1400d5a45
mov eax, dword [0x140111ebc]
add eax, dword [0x140111ec0]
add eax, 0x61b5c270
xor eax, 0x87f9d94b
imul eax, eax, 0x8f1086e1
cmp eax, 0xef7bd67b
ja 0x1400d60a9
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x140111ec4]
and eax, dword [0x140111ec8]
or eax, 0x54eb3414
or eax, 0x724672e4
add eax, 0x8d51bd89
movsx ecx, byte [rcx]
cmp ecx, 0x30
setge cl
mov byte [rbp - 0x40], cl
cmp eax, 0xa608c388
ja 0x1400d60a9
mov cl, byte [rbp - 0x40]
mov al, 1
test cl, 1
mov byte [rbp - 0x3f], al
jne 0x1400d5ab8
jmp 0x1400d5ba6
mov eax, dword [0x140111ecc]
xor eax, dword [0x140111ed0]
xor eax, 0x42a5245a
or eax, 0x3fea22ec
xor eax, 0x60a299d4
cmp eax, 0x1aab1c76
je 0x1400d60ae
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x140111ed4]
sub eax, dword [0x140111ed8]
sub eax, 0xa8a39ad8
and eax, 0x41787c41
xor eax, 0x6e79446c
movsx ecx, byte [rcx]
cmp ecx, 0x39
setle cl
mov byte [rbp - 0x41], cl
cmp eax, 0x1c14e279
jb 0x1400d60ae
mov cl, byte [rbp - 0x41]
mov al, 1
test cl, 1
mov byte [rbp - 0x3f], al
jne 0x1400d5b2a
jmp 0x1400d5ba6
mov eax, dword [0x140111edc]
sub eax, dword [0x140111ee0]
mov ecx, 0xafaea54b
xor edx, edx
div ecx
mov ecx, 0x8e15a918
xor edx, edx
div ecx
and eax, 0x6a1e2132
cmp eax, 0xf4f08111
ja 0x1400d60b3
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x140111ee4]
or eax, dword [0x140111ee8]
mov r8d, 0xcd1dade1
xor edx, edx
div r8d
and eax, 0x8362dbed
mov r8d, 0x672636a2
xor edx, edx
div r8d
movsx ecx, byte [rcx + 3]
cmp ecx, 0x2d
sete cl
mov byte [rbp - 0x42], cl
cmp eax, 0x9e90b3f3
jae 0x1400d5b58
mov al, byte [rbp - 0x42]
mov byte [rbp - 0x3f], al
jmp 0x1400d5ba6
mov al, byte [rbp - 0x3f]
mov byte [rbp - 0x43], al
mov eax, dword [0x140111eec]
or eax, dword [0x140111ef0]
imul eax, eax, 0x17de70fd
mov ecx, 0xf10fb04b
xor edx, edx
div ecx
add eax, 0x5811c9d
cmp eax, 0x3952bcb2
je 0x1400d60b8
mov eax, dword [0x140111ef4]
sub eax, dword [0x140111ef8]
sub eax, 0xe6b52d01
or eax, 0x1d6e9b4f
xor eax, 0x75434bc5
cmp eax, 0xd4792abc
jae 0x1400d60b8
mov al, byte [rbp - 0x43]
mov byte [rbp - 0x3d], al
jmp 0x1400d5c08
mov al, byte [rbp - 0x3d]
mov byte [rbp - 0x44], al
mov eax, dword [0x140111efc]
imul eax, dword [0x140111f00]
and eax, 0x9183737c
sub eax, 0xc219b10b
sub eax, 0xc59aa3d5
cmp eax, 0xe708cb20
je 0x1400d60bd
mov eax, dword [0x140111f04]
and eax, dword [0x140111f08]
add eax, 0x4b315a4
and eax, 0xecd61fb5
and eax, 0x2aba512e
cmp eax, 0xf83b8a1e
ja 0x1400d60bd
mov al, byte [rbp - 0x44]
test al, 1
jne 0x1400d5c6b
jmp 0x1400d5cbc
mov eax, dword [0x140111f0c]
sub eax, dword [0x140111f10]
xor eax, 0x77d6d61a
or eax, 0xc87aade
add eax, 0x43258d8d
cmp eax, 0x5c3fab45
jbe 0x1400d60c2
mov eax, dword [0x140111f14]
add eax, dword [0x140111f18]
and eax, 0xdd2cc69c
sub eax, 0x614aed5e
add eax, 0xf1af507f
cmp eax, 0x30bdafab
jbe 0x1400d5c91
jmp 0x1400d5914
mov eax, dword [0x140111f1c]
add eax, dword [0x140111f20]
add eax, 0x9b7fd47f
imul eax, eax, 0x10601098
sub eax, 0x3bcb4088
cmp eax, 0x84e495f9
ja 0x1400d60c7
mov rcx, qword [rbp + 0x38]
mov eax, dword [0x140111f24]
and eax, dword [0x140111f28]
xor eax, 0xbc3f85d
sub eax, 0x5b720d09
mov r8d, 0x99e62006
xor edx, edx
div r8d
cmp dword [rcx], 3
setl cl
mov byte [rbp - 0x45], cl
cmp eax, 0x2ddfc817
ja 0x1400d5ce3
mov al, byte [rbp - 0x45]
test al, 1
jne 0x1400d5d2c
jmp 0x1400d5dbd
mov eax, dword [0x140111f2c]
and eax, dword [0x140111f30]
sub eax, 0x1d12cacd
mov ecx, 0x14a11946
xor edx, edx
div ecx
add eax, 0x43a6be6f
cmp eax, 0xeec209ea
jae 0x1400d60cc
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x140111f34]
xor eax, dword [0x140111f38]
or eax, 0xd7932f27
imul eax, eax, 0x7e84695b
xor eax, 0x86c3fe04
mov dword [rbp - 0x4c], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov eax, dword [rbp - 0x4c]
mov qword [rcx], 0xffffffffffffffff
cmp eax, 0xb17a718a
ja 0x1400d60cc
jmp 0x1400d5ed0
mov eax, dword [0x140111f3c]
imul eax, dword [0x140111f40]
xor eax, 0x7e12ed93
xor eax, 0xf9260c14
sub eax, 0xb189c2d2
cmp eax, 0xa9ea1bf4
je 0x1400d6106
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x140111f44]
add eax, dword [0x140111f48]
add eax, 0x11e3ffbc
or eax, 0xc286c7b
mov r8d, 0x5f663313
xor edx, edx
div r8d
movsx ecx, byte [rcx]
cmp ecx, 0x31
setne cl
mov byte [rbp - 0x4d], cl
cmp eax, 0x92c51b2e
jae 0x1400d6106
mov al, byte [rbp - 0x4d]
test al, 1
jne 0x1400d5e30
jmp 0x1400d5ec2
mov eax, dword [0x140111f4c]
add eax, dword [0x140111f50]
sub eax, 0xf31b49b4
sub eax, 0x7ac7b0b8
xor eax, 0xb2303bc6
cmp eax, 0x6731c2c6
jbe 0x1400d610b
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x140111f54]
or eax, dword [0x140111f58]
mov r8d, 0x492b9e49
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x48]
sub eax, 0x8353ac2d
and eax, 0x21a5eded
mov dword [rbp - 0x54], eax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov eax, dword [rbp - 0x54]
mov qword [rcx], 0xffffffffffffffff
cmp eax, 0x8bb6d26e
jae 0x1400d5e56
jmp 0x1400d5ed0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x48]
mov rcx, qword [rcx]
mov qword [rax], rcx
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lea rsp, [rbp + 0x70]
pop rbp
ret
mov rdx, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov r10, qword [rbp + 0x68]
mov eax, 0x10
mov qword [rbp - 0x70], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
mov qword [rbp - 0x68], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rcx, rsp
mov eax, 0x400
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x68]
mov r11, rsp
mov qword [rbp - 0x60], r11
mov qword [rax], r10
mov qword [r8], r9
mov qword [rcx], rdx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400d4020
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rax], rcx
jmp 0x1400d5572
mov rax, qword [rbp + 0x10]
mov qword [rax], 0xffffffffffffffff
jmp 0x1400d569f
mov rcx, qword [rbp + 0x28]
mov r9, qword [rbp + 8]
mov r8, qword [rbp]
mov rdx, qword [rbp - 0x10]
sub rsp, 0x30
mov rax, rsp
mov qword [rax + 0x20], rdx
lea rdx, [0x1401115d9]
call fcn.1400d15f0
mov rcx, qword [rbp + 0x28]
add rsp, 0x30
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
mov qword [rbp - 0x80], rdx
mov rax, qword [rax]
mov rax, qword [rax + 0x80]
mov qword [rbp - 0x78], rax
sub rsp, 0x20
call sub.msvcrt.dll_strlen
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x28]
add rsp, 0x20
mov r9d, eax
mov rax, qword [0x140117de0]
mov eax, dword [rax + 8]
sub rsp, 0x30
mov dword [rsp + 0x20], eax
call fcn.140065d80
mov rcx, qword [rbp + 0x28]
add rsp, 0x10
call sub.msvcrt.dll_strlen
add rsp, 0x20
jmp 0x1400d575a
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov qword [rax], 0xffffffffffffffff
jmp 0x1400d586f
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
mov rax, qword [0x140117de0]
mov eax, dword [rax + 0xc]
mov edx, 1
mov r9d, 0x3ff
sub rsp, 0x30
mov dword [rsp + 0x20], 0xa
mov dword [rsp + 0x28], eax
call fcn.140069f30
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x38]
mov dword [rax], ecx
jmp 0x1400d5940
jmp 0x1400d59f6
jmp 0x1400d5a6c
jmp 0x1400d5ade
jmp 0x1400d5b58
jmp 0x1400d5bd7
jmp 0x1400d5c35
jmp 0x1400d5c91
jmp 0x1400d5ce3
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov qword [rax], 0xffffffffffffffff
jmp 0x1400d5d56
jmp 0x1400d5de4
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x88]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rdx]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov qword [rax], 0xffffffffffffffff
jmp 0x1400d5e56