Function at 0x14006d600
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
call fcn.14006bc70
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
cmp rdx, 0x20
jge 0x14006d8af
mov eax, dword [0x1402443a8]
xor eax, dword [0x1402443ac]
or eax, 0xd4b3beba
mov ecx, 0xf98529ed
xor ecx, 0x5aa9384d
sub eax, ecx
mov ecx, 0x1da2cd22
xor ecx, 0x1af86c87
xor edx, edx
div ecx
cmp eax, 0x9fdd9c2f
ja 0x14006df4d
mov rdx, qword [rsp + 0x68]
mov eax, dword [0x1402443b0]
xor eax, 0x98af937
or eax, dword [0x1402443b4]
mov r8d, eax
and r8d, 0xcd278115
mov ecx, 0xa9f02ead
xor ecx, 0xa9f02eaf
imul ecx, r8d
add eax, 0xcd278115
sub eax, ecx
mov ecx, eax
and ecx, 0xaa9a1682
mov r8d, 0x5f0974a
xor r8d, 0xfa0f68b5
xor ecx, r8d
add eax, 0xaa9a1682
mov r8d, 0xa94c6645
xor r8d, 0xa94c6644
add eax, r8d
add eax, ecx
mov ecx, 0x98d717aa
xor ecx, 0xe19ade1f
sub eax, ecx
mov ecx, 0xf44a633d
xor ecx, 0x3a3e0944
sub eax, ecx
add eax, 0x794dc9b5
mov ecx, 0x4a9725d1
xor ecx, 0xf23b5a31
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
je 0x14006d662
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14006d714
jmp 0x14006df45
mov ecx, dword [0x1402443b8]
add ecx, dword [0x1402443bc]
mov eax, ecx
and eax, 0x683157f4
xor ecx, 0x683157f4
or eax, ecx
sub eax, 0xdb91b5ea
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x344cb810
xor edx, 0xdfc8de7b
or eax, edx
add eax, ecx
mov ecx, 0x1cb2035d
xor ecx, 0x3a6a615c
cmp eax, ecx
je 0x14006df56
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov edi, dword [0x1402443c0]
mov esi, dword [0x1402443c4]
mov r8d, edi
xor r8d, 0xffffffff
mov edx, 0x9a47fdce
xor edx, 0x65b80231
mov r10d, esi
xor r10d, edx
mov r9d, 0xffffffff
xor r9d, 0x51d01949
mov r11d, 0xe7a6b7fa
xor r11d, 0xb676aeb3
mov edx, r8d
and edx, r11d
and edi, r9d
mov ebx, 0x9465bbe4
xor ebx, 0xc5b5a2ad
mov r11d, r10d
and r11d, ebx
and esi, r9d
or edx, edi
or r11d, esi
xor edx, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0x51d01949
and r8d, r9d
or edx, r8d
xor r8d, r8d
sub r8d, 0xa2da3bb3
add edx, r8d
mov r8d, 0xafb93665
xor r8d, 0xb12222ef
imul edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0x35e2717d
xor r9d, 0x1a30dbbc
and r9d, r8d
mov r10d, 0xe1881f0c
xor r10d, 0xce5ab5cd
mov r8d, 0x50fe9d2a
xor r8d, 0xaf0162d5
xor r10d, r8d
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x2fd2aac1
or edx, 0x2fd2aac1
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x50], edx
mov bl, al
mov al, bl
xor al, 0xff
mov r9b, 0xff
xor r9b, 0xa0
mov r8b, 0xff
xor r8b, 0x22
mov dl, al
and dl, 0x22
and bl, r8b
mov r10b, r9b
and r10b, 0x22
mov r11b, r8b
and r11b, 0xa0
or dl, bl
or r10b, r11b
xor dl, r10b
or al, r9b
xor al, 0xff
or r8b, 0x22
and al, r8b
or dl, al
call fcn.140034221
mov eax, dword [rsp + 0x50]
cmp eax, 0x948dd63b
jae 0x14006df56
jmp 0x14006df45
mov rax, qword [rsp + 0x60]
cmp rax, 0x100
jae 0x14006db3b
mov eax, dword [0x1402443c8]
xor eax, dword [0x1402443cc]
sub eax, 0x358f11b2
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa5504d5c
mov r8d, 0xffffffff
xor r8d, 0xa5504d5c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa5504d5c
or eax, 0xa5504d5c
imul eax, edx
add eax, ecx
add eax, 0x48dd59dd
add eax, 0x61b3cc84
sub eax, 0x48dd59dd
mov ecx, 0x9ab7198f
xor ecx, 0x6d3e97ba
cmp eax, ecx
ja 0x14006df5f
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402443d0]
mov r8d, dword [0x1402443d4]
mov edx, eax
or edx, edx
mov r9d, 0x7d1b852a
xor r9d, 0x82e47ad5
xor edx, r9d
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
or edx, r9d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or edx, eax
xor edx, 0xffffffff
add edx, 0xb3b714c8
add edx, 0x1ce3cf67
mov eax, 0x37329073
xor eax, 0x848584bb
sub edx, eax
mov r8d, 0x1e23972f
xor r8d, 0xe1dc68d0
mov eax, edx
xor eax, r8d
and eax, 0x346dff6c
mov r8d, 0xffffffff
xor r8d, 0x346dff6c
and edx, r8d
or eax, edx
sub eax, 0x689659f0
sub eax, 0xdd27a5cb
mov edx, 0x3d4493a3
xor edx, 0x55d2ca53
add eax, edx
mov dword [rsp + 0x48], eax
mov eax, 0x5e92d0a3
xor eax, 0x11b3aefc
mov dword [rsp + 0x44], eax
mov dl, 0xe1
xor dl, 0x38
call fcn.140034075
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
jb 0x14006d925
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14006da15
jmp 0x14006df45
mov eax, dword [0x1402443d8]
xor eax, 0xd216ac76
mov r8d, dword [0x1402443dc]
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 edx, 0xc0cfb11c
xor edx, 0x2c4ff4df
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0xec8045c3
shl ecx, 1
sub ecx, 0xec8045c3
sub eax, ecx
mov r8d, eax
and r8d, 0x57eecd6a
or eax, 0x57eecd6a
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x55e50664
mov edx, 0xffffffff
xor edx, 0x55e50664
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x85935d5b
and ecx, 0x55e50664
and edx, 0x85935d5b
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xa89d55a9
ja 0x14006df68
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402443e0]
mov r8d, dword [0x1402443e4]
mov edx, 0xcfb2a7b1
xor edx, 0xe58b2f1f
xor r8d, edx
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x60]
imul edx, edx, 0x93968e6d
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0x5d626c3d
add r8d, edx
xor edx, edx
sub edx, r8d
mov r8d, 0x393d31ce
xor r8d, 0xa890f50f
and edx, r8d
mov dword [rsp + 0x40], edx
mov dl, al
call fcn.140034221
mov eax, dword [rsp + 0x40]
cmp eax, 0x5ff4fe2a
je 0x14006df68
jmp 0x14006df45
mov rax, qword [rsp + 0x60]
cmp rax, 0x10000
jae 0x14006dcc6
mov rcx, qword [rsp + 0x58]
mov edx, 0xda
call fcn.140034075
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x14006df45
mov ecx, dword [0x1402443e8]
mov edx, dword [0x1402443ec]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x32f4b77e
xor edx, edx
div ecx
imul eax, eax, 0xc26bffcb
sub eax, 0x4755b5f6
mov ecx, 0x72bfc7cd
xor ecx, 0xd9c1998f
sub eax, ecx
add eax, 0x4755b5f6
mov ecx, 0x76ba8e9c
xor ecx, 0x471c9ad4
cmp eax, ecx
je 0x14006df71
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov edx, dword [0x1402443f0]
xor edx, 0x1c003bdb
mov r10d, dword [0x1402443f4]
xor r10d, 0xefac415e
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, edx
and r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
mov r9d, 0x71aff56c
xor r9d, 0x904ef026
mov r8d, edx
xor r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0x6c9a88e0
xor r9d, 0x8d7b8daa
and r9d, r8d
mov r8d, 0x81fe8df9
xor r8d, 0x81fe8dfb
imul r8d, r9d
sub r8d, 0xe1e1054a
sub edx, r8d
imul edx, edx, 0xc176fb66
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0xa91cf44a
mov r10d, 0xffffffff
xor r10d, 0xa91cf44a
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0xa91cf44a
mov r10d, 0xb96f4a83
xor r10d, 0x1073bec9
or edx, r10d
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x3c], edx
mov edx, 0x345d24ea
xor edx, 0x2fde7051
mov dword [rsp + 0x38], edx
mov dx, ax
call fcn.14006c1f0
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
jbe 0x14006dbb6
jmp 0x14006df45
mov eax, dword [0x1402443f8]
xor eax, 0xa9462a21
mov ecx, dword [0x1402443fc]
xor ecx, 0x90e2c5b8
sub eax, 0x79c3a2d3
sub eax, ecx
mov ecx, 0x77a785dd
xor ecx, 0xe64270e
add eax, ecx
mov ecx, 0xf967424
xor ecx, 0xf38bc293
imul eax, ecx
sub eax, 0x29fa9454
sub eax, 0xa6c3f5d9
mov ecx, 0xb2226a38
xor ecx, 0x9648f23a
cmp eax, ecx
jb 0x14006df7a
mov rcx, qword [rsp + 0x58]
mov edx, dword [0x140244400]
sub edx, dword [0x140244404]
mov r8d, edx
xor r8d, 0xffffffff
mov eax, 0x491b7824
xor eax, 0x3e588155
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x7743f971
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x178561e6
mov r8d, 0xee0f0546
xor r8d, 0xf6da9123
mov r9d, 0x7b811f83
xor r9d, 0x847ee07c
xor r8d, r9d
or eax, edx
mov edx, 0x8391ffbf
xor edx, 0x9b446bda
or edx, r8d
mov r8d, 0x6d53074b
xor r8d, 0x92acf8b4
xor eax, r8d
and eax, edx
mov r8d, eax
and r8d, 0xf364006c
mov edx, 0xaa476917
xor edx, 0xaa476915
imul edx, r8d
add eax, 0xf364006c
sub eax, edx
mov dword [rsp + 0x30], eax
mov dl, 0xc4
xor dl, 0x1f
call fcn.140034075
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x6ea684fc
je 0x14006df7a
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14006ddfd
jmp 0x14006df45
mov eax, dword [0x140244408]
mov edx, dword [0x14024440c]
mov ecx, 0xc3bd15ff
xor ecx, 0x6e2bd9ad
xor edx, ecx
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xac490e80
xor ecx, 0x7b4be366
add eax, ecx
mov ecx, 0xfc038c01
xor ecx, 0xebf4c86c
add eax, ecx
mov ecx, 0xa66cd373
xor ecx, 0x716e3e95
sub eax, ecx
add eax, 0x94f2037d
and eax, 0xbae63494
cmp eax, 0x6fe99f0b
jb 0x14006df83
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140244410]
sub eax, dword [0x140244414]
mov r9d, 0xffffffff
xor r9d, 0x2a6ecc07
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x42f2a2f7
xor r9d, 0x689c6ef0
mov r8d, eax
and r8d, r9d
or eax, 0x2a6ecc07
imul eax, r8d
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x32498299
mov r9d, 0x14689c9d
xor r9d, 0x26211e04
mov edx, 0x22016483
xor edx, 0xddfe9b7c
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x32498299
mov r9d, 0x186bb1c9
xor r9d, 0x2a223350
xor ecx, 0x2a223350
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x4f7428d5
xor r8d, 0xdf1d174e
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0x2c], edx
mov edx, 0x65374375
xor edx, 0x5e1d41f5
mov dword [rsp + 0x28], edx
mov edx, eax
call fcn.14006c430
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
jae 0x14006df83
jmp 0x14006df45
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
iretd
invalid
ja 0x14006deee
jp 0x14006dfa6
jmp 0x14006d925
jmp qword [r9 + 0x15]
rcl dword [rbp + 0x3ce9dbfa], 0xfc
invalid
cmp byte [rax - 0x661617bc], bh
std
invalid
out dx, eax
ret
sbb eax, 0x5af0f00
insd dword [rdi], dx
sbb eax, 0xd3500d00
invalid