Function at 0x14006c430
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov ecx, dword [0x140219648]
mov edx, dword [0x14021964c]
mov eax, ecx
and eax, eax
mov r8d, 0xc882f855
xor r8d, 0x377d07aa
xor eax, r8d
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x6b3ef05b
mov ecx, 0xbbbe5c17
xor ecx, 0xaca01fa9
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x14618e06
xor r8d, 0xeb9e71f9
mov edx, ecx
xor edx, r8d
or eax, edx
and eax, 0x1a5ac8c3
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1a5ac8c3
mov r8d, 0x5251a577
xor r8d, 0x480b6db4
mov r9d, 0x9862b8a
xor r9d, 0xf679d475
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x9f3704
xor edx, 0xff60c8fb
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x5f5ec994
je 0x14006cf33
mov ecx, dword [0x140219650]
xor ecx, 0x59931ac7
mov r8d, dword [0x140219654]
mov r9d, r8d
not r9d
mov eax, ecx
and eax, r9d
mov edx, ecx
or edx, r9d
not edx
imul edx, eax
mov eax, ecx
and eax, r8d
or ecx, r8d
imul ecx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx - 0xec3491c]
mov ecx, eax
xor ecx, 0x6aae7b92
and eax, 0x1551846d
add eax, eax
sub eax, ecx
add eax, 0xa809e955
mov dword [rbp + 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.14006cf69
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov rax, qword [0x140226bf0]
mov qword [rcx], rax
mov rax, qword [0x140226bf8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140037cc7
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x1c]
mov qword [rbp + 0x20], rdx
mov cl, byte [rcx]
mov dl, 0x42
xor dl, 0x42
cmp cl, dl
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x14fb351
jb 0x14006cf33
mov cl, byte [rbp + 0x2f]
mov al, 1
test cl, 1
mov byte [rbp - 0x31], al
jne 0x14006c652
jmp 0x14006ce21
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
add rcx, 8
mov qword [rbp - 0x48], rcx
add rax, 8
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140037deb
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov al, byte [rax]
test al, al
setne al
sub rcx, 0x4bb4
sete cl
or al, cl
test al, 1
jne 0x14006cde0
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x48]
mov r9, qword [rbp - 0x30]
mov qword [r9], 0
mov qword [r8], 0
mov qword [rdx], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.140037f80
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x4a], cx
cmp byte [rax], 0
jne 0x14006c9d2
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140037f80
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x4c], cx
cmp byte [rax], 0
jne 0x14006c9d2
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140037f80
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x4e], cx
mov al, byte [rax]
mov cl, 0x49
xor cl, 0x49
cmp al, cl
jne 0x14006c9d2
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140037f80
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x10]
mov word [rbp - 0x50], cx
cmp byte [rax], 0
jne 0x14006c9d2
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x20]
mov ax, word [rbp - 0x4c]
movsx r8, ax
sub rsp, 0x20
call fcn.140038306
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov al, byte [rax]
mov cl, 0x8d
xor cl, 0x8d
cmp al, cl
jne 0x14006c9d2
mov r11d, dword [0x140219658]
mov edx, dword [0x14021965c]
mov eax, 0x2f144b2f
xor eax, 0x1d4f1ed4
xor edx, eax
mov eax, r11d
xor eax, 0xffffffff
mov ecx, edx
and ecx, eax
mov r8d, edx
xor r8d, 0xffffffff
mov eax, r11d
and eax, r8d
imul eax, ecx
mov ecx, r11d
and ecx, edx
or r11d, edx
imul r11d, ecx
add r11d, eax
mov eax, 0x7147fece
xor eax, 0xe0aa9f60
add r11d, eax
sub r11d, 0xe2661c98
sub r11d, 0x91ed61ae
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xb58d7296
mov edx, 0xffffffff
xor edx, 0x77eb5d9b
mov ecx, eax
and ecx, 0x77eb5d9b
and r11d, edx
mov r10d, 0xdbd016c
xor r10d, 0x7a565cf7
mov r9d, r8d
and r9d, r10d
mov r10d, 0x5023c367
xor r10d, 0xe5aeb1f1
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
mov r8d, 0x1b3fe51f
xor r8d, 0xe4c01ae0
xor eax, r8d
or edx, 0x77eb5d9b
and eax, edx
or ecx, eax
mov edx, 0x495aeb0
xor edx, 0x72d06e2d
mov eax, 0xdce09b03
xor eax, 0x231f64fc
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x8f2a4abd
xor ecx, 0x9469fbf
cmp eax, ecx
jae 0x14006cf3c
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x20]
mov ax, word [rbp - 0x4e]
mov r8d, dword [0x140219660]
xor r8d, dword [0x140219664]
imul r8d, r8d, 0xc00569f4
xor r8d, 0x9879b125
mov r9d, 0xc15f7936
xor r9d, 0x8a238d9c
add r8d, r9d
sub r8d, 0xe2ab4fa5
sub r8d, 0x4b7cf4aa
mov dword [rbp - 0x58], r8d
movsx r8, ax
sub rsp, 0x20
call fcn.140038306
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x10]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x722dde19
jbe 0x14006cf3c
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14006c944
jmp 0x14006c9d2
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 8]
mov r8w, word [rbp - 0x50]
mov rcx, qword [0x14023df88]
movsx r8, r8w
add rcx, 8
shl r8, 4
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140016d10
mov rcx, qword [rbp - 0x30]
call fcn.1400123e0
mov r8w, word [rbp - 0x4a]
mov rdx, qword [rbp]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [0x14023df88]
movsx r8, r8w
add rcx, 8
shl r8, 4
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140016d10
mov rcx, qword [rbp - 0x28]
call fcn.1400123e0
add rsp, 0x20
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x14006cb2c
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rcx, 0x5af7253f13b97082
movabs rdx, 0x1af7253f13b97082
xor rcx, rdx
movabs rdx, 0xa33462b1f9378c06
movabs r8, 0x5ccb9d4e06c873f9
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xbdfe00f6abf1933f
xor rdx, r8
or rax, rcx
movabs rcx, 0xb596fc1b70e637aa
movabs r8, 0x868fceddb17a495
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xfef2ec336f906f7e
movabs rdx, 0xfef2ec336f906f7e
xor rcx, rdx
cmp rax, rcx
jne 0x14006cb2c
mov eax, dword [0x140219668]
mov ecx, dword [0x14021966c]
mov edx, 0x720f8a47
xor edx, 0xf4d3344e
xor ecx, edx
mov edx, 0x5639b385
xor edx, 0xa9c64c7a
xor ecx, edx
add eax, ecx
mov ecx, 0x8b0a152
xor ecx, 0x8b0a153
add eax, ecx
mov ecx, 0xbdb90c98
xor edx, edx
div ecx
mov ecx, 0x4ec71cae
xor ecx, 0x583a30c7
and eax, ecx
mov ecx, 0xac3f80ea
xor edx, edx
div ecx
cmp eax, 0x5f442ec8
jae 0x14006cf45
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x140219670]
xor eax, 0x1cdab7be
xor edx, edx
div dword [0x140219674]
mov edx, 0x5b31d957
xor edx, 0x3b93a2be
sub eax, edx
and eax, 0xda44b5c3
imul eax, eax, 0xd06a710c
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.140010918
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x9c7fe750
je 0x14006cada
jmp 0x14006cb2c
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14006ccab
mov eax, dword [0x140219678]
mov edx, dword [0x14021967c]
mov ecx, edx
and ecx, eax
mov r8d, 0x36c1d979
xor r8d, 0xc93e2686
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x4c53d386
xor edx, edx
div ecx
mov ecx, 0x63e28c2f
xor ecx, 0x9b0aa5a6
sub eax, ecx
mov edx, 0xcb5dea99
xor edx, 0x34a21566
mov ecx, eax
xor ecx, edx
mov edx, 0x375b5a7a
xor edx, 0x96c1a30f
and edx, ecx
mov r8d, 0x56dbc156
xor r8d, 0xf7413823
mov ecx, 0x7a1c3ebe
xor ecx, 0x85e3c141
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x739400e7
xor r8d, 0xd20ef992
mov edx, eax
and edx, r8d
mov r8d, 0x4bc9a7f6
xor r8d, 0xea535e83
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x23f603b3
jbe 0x14006cf4e
mov eax, dword [0x140219680]
xor edx, edx
div dword [0x140219684]
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
sub ecx, 0xce114271
add eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xb2ba596d
mov r9d, 0xffffffff
xor r9d, 0xb2ba596d
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0xb2ba596d
or eax, 0xb2ba596d
imul eax, r8d
add eax, ecx
mov ecx, 0x47de6ea2
xor ecx, 0xac172696
imul eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x435f96d1d03b1db5
movabs r8, 0x435f96d1d03b1db5
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x5f8c8219
jb 0x14006cbef
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14006cc9a
jmp 0x14006ccab
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov eax, dword [0x140219688]
imul eax, dword [0x14021968c]
mov ecx, 0x705f7456
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x1c2d89ec
xor edx, 0x716d0c59
mov eax, ecx
and eax, edx
xor ecx, 0x6d4085b5
or eax, ecx
mov ecx, 0xf3ccae0c
xor ecx, 0xf6318935
and eax, ecx
cmp eax, 0x69d111f1
jae 0x14006cf57
mov eax, dword [0x140219690]
xor edx, edx
div dword [0x140219694]
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x9beac0c1
mov r8d, ecx
and r8d, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, ecx
and r8d, 0x9beac0c1
or ecx, 0x9beac0c1
imul ecx, r8d
add ecx, eax
mov eax, ecx
and eax, 0xe4c3a837
mov r8d, 0x8f4c14fe
xor r8d, 0x70b3eb01
xor eax, r8d
and ecx, 0xe4c3a837
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x6f29a873
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xe01614f2
xor r9d, 0x1fe9eb0d
xor ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x6f29a873
mov r9d, 0xa1b3c6e7
xor r9d, 0xce9a6e94
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0xb3e6665c
xor ecx, 0x16f8bcc1
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x72], dl
cmp eax, ecx
ja 0x14006cf57
mov al, byte [rbp - 0x72]
test al, 1
jne 0x14006cddb
jmp 0x14006cde0
jmp 0x14006c66a
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov dl, byte [rax]
mov byte [rbp - 0x75], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14003837c
mov rcx, qword [rbp + 0x10]
mov al, byte [rbp - 0x75]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x74], dl
cmp byte [rcx], 0
mov byte [rbp - 0x73], al
je 0x14006ce1b
mov al, byte [rbp - 0x74]
mov byte [rbp - 0x73], al
mov al, byte [rbp - 0x73]
mov byte [rbp - 0x31], al
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp - 0x31]
mov byte [rbp - 0x76], dl
mov dl, 0xb5
xor dl, 0xb5
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400360c0
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14006ce59
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x76]
mov byte [rax], cl
mov eax, dword [0x140219698]
xor eax, 0xc81b6f1
and eax, dword [0x14021969c]
or eax, 0x96f5d8dd
mov ecx, 0x803e67a8
xor ecx, 0x2ff4e047
xor edx, edx
div ecx
mov edx, 0x19acdbd
xor edx, 0xdd27d6fd
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xdcbd1b40
add eax, ecx
cmp eax, 0x4203f6c4
jbe 0x14006cf60
mov ecx, dword [0x1402196a0]
xor ecx, 0x660d45c8
mov edx, dword [0x1402196a4]
mov r8d, 0xee5f9456
xor r8d, 0x11a06ba9
mov eax, ecx
xor eax, r8d
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x5e6639c4
xor edx, 0xfb8305ce
mov r8d, 0x405baec2
xor r8d, 0xbfa4513d
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa5e53c0a
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
add eax, 0x681b8514
add eax, 0x1c9466e1
sub eax, 0x681b8514
add eax, 0x4a45ff04
mov ecx, 0x44dd381d
xor ecx, 0x2d721229
cmp eax, ecx
ja 0x14006cea2
lea rsp, [rbp + 0x30]
pop rbp
ret
lodsd eax, dword [rsi]
xchg edx, eax
jmp 0x14006c4fc
jmp 0x14006cfa7
lea esp, [rdx + 0x14]
sub cl, 0x8c
sti
invalid
add ah, byte [rsi + rdx*4 - 0x36716a4]
invalid
cwde
add al, 0x85
stosd dword [rdi], eax
jmp 0x14006ccf2
mov al, 0x92
mov ebp, 0xff39e9ef
invalid
add byte [rax], al