Function at 0x14003cf30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rcx
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x2e], r9b
mov byte [rbp + 0x2f], r8b
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov rdx, qword [rdx]
mov qword [rbp + 0x38], rdx
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp + 0x40], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x9b8166cd5b97dae5
movabs r8, 0x9b8166cd5b97dae5
xor rdx, r8
cmp rcx, rdx
setl dl
movabs rcx, 0x55dc1081be1a5006
movabs r8, 0xaa23ef7e41e5aff9
xor rcx, r8
cmp rax, rcx
setg cl
mov al, cl
xor al, 0xff
mov r9b, 1
xor r9b, 0
mov r8b, dl
xor r8b, r9b
or al, r8b
and cl, dl
xor cl, 0xff
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
or al, cl
test al, 1
jne 0x14003cff9
jmp 0x14003d00b
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x14003da81
mov cl, byte [rbp + 0x2f]
xor eax, eax
test cl, 1
mov qword [rbp], rax
jne 0x14003d022
jmp 0x14003d3be
mov rax, qword [rbp + 8]
add rax, 8
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x18], rax
cmp rax, rcx
mov qword [rbp], rax
jg 0x14003d3be
mov eax, dword [0x14024cad0]
mov edx, dword [0x14024cad4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov edx, 0x1baa9952
xor edx, 0xe45566ad
mov ecx, eax
xor ecx, edx
mov r8d, 0xc000ee20
xor r8d, 0x3fff11df
mov edx, eax
xor edx, r8d
or ecx, edx
mov edx, 0xc8288489
xor edx, 0x4c0403e1
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x842c8768
and edx, 0x842c8768
mov r8d, 0x80771868
xor r8d, 0x7f88e797
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0x533c72e6
xor edx, 0x2e466c
mov eax, ecx
and eax, edx
xor ecx, 0x5312348a
or eax, ecx
add eax, 0xbe52a76e
cmp eax, 0x1fa3137f
jb 0x14003db19
mov r8, qword [rbp + 0x38]
mov ecx, dword [0x14024cad8]
mov edx, dword [0x14024cadc]
mov eax, 0xc243fe07
xor eax, 0x3dbc01f8
mov r9d, ecx
xor r9d, eax
mov eax, edx
and eax, r9d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0x2440f462
mov ecx, 0x16b930dd
xor ecx, 0x6fd254e9
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x18]
imul eax, eax, 0x36f051e8
mov ecx, 0x57e44edf
xor ecx, 0x3eb63d3f
cmp rdx, r8
setl dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
jae 0x14003db19
mov al, byte [rbp - 0x19]
test al, 1
jne 0x14003d179
jmp 0x14003d15f
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14003da81
mov r11d, dword [0x14024cae0]
xor r11d, 0x3288733a
and r11d, dword [0x14024cae4]
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xbcf8e579
xor r8d, 0xdd67fc69
mov ecx, 0x96000507
xor ecx, 0x69fffaf8
xor r8d, ecx
mov edx, 0xc01f2d0e
xor edx, 0x1804c71b
mov ecx, 0xa78ba649
xor ecx, 0x587459b6
xor edx, ecx
mov ecx, eax
and ecx, 0xd81bea15
and r11d, edx
mov r9d, r8d
and r9d, 0xd81bea15
mov r10d, edx
and r10d, 0x619f1910
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0xd81bea15
and eax, edx
or ecx, eax
mov edx, 0xbc7c87f0
xor edx, 0x4383780f
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x32bf9808
mov r8d, 0xffffffff
xor r8d, 0x32bf9808
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x32bf9808
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, 0x708cd3e5
xor edx, 0xa3794453
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0xcb04d1b9
xor edx, 0x18f1460f
and edx, ecx
mov ecx, 0x9816c6f7
xor ecx, 0x9816c6f5
imul ecx, edx
mov edx, 0x7540e3f4
xor edx, 0xa6b57442
sub ecx, edx
sub eax, ecx
mov ecx, 0x89430fd1
xor ecx, 0x15a6feb6
cmp eax, ecx
ja 0x14003db22
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x14024cae8]
mov r9d, dword [0x14024caec]
mov eax, edx
xor eax, 0xffffffff
mov r11d, 0x256f2684
xor r11d, 0xda90d97b
mov r10d, edx
xor r10d, r11d
and eax, r10d
mov r10d, r9d
xor r10d, 0xffffffff
mov r11d, r9d
xor r11d, 0xffffffff
and r10d, r11d
or eax, r10d
xor eax, 0xffffffff
xor edx, 0xffffffff
xor r9d, 0xffffffff
and edx, r9d
or eax, edx
xor eax, 0xffffffff
add eax, 0x1728b4b8
sub eax, 0x7d832f75
mov r9d, 0xd1a44e02
xor r9d, 0x6d1327c6
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rcx]
mov r8b, byte [rcx + r8 + 8]
mov byte [rbp - 0x1b], r8b
mov cl, 0xfa
xor cl, 0xf9
shr r8b, cl
mov cl, byte [rbp - 0x1b]
movzx r8d, r8b
movzx r8d, byte [rdx + r8]
mov dl, cl
add dl, 1
mov r9b, 0x7d
xor r9b, 0x82
xor cl, r9b
or cl, 7
add cl, dl
movzx ecx, cl
mov edx, 0x3f295832
xor edx, 0x3f295833
shl edx, cl
mov ecx, edx
and ecx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
cmp ecx, 0
sete cl
mov byte [rbp - 0x1a], cl
cmp eax, 0x81b59027
je 0x14003d299
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x1a]
test cl, 1
mov qword [rbp], rax
jne 0x14003d3be
jmp 0x14003d397
mov rax, qword [rbp - 0x18]
movabs rcx, 0x1adda34f68937085
movabs rdx, 0x1adda34f68937084
xor rcx, rdx
add rax, rcx
mov qword [rbp - 8], rax
jmp 0x14003d034
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp + 0x2e]
mov rdx, qword [rbp]
mov qword [rbp - 0x30], rdx
test cl, 1
mov qword [rbp - 0x28], rax
jne 0x14003d3df
jmp 0x14003d910
mov eax, dword [0x14024caf0]
add eax, dword [0x14024caf4]
xor eax, 0x9d679bfa
mov ecx, 0xd3be9a34
xor ecx, 0xe581b37
sub eax, ecx
xor ecx, ecx
sub ecx, 0x1b47d278
sub eax, ecx
cmp eax, 0xe091bc04
jae 0x14003db2b
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp + 8]
mov r11d, dword [0x14024caf8]
mov eax, dword [0x14024cafc]
xor eax, 0xffffffff
mov r9d, 0xbb2ee902
xor r9d, 0xbb2ee902
mov r10d, 0x6154aa4b
xor r10d, 0x6154aa4a
sub r9d, r10d
sub eax, r9d
sub r11d, eax
add r11d, 0xc70359cf
mov eax, r11d
xor eax, 0xffffffff
and eax, 0x5923c0d4
mov r10d, 0xffffffff
xor r10d, 0x5923c0d4
and r11d, r10d
mov r9d, 0xcb860c6d
xor r9d, 0x4a62f2a2
mov esi, 0x8a88b5b4
xor esi, 0x75774a4b
xor r9d, esi
mov esi, 0x37d3c415
xor esi, 0x6ef004c1
and r9d, esi
and r10d, 0x81e4fecf
or eax, r11d
or r9d, r10d
xor eax, r9d
mov r9d, 0x14ee971a
xor r9d, 0xb334422c
imul eax, r9d
add r8, 8
mov qword [rbp - 0x40], r8
xor r8d, r8d
sub r8, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add r8, rdx
movabs rdx, 0xf68720f0dc5f0be2
movabs r9, 0xf68720f0dc5f0be2
xor rdx, r9
sub rdx, r8
mov r8, rdx
sub r8, rcx
cmovl rcx, rdx
mov qword [rbp - 0x38], rcx
cmp eax, 0x52760ee4
jae 0x14003db2b
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x48], rax
jmp 0x14003d514
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x50], rdx
cmp rcx, rdx
mov qword [rbp - 0x28], rax
jg 0x14003d910
mov eax, dword [0x14024cb00]
xor edx, edx
div dword [0x14024cb04]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc7a60bd2
mov edx, 0xffffffff
xor edx, 0xc7a60bd2
and eax, edx
sub eax, ecx
mov ecx, 0x1d635103
xor ecx, 0xcd932ff2
and eax, ecx
and eax, 0x969df4da
cmp eax, 0xe2bb3810
jae 0x14003db34
mov r8, qword [rbp + 0x38]
mov ecx, dword [0x14024cb08]
mov eax, 0x486ee201
xor eax, 0x19fdd7bd
xor ecx, eax
mov edx, dword [0x14024cb0c]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
mov r9d, 0x21a48919
xor r9d, 0xde5b76e6
xor ecx, r9d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0xe13ce47f
xor ecx, 0x1ec31b80
xor eax, ecx
add eax, 0xe8637936
sub eax, 0xbf682261
sub eax, 0xe8637936
mov ecx, 0x75ca1447
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x50]
imul eax, eax, 0xa2d0a689
mov ecx, 0xe543fc36
xor ecx, 0x93759324
cmp rdx, r8
setl dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jae 0x14003db34
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14003d625
jmp 0x14003d60b
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14003da81
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov r8b, cl
shr r8b, 3
movzx r8d, r8b
movzx edx, byte [rdx + r8]
xor cl, 0xff
mov r9b, 9
xor r9b, 0xe
mov r8b, 0x3f
xor r8b, 0xc0
xor r9b, r8b
mov r8b, 0xff
xor r8b, 0xed
or cl, r9b
or r8b, 0xed
mov r9b, 0x2e
xor r9b, 0xd1
xor cl, r9b
and cl, r8b
movzx ecx, cl
mov r8d, 1
shl r8d, cl
mov ecx, r8d
and ecx, edx
cmp ecx, 0
mov qword [rbp - 0x28], rax
je 0x14003d910
mov r11d, dword [0x14024cb10]
mov r10d, dword [0x14024cb14]
mov eax, 0x6347cb72
xor eax, 0x9cb8348d
mov ecx, r11d
xor ecx, eax
mov eax, 0x365f07de
xor eax, 0xc9a0f821
mov r8d, r10d
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xc6b4c3fd
mov r9d, 0xb8284685
xor r9d, 0x7e9c8578
mov eax, ecx
and eax, r9d
and r11d, edx
mov esi, 0x6c6eda67
xor esi, 0xaada199a
mov r9d, r8d
and r9d, esi
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x2ae1a154
xor r8d, 0xd51e5eab
xor ecx, r8d
or edx, 0xc6b4c3fd
and ecx, edx
or eax, ecx
mov ecx, 0xd6391e60
xor ecx, 0x8566f2cd
sub eax, ecx
mov ecx, 0x2aa0b83d
xor ecx, 0x24cfb641
add eax, ecx
imul eax, eax, 0xfad19ff
mov ecx, 0xa76de9e5
xor ecx, 0x876ba534
cmp eax, ecx
jb 0x14003db3d
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x14024cb18]
mov edx, dword [0x14024cb1c]
mov r8d, 0xde3d456
xor r8d, 0xbb6e5a4f
xor edx, r8d
add eax, edx
imul eax, eax, 0x85aaa064
mov edx, 0x627b1773
xor edx, 0xe2b12bb6
xor eax, edx
mov edx, 0xa9b2e3df
xor edx, 0xd66cbb1e
mov r8d, eax
and r8d, edx
mov edx, 0x679b2158
xor edx, 0x679b215a
imul edx, r8d
add eax, 0x7fde58c1
sub eax, edx
movabs r8, 0xc22d179d3420c664
mov rdx, rcx
add rdx, r8
add rdx, 0xffffffffffffffff
movabs r8, 0x1ecaf1b8314614fd
movabs r9, 0xdce7e6250566d299
xor r8, r9
sub rdx, r8
mov qword [rbp - 0x60], rdx
xor rdx, rcx
movabs r8, 0xf2f138ea3dc514ad
movabs r9, 0xf2f138ea3dc514ad
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 0
setg cl
and cl, dl
mov byte [rbp - 0x52], cl
cmp eax, 0x2840468
je 0x14003db3d
mov rax, qword [rbp - 0x60]
mov cl, byte [rbp - 0x52]
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x14003d82d
jmp 0x14003d514
mov eax, dword [0x14024cb20]
mov ecx, 0x32649bb1
xor ecx, 0x989904ef
xor eax, ecx
mov ecx, dword [0x14024cb24]
xor ecx, 0xffffffff
mov edx, eax
xor edx, ecx
and edx, eax
mov ecx, edx
xor ecx, 0x5710f482
mov eax, 0x1f1ff527
xor eax, 0x480f01a5
mov r8d, 0xb65b6e1c
xor r8d, 0x49a491e3
xor eax, r8d
and edx, eax
mov eax, 0x1016ff7a
xor eax, 0x1016ff78
imul eax, edx
sub eax, ecx
mov ecx, 0x1f513f80
xor ecx, 0x9908d729
xor edx, edx
div ecx
sub eax, 0xf4eb7b20
cmp eax, 0x93c1089c
ja 0x14003db46
mov ecx, dword [0x14024cb28]
mov edx, dword [0x14024cb2c]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
and eax, 0xcd9bd843
xor eax, 0xc9ecbc9e
xor ecx, ecx
sub ecx, eax
mov eax, 0x1e2130fc
xor eax, 0x1e2130fc
mov edx, 0xa43d3a81
xor edx, 0x7819ca73
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [rbp - 0x64], eax
mov eax, 0xc755d9c
xor eax, 0x2e4b9398
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.140008c92
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, ecx
jbe 0x14003d8a1
jmp 0x14003da81
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x70], rax
mov eax, dword [0x14024cb30]
mov ecx, 0xd7ebe7f6
xor ecx, 0x1490e9a3
xor eax, ecx
mov ecx, dword [0x14024cb34]
mov edx, 0x7d19b8bb
xor edx, 0x3924e800
add eax, edx
sub eax, ecx
mov ecx, 0xd99a52f2
xor ecx, 0x9da70249
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x1eeafd29
mov edx, 0xae49f64f
xor edx, 0xb0a30b66
mov r8d, 0xdf66bde0
xor r8d, 0x2099421f
xor edx, r8d
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x22307d4d
or ecx, 0x22307d4d
add eax, ecx
mov ecx, 0x13aa7ac0
xor edx, edx
div ecx
cmp eax, 0x7a471273
jae 0x14003db4f
mov r9, qword [rbp - 0x70]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x14024cb38]
xor eax, 0xa8b305e4
imul eax, dword [0x14024cb3c]
add eax, 0xcf9697cd
mov edx, 0x1c1db78f
xor edx, 0x9850bf30
sub eax, edx
mov edx, 0x75e87d1d
xor edx, 0xba7eead0
sub eax, edx
mov r10d, 0x761f1293
xor r10d, 0xd1913082
xor edx, edx
div r10d
mov rdx, qword [rbp + 0x30]
mov edi, eax
mov rax, qword [rbp + 8]
mov r11d, edi
xor r11d, 0xffffffff
mov r10d, 0x7d4775a4
xor r10d, 0xecee7718
and r10d, r11d
mov ebx, 0xffffffff
xor ebx, 0x91a902bc
and edi, ebx
mov r11d, 0xb6d9a898
xor r11d, 0xe5b22a93
mov esi, 0x6b4e538d
xor esi, 0x94b1ac72
xor r11d, esi
and r11d, 0x91a902bc
mov esi, 0x64b669c9
xor esi, 0x37ddebc2
and esi, ebx
or r10d, edi
or r11d, esi
xor r10d, r11d
mov dword [rbp - 0x74], r10d
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140019600
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xfa38af0f
jae 0x14003db4f
jmp 0x14003da81
mov eax, dword [0x14024cb40]
imul eax, dword [0x14024cb44]
imul eax, eax, 0x150d9635
sub eax, 0x8b2c2650
sub eax, 0x9f6b6fa2
mov ecx, 0x95186855
xor ecx, 0x1e344e05
add eax, ecx
mov ecx, 0x4810d60d
xor ecx, 0x8ca69810
add eax, ecx
add eax, 0x3fa735e
sub eax, 0xc4b64e1d
mov ecx, 0xe97523ae
xor ecx, 0x9e0a39b7
cmp eax, ecx
ja 0x14003db58
mov eax, dword [0x14024cb48]
and eax, dword [0x14024cb4c]
or eax, 0x7a85a583
mov ecx, 0xbe7ac3f6
xor ecx, 0x76faaba6
add eax, ecx
mov ecx, 0xaca3da00
xor ecx, 0x11b3bef0
imul eax, ecx
cmp eax, 0x39a1f6ab
je 0x14003db58
mov rax, qword [rbp + 0x18]
lea rsp, [rbp + 0x48]
pop rbx
pop rdi
pop rsi
pop rbp
ret
jmp 0x1291624b6
invalid
mov word [rsi], ds
jmp 0x138e2c494
invalid
invalid
push 0xffffffffffffffab
add eax, 0xfd52e9cc
invalid
pop rbx
mov dh, 0x6f
mov cl, 0xe9
invalid
invalid