Function at 0x140043570
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x28], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
call fcn.14007cedb
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x60], 0
jne 0x140043442
mov eax, dword [0x140274138]
imul eax, dword [0x14027413c]
xor eax, 0x3965bc9a
sub eax, 0x19fb0de4
or eax, 0xebaf17b8
cmp eax, 0x461144cb
jbe 0x14004355d
mov eax, dword [0x140274140]
mov edx, dword [0x140274144]
xor edx, 0xcc23d4aa
mov ecx, eax
xor ecx, edx
not ecx
or eax, edx
and eax, ecx
imul rax, rax, 0x40dddf41
shr rax, 0x3e
imul eax, eax, 0x2df87228
xor eax, 0xfd223398
mov dword [rsp + 0x24], eax
mov ecx, dword [0x1402980b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rcx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x24]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
cmp eax, 0x5e89f91f
jb 0x14004355d
jmp 0x140043442
mov ecx, dword [0x140274148]
mov eax, dword [0x14027414c]
mov edx, 0x388eda5a
xor edx, 0x82d07cbc
xor eax, edx
mov edx, 0x6d5324e2
xor edx, 0xb2417dbf
sub ecx, edx
sub ecx, eax
add ecx, 0xdf12595d
mov eax, 0xff586d2f
xor eax, 0x34216add
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xa423dd45
mov r8d, 0x8a73aa09
xor r8d, 0x2e50774c
mov eax, 0xad3ca7b1
xor eax, 0x52c3584e
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xa423dd45
or ecx, 0xa423dd45
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xd0379c44
mov edx, 0xad307e45
xor edx, 0x52cf81ba
xor eax, edx
and ecx, 0xd0379c44
mov edx, 0x5fdc33f6
xor edx, 0xa023cc09
xor ecx, edx
and eax, ecx
mov ecx, 0xe5940779
xor ecx, 0x1a6bf886
xor eax, ecx
cmp eax, 0xb5cc6753
je 0x140043566
mov ecx, dword [0x140274150]
mov edx, dword [0x140274154]
xor edx, 0xc28e2214
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0x557b8050
xor ecx, 0xcbded725
sub eax, ecx
mov ecx, eax
xor ecx, 0xa5032007
mov edx, 0x4e750e4f
xor edx, 0xb18af1b0
xor ecx, edx
or eax, 0xa5032007
and eax, ecx
mov ecx, 0x67c0950a
xor ecx, 0xe3f8533b
sub eax, ecx
cmp eax, 0x8a7eba
jb 0x140043566
add rsp, 0x38
ret
wait
or eax, 0x74e9b0db
invalid
test eax, ebx
movabs al, byte [0x4890ffffff8ee99c]
sub rsp, 0x68
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov ecx, dword [0x140274158]
mov eax, dword [0x14027415c]
mov edx, 0xabb10aaf
xor edx, 0xb9f15be4
xor eax, edx
sub ecx, eax
or ecx, 0xe3d397
mov edx, 0xf9d768b4
xor edx, 0x3cbb9ee8
mov eax, ecx
and eax, edx
or ecx, 0xc56cf65c
add eax, ecx
imul eax, eax, 0x90e7edc4
cmp eax, 0xc76c84e
je 0x140043997
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140274160]
mov r9d, dword [0x140274164]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0xc9171ee9
xor edx, 0xc9171ee9
mov r8d, 0xe9a74fb0
xor r8d, 0xa19e1b97
sub edx, r8d
sub eax, edx
mov edx, 0x1d917c8
xor edx, 0x361efce6
imul eax, edx
mov edx, 0xb23a67bb
xor edx, 0x459c440
and eax, edx
mov r9, qword [rcx]
movabs rdx, 0x2c183c13bec9b77c
movabs rcx, 0xd3e7c3ec41364883
xor rdx, rcx
movabs rcx, 0x657ffdeeed48ec21
movabs r8, 0x9a80021112b713de
xor rcx, r8
xor rdx, rcx
movabs rcx, 0x3a8bc2ab4c31214b
movabs r8, 0x3a8bc2ab4c31214b
xor rcx, r8
movabs r8, 0xbcedb44fe1255863
movabs r10, 0xbcedb44fe1255862
xor r8, r10
sub rcx, r8
sub rdx, rcx
mov rcx, r9
sub rcx, rdx
mov qword [rsp + 0x48], rcx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r10, 0xbc319f799ba55b05
movabs r8, 0x43ce6086645aa4fa
xor r10, r8
mov r8, rcx
xor r8, r10
and rdx, r8
movabs r10, 0x6fab78c149f66e0b
movabs r8, 0x9054873eb60991f4
xor r10, r8
mov r8, r9
xor r8, r10
movabs r11, 0xbc951ba12dcfbabc
movabs r10, 0x436ae45ed2304543
xor r11, r10
mov r10, r9
xor r10, r11
and r8, r10
movabs r10, 0x2f90f83b19e1a33f
movabs r11, 0xd06f07c4e61e5cc0
xor r10, r11
xor rdx, r10
xor r8, 0xffffffffffffffff
and rdx, r8
mov r8, rcx
or r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0xa539a459b66191fd
movabs r10, 0x5ac65ba6499e6e02
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rsp + 0x57], cl
cmp eax, 0xdbc5a85c
jae 0x1400435c7
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1400437a9
jmp 0x14004378c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
add rcx, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
jmp 0x1400437b3
call fcn.14000f24b
jmp 0x140043992
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jl 0x140043985
mov rax, qword [rsp + 0x30]
cmp rax, 0
jl 0x1400438b2
mov eax, dword [0x140274168]
mov ecx, 0xdd3c7ef3
xor ecx, 0x3c74d1d0
xor eax, ecx
mov edx, dword [0x14027416c]
xor ecx, ecx
sub ecx, edx
add eax, ecx
imul eax, eax, 0x9378ac42
mov ecx, eax
xor ecx, 0x2dad034a
mov edx, 0xffffffff
xor edx, 0x2dad034a
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x3b79301f
xor edx, edx
div ecx
cmp eax, 0xab598a69
je 0x1400439a0
mov rcx, qword [rsp + 0x30]
mov edx, dword [0x140274170]
mov eax, dword [0x140274174]
xor eax, 0x9996fca4
and edx, eax
mov r8d, 0x66125c95
xor r8d, 0x537845da
mov eax, edx
and eax, r8d
xor edx, 0x356a194f
or eax, edx
mov edx, 0xe2c53652
xor edx, 0xe2c53652
mov r8d, 0x5134efa9
xor r8d, 0x19245238
sub edx, r8d
sub eax, edx
mov r8d, 0x847ad88
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x7fb3bc2b
je 0x14004382d
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400438bf
jmp 0x1400438b2
mov rcx, rdx
call fcn.1400292ad
jmp 0x140043992
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
call fcn.140043380
mov rcx, qword [rsp + 0x30]
movabs rdx, 0x5c64be24e1efc9e2
movabs rax, 0x5c64be24e1efc9e2
xor rdx, rax
movabs rax, 0x4caa5f8ae607b8b8
movabs r8, 0xb355a07519f84747
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
or rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0
setne dl
mov cl, dl
xor cl, 0xff
mov r9b, r8b
xor r9b, 0xff
or cl, r9b
xor dl, 0xff
xor r9d, r9d
xor r9b, 1
xor r8b, r9b
or dl, r8b
and cl, dl
xor cl, 0xff
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x14004397b
jmp 0x1400437b3
call fcn.14000f24b
jmp 0x140043992
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
add rsp, 0x68
ret
pop rax
push r9
xchg edx, eax
jmp 0x1400435c7
mov ch, 0x9e
fldenv [rsi - 0x17]
test dh, bh
invalid