Function at 0x1400372c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x40
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov r11d, dword [0x1401dcbf8]
xor r11d, 0x7a160b0
mov ecx, dword [0x1401dcbfc]
xor ecx, 0x5255e213
mov edx, r11d
xor edx, ecx
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
shl eax, 1
sub eax, ecx
sub r11d, eax
sub r11d, 0xcdfd395e
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xf68c0ab9
mov edx, 0x568975ee
xor edx, 0x119a3b53
mov ecx, 0xb3236ce2
xor ecx, 0x4cdc931d
xor edx, ecx
mov ecx, eax
and ecx, 0x47134ebd
and r11d, edx
mov r9d, r8d
and r9d, 0x47134ebd
mov r10d, edx
and r10d, 0xf68c0ab9
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x47134ebd
and eax, edx
or ecx, eax
mov eax, ecx
or eax, 0x5e7311c8
mov edx, 0x351b8162
xor edx, 0xcae47e9d
xor eax, edx
or ecx, 0x5e7311c8
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x307769d1
xor ecx, 0x910ae005
cmp eax, ecx
jb 0x14003768c
mov ecx, dword [0x1401dcc00]
mov edx, dword [0x1401dcc04]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov edx, 0x34d45254
xor edx, 0xd162aede
mov eax, ecx
and eax, edx
mov edx, 0xd8d42783
xor edx, 0x3d62db09
xor ecx, edx
or eax, ecx
add eax, 0x4401d8a0
sub eax, 0x8dd461bc
sub eax, 0x4401d8a0
mov ecx, 0x2d6e6367
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x28]
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rsp + 0x20], rcx
cmp eax, 0xcee05c09
jae 0x1400373a3
xor eax, eax
mov qword [rsp + 0x18], rax
jmp 0x14003741a
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x10], rax
mov ecx, dword [0x1401dcc08]
mov eax, dword [0x1401dcc0c]
mov edx, 0x81a32bf7
xor edx, 0x935f36fd
add ecx, edx
sub ecx, eax
sub ecx, 0x12fc1d0a
mov edx, 0xffffffff
xor edx, 0x12532db7
mov eax, ecx
and eax, edx
mov r8d, 0x3e6af0de
xor r8d, 0x2c39dd69
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
add ecx, 0x6dec2198
sub ecx, 0x69066a61
sub ecx, 0x6dec2198
mov eax, ecx
and eax, 0x87b11145
or ecx, 0x87b11145
add eax, ecx
mov ecx, 0xafb0814
xor ecx, 0x7e1e6e4e
cmp eax, ecx
je 0x140037695
mov rcx, qword [rsp + 0x10]
mov eax, dword [0x1401dcc10]
xor edx, edx
div dword [0x1401dcc14]
mov rdx, qword [rsp + 0x20]
mov r8d, eax
mov eax, 0x49f57e1e
xor eax, 0xca93e845
imul r8d, eax
mov eax, 0x93ef2949
xor eax, 0xb0af3919
sub r8d, eax
mov eax, r8d
or eax, 0x83501fbe
mov r9d, 0xd1e03b98
xor r9d, 0x2e1fc467
xor eax, r9d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x83501fbe
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
cmp rcx, rdx
sete cl
mov byte [rsp + 0xf], cl
cmp eax, 0x1f63c5ee
je 0x140037695
mov al, byte [rsp + 0xf]
test al, 1
jne 0x140037687
jmp 0x14003752c
mov ecx, dword [0x1401dcc18]
xor ecx, 0x12462803
mov edx, dword [0x1401dcc1c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and edx, edx
mov r8d, 0xfeebde2e
xor r8d, 0x11421d1
xor edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0xae7bf179
mov ecx, 0xd507d410
xor ecx, 0x2af82bef
mov edx, eax
xor edx, ecx
and edx, 0x2e15f09b
mov r8d, 0xe2e59aeb
xor r8d, 0xccf06a70
mov ecx, 0x14c71e24
xor ecx, 0xeb38e1db
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x6550c686
xor r8d, 0x4b45361d
mov edx, eax
and edx, r8d
or eax, 0x2e15f09b
imul eax, edx
add eax, ecx
mov ecx, 0x5321cc42
xor ecx, 0xf58a4cfd
xor edx, edx
div ecx
mov ecx, 0xf0549406
xor ecx, 0x339018f
cmp eax, ecx
je 0x14003769e
mov rcx, qword [rsp + 0x10]
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1401dcc20]
xor edx, edx
div dword [0x1401dcc24]
mov rdx, qword [rsp + 0x38]
mov r9d, 0xf264f1b6
xor r9d, 0x7755042d
add eax, r9d
mov r9d, 0xa4ad419d
xor r9d, 0x31a0eec0
add eax, r9d
sub eax, 0x8531f59b
mov r9d, 0xffffffff
xor r9d, 0xe50df77
add eax, r9d
add eax, 1
mov r9d, eax
and r9d, 0x40340b71
mov r10d, 0x7001743b
xor r10d, 0x8ffe8bc4
xor r9d, r10d
add eax, 0x40340b71
add eax, 1
add eax, r9d
mov r8b, byte [r8 + rcx]
mov byte [rdx + rcx], r8b
add rcx, 1
mov qword [rsp], rcx
cmp eax, 0xebcda185
je 0x14003769e
mov rax, qword [rsp]
mov qword [rsp + 0x18], rax
jmp 0x14003741a
add rsp, 0x40
ret
invalid
invalid
xor eax, 0xe9ba7f04
cmp eax, 0x66ffffff
nop dword [rax + rax]
sub rsp, 0x28
mov qword [rsp + 0x20], rcx
call fcn.1400379be
mov rcx, qword [rsp + 0x20]
add rsp, 0x28
jmp 0x140037820
sub rsp, 0x38
mov qword [rsp + 0x30], rcx
mov r8d, dword [0x1401dcc60]
xor r8d, 0xe1d1e939
mov eax, dword [0x1401dcc64]
xor eax, 0x65a38649
sub r8d, eax
and r8d, 0x24e6ab17
and r8d, 0xb77d46ff
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x3184eaf8
mov edx, 0xffffffff
xor edx, 0x3184eaf8
and r8d, edx
mov ecx, 0xfcdb1703
xor ecx, 0xb68ab9a2
mov r9d, 0x1093cf6b
xor r9d, 0xef6c3094
xor ecx, r9d
and ecx, 0x3184eaf8
and edx, 0x4a51aea1
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd7676027
xor ecx, 0xfed386a7
cmp eax, ecx
jb 0x1400379b5
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1401dcc68]
xor edx, edx
div dword [0x1401dcc6c]
mov edx, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xb83c982b
or r8d, 0xb83c982b
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or edx, 0xb83c982b
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x45df8cba
xor r8d, 0xba207345
xor edx, r8d
and eax, edx
mov edx, 0x2168073
xor edx, 0xfde97f8c
mov r8d, eax
xor r8d, edx
and r8d, 0x59211326
mov r9d, 0xffffffff
xor r9d, 0x59211326
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x59211326
mov r9d, 0x99cc20af
xor r9d, 0xc0ed3389
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x52a1182e
xor edx, 0xe189431c
and eax, edx
mov rcx, qword [rcx + 0x60]
mov qword [rsp + 0x20], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x80820c4c
jbe 0x1400378ad
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400379af
jmp 0x140037989
mov rcx, qword [rsp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400379af
mov rcx, qword [rsp + 0x20]
call fcn.14000e27f
nop
add rsp, 0x38
ret
adc eax, 0xe9fb3a64
out dx, eax
invalid