Function at 0x14012c320
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov eax, dword [0x140253020]
xor eax, 0x46bba96d
mov edx, dword [0x140253024]
xor edx, 0xc5864da3
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0xd837c545
xor ecx, 0xd837c547
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x5f9b2db3
xor ecx, 0x1f838b1f
imul eax, ecx
imul ecx, eax, 0xcea25c84
mov edx, 0x7fb8c9ba
xor edx, 0xcbc7dfa0
mov eax, 0xedeec08b
xor eax, 0x12113f74
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xe7f28db
jb 0x14012c675
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140253028]
mov edx, dword [0x14025302c]
xor edx, 0xae444501
sub eax, edx
mov r8d, 0x59f811ad
xor edx, edx
div r8d
mov r8d, 0xf6049082
xor edx, edx
div r8d
or eax, 0xaa3607fb
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0xfa1e4eec
ja 0x14012c3a1
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14012c670
jmp 0x14012c404
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 8]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x40], rax
jg 0x14012c442
mov rcx, qword [rsp + 0x58]
call fcn.140010018
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x40]
mov rax, qword [rax + 0x10]
mov r10, r9
shl r10, 4
mov rdx, rax
add rdx, r10
mov qword [rdx], r8
mov rdx, r9
shl rdx, 4
add rax, rdx
add rax, 8
mov qword [rax], rcx
mov rax, 0xffffffffffffffff
xor rax, 1
movabs rcx, 0xbd1064f14c2f3ef5
movabs rdx, 0xbd1064f14c2f3ef5
xor rcx, rdx
movabs rdx, 0xb7b759b9f14a0017
movabs r8, 0xb7b759b9f14a0016
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov rcx, r9
sub rcx, rax
mov qword [rsp + 0x30], rcx
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rax, 0x9ac36fcddfddff58
and rdx, rax
mov r10, 0xffffffffffffffff
movabs rax, 0x9ac36fcddfddff58
xor r10, rax
and r9, r10
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x2c83cb38259fd322
movabs r11, 0xb640a4f5fa422c7a
xor r8, r11
and rax, r8
movabs r8, 0xdceb2fd1997a8d89
movabs r11, 0x2314d02e66857276
xor r8, r11
and r8, r10
or rdx, r9
or rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x483e8d5bda4d7a1
movabs rdx, 0x483e8d5bda4d7a1
xor rcx, rdx
cmp rax, rcx
jge 0x14012c663
mov ecx, dword [0x140253030]
and ecx, dword [0x140253034]
mov eax, 0x72317a0f
xor eax, 0x348f855a
and ecx, eax
mov edx, 0xc3a90e64
xor edx, 0x2e2447a8
mov eax, ecx
and eax, edx
or ecx, 0xed8d49cc
add eax, ecx
mov ecx, 0x8d640ee6
xor ecx, 0x6f29a193
xor edx, edx
div ecx
mov ecx, 0x49159b34
xor ecx, 0x4a2122a7
cmp eax, ecx
ja 0x14012c67e
mov eax, dword [str.z5_T]
xor eax, 0x14005009
mov edx, dword [0x14025303c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x514a65e3
xor ecx, 0xaeb59a1c
xor eax, ecx
mov edx, 0x455328e2
xor edx, 0xfe0ead73
mov ecx, 0xe6c62f9d
xor ecx, 0x1939d062
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x84373158
or eax, edx
or ecx, 0x84373158
xor eax, 0xffffffff
and eax, ecx
add eax, 0xa57850b
mov edx, eax
xor edx, 0xffffffff
and edx, 0x41519cf3
mov r8d, 0xffffffff
xor r8d, 0x41519cf3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x41519cf3
or eax, 0x41519cf3
imul eax, edx
add eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x2c]
cmp eax, 0xa6f77af7
jb 0x14012c5b6
jmp 0x14012c670
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
add rsp, 0x68
ret
jg 0x14012c6e0
lahf
invalid
invalid
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x60], rcx
xor eax, eax
cmp rcx, 0x2000
mov qword [rsp + 0x68], rax
je 0x14012c6ec
mov rax, qword [rsp + 0x60]
mov byte [rsp + rax + 0x80], 0
xor ecx, ecx
sub rcx, 1
sub rax, rcx
sub eax, ecx
mov qword [rsp + 0x78], rax
jmp 0x14012c6ae
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rcx
xor eax, eax
cmp rcx, 0x100
mov qword [rsp + 0x58], rax
je 0x14012c8ae
mov ecx, dword [0x140253040]
imul ecx, dword [0x140253044]
mov eax, 0xffffffff
xor eax, 0xa1a7abbc
add ecx, eax
add ecx, 1
mov r8d, 0xaf737e3a
xor r8d, 0xcccb3c83
mov eax, 0x4bfd5d06
xor eax, 0xb402a2f9
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x63b842b9
mov r8d, 0x4ef6a840
xor r8d, 0x2d4eeaf9
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x7cdf94d7
mov edx, 0xa651789e
xor edx, 0x59ae8761
xor eax, edx
mov edx, 0x7cdf94d7
and edx, 0x7cdf94d7
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xa80064e9
xor r8d, 0x57ff9b16
xor edx, r8d
or ecx, edx
and eax, ecx
mov ecx, 0x51f0f781
xor ecx, 0xae0f087e
xor eax, ecx
cmp eax, 0xe73dad43
je 0x14012cc81
mov rdx, qword [rsp + 0x50]
mov eax, dword [0x140253048]
mov r8d, dword [0x14025304c]
mov ecx, eax
and ecx, r8d
shl ecx, 1
add eax, r8d
sub eax, ecx
imul eax, eax, 0x7d6a7de3
and eax, 0x7cb31967
xor ecx, ecx
sub ecx, 0xea42c185
sub eax, ecx
mov ecx, 0x2ef7d4c
xor ecx, 0xfe3f0dbf
mov dword [rsp + 0x4c], edx
cmp eax, ecx
je 0x14012c7c3
mov ecx, dword [rsp + 0x4c]
xor eax, eax
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
jmp 0x14012c822
mov ecx, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], ecx
cmp rax, 8
je 0x14012c886
mov rax, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
mov edx, r9d
shr edx, 1
and r9d, 1
mov r8d, 0x91400b7e
xor r8d, 0x91400b7e
mov ecx, 0x13420f3d
xor ecx, 0xfefa8c1d
cmp r9d, 0
cmove ecx, r8d
xor ecx, edx
add rax, 1
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rax
jmp 0x14012c822
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x38]
mov dword [rsp + rcx*4 + 0x80], eax
mov rax, rcx
and rax, 1
or rcx, 1
add rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x14012c6ec
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
cmp rax, 0x100
je 0x14012cc60
mov ecx, dword [0x140253050]
mov eax, dword [0x140253054]
xor eax, 0x83c90809
add ecx, eax
mov eax, 0xa828b725
xor eax, 0x748f767c
and ecx, eax
mov eax, 0xec0234e7
xor eax, 0x4d2ecc59
and ecx, eax
mov edx, 0xffffffff
xor edx, 0x7b76cdbf
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x1109a35b
xor ecx, 0x9501f5c6
cmp eax, ecx
ja 0x14012cc8a
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x140253058]
mov r8d, dword [0x14025305c]
mov edx, eax
xor edx, r8d
mov r9d, 0x82c037b7
xor r9d, 0x7d3fc848
xor edx, r9d
or eax, r8d
and eax, edx
mov edx, 0xd5796dfe
xor edx, 0x8257ed55
xor eax, edx
mov edx, eax
xor edx, 0xb9837e9f
mov r8d, 0x4ce38a57
xor r8d, 0xb31c75a8
xor edx, r8d
or eax, 0xb9837e9f
and eax, edx
xor eax, 0xde469f39
mov r8d, dword [rsp + rcx*4 + 0x80]
mov edx, r8d
shr edx, 8
xor r8d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xff
mov r9d, 0xa7ae61b0
xor r9d, 0x8aa57cb7
mov r11d, 0xee1fd6e3
xor r11d, 0x11e0291c
xor r9d, r11d
or r8d, r10d
or r9d, 0x2d0b1d07
xor r8d, 0xffffffff
and r8d, r9d
mov r8d, r8d
mov r9d, dword [rsp + r8*4 + 0x80]
mov r10d, edx
xor r10d, r9d
xor r10d, 0xffffffff
mov r8d, r9d
and r8d, r10d
shl r8d, 1
sub r8d, r9d
sub edx, r8d
mov dword [rsp + rcx*4 + 0x480], edx
mov ecx, 0xbd7ffbc6
xor ecx, 0xbd7ffbce
mov r9d, edx
shr r9d, cl
mov rcx, qword [rsp + 0x28]
and edx, 0xff
mov edx, edx
mov r8d, dword [rsp + rdx*4 + 0x80]
mov r10d, r9d
and r10d, r8d
mov edx, 0xbb424b38
xor edx, 0xbb424b3a
imul edx, r10d
add r9d, r8d
sub r9d, edx
mov dword [rsp + rcx*4 + 0x880], r9d
mov ecx, 0x9242b726
xor ecx, 0x9242b72e
mov r8d, r9d
shr r8d, cl
mov rcx, qword [rsp + 0x28]
mov edx, r9d
xor edx, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xff
or edx, r10d
xor r9d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xff
or r9d, r10d
xor edx, 0xffffffff
xor r9d, 0xffffffff
or edx, r9d
mov edx, edx
mov r10d, dword [rsp + rdx*4 + 0x80]
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or edx, r9d
mov r9d, 0xd52ac057
xor r9d, 0x2ad53fa8
xor edx, r9d
mov r11d, 0x46bba96d
xor r11d, 0xb9445692
mov r9d, r10d
xor r9d, r11d
or edx, r9d
mov r11d, 0xc5864da3
xor r11d, 0x3a79b25c
mov r9d, r10d
xor r9d, r11d
xor r10d, 0xffffffff
or r9d, r10d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
mov dword [rsp + rcx*4 + 0xc80], edx
mov ecx, 0xa5394e05
xor ecx, 0xa5394e0d
mov r8d, edx
shr r8d, cl
mov rcx, qword [rsp + 0x28]
mov r9d, 0x7fb8c9ba
xor r9d, 0x7fb8c945
and edx, r9d
mov edx, edx
mov r10d, dword [rsp + rdx*4 + 0x80]
mov edx, r8d
and edx, edx
mov r9d, 0x26d45701
xor r9d, 0xd92ba8fe
xor edx, r9d
and edx, r10d
xor edx, 0xffffffff
mov r9d, r10d
xor r9d, 0xffffffff
mov r11d, 0xae444501
xor r11d, 0x51bbbafe
xor r10d, r11d
or r9d, r10d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and edx, r8d
xor edx, 0xffffffff
mov dword [rsp + rcx*4 + 0x1080], edx
mov ecx, 0xea24113d
xor ecx, 0xea241135
mov r8d, edx
shr r8d, cl
mov rcx, qword [rsp + 0x28]
and edx, 0xff
mov edx, edx
mov r9d, dword [rsp + rdx*4 + 0x80]
mov edx, 0x7eb67aa5
xor edx, 0x8149855a
mov r10d, r8d
xor r10d, edx
mov edx, r9d
and edx, r10d
mov r10d, 0x6fa915a5
xor r10d, 0x9056ea5a
xor r9d, r10d
and r8d, r9d
or edx, r8d
mov dword [rsp + rcx*4 + 0x1480], edx
mov ecx, 0x4c2f3ef5
xor ecx, 0x4c2f3efd
mov r8d, edx
shr r8d, cl
mov rcx, qword [rsp + 0x28]
and edx, 0xff
mov edx, edx
mov r9d, dword [rsp + rdx*4 + 0x80]
mov edx, r8d
and edx, r9d
shl edx, 1
add r8d, r9d
sub r8d, edx
mov dword [rsp + rcx*4 + 0x1880], r8d
mov ecx, 0x259fd322
xor ecx, 0x259fd32a
mov edx, r8d
shr edx, cl
mov rcx, qword [rsp + 0x28]
mov r9d, 0x997a8d89
xor r9d, 0x997a8d76
and r8d, r9d
mov r8d, r8d
xor edx, dword [rsp + r8*4 + 0x80]
mov dword [rsp + rcx*4 + 0x1c80], edx
add rcx, 1
mov qword [rsp + 0x20], rcx
cmp eax, 0x3f430716
jbe 0x14012cc8a
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
jmp 0x14012c8ae
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov r8d, 0x2000
call fcn.14012cc93
nop
add rsp, 0x2088
ret
ret 0x8d5e
invalid