Function at 0x14001cfd0
Capabilities:
Encode data using xor
Get thread local storage value

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov eax, dword [0x1402a8c58]
mov r8d, dword [0x1402a8c5c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0xd6b9f6e8
xor ecx, 0x29460917
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x14c44110
add eax, 0xa794a11d
imul eax, eax, 0xd83bc438
cmp eax, 0x440267c2
jb 0x14001d882
mov eax, dword [0x1402a8c60]
and eax, dword [0x1402a8c64]
sub eax, 0x19489f23
mov ecx, 0xdbd5a406
xor edx, edx
div ecx
and eax, 0xbdf0f617
mov dword [rsp + 0xa4], eax
mov eax, 0xe860a6e9
xor eax, 0xe72e428a
mov dword [rsp + 0xa0], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x98], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rsp + 0xa0]
mov eax, dword [rsp + 0xa4]
mov r8, rdx
add r8, 0x20
mov qword [rsp + 0xa8], r8
mov r8, qword [rdx + 0x20]
mov qword [rsp + 0xb0], r8
movabs r9, 0xc9584a6f136dcd0e
mov rdx, r8
add rdx, r9
add rdx, 1
movabs r9, 0x379c4de1af68a3e6
movabs r10, 0xfec4078ebc056ee8
xor r9, r10
sub rdx, r9
mov qword [rsp + 0xb8], rdx
movabs r9, 0x37cc1aea1cf88dc2
movabs r10, 0xc833e515e307723d
xor r9, r10
xor r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0xc7], dl
cmp eax, ecx
je 0x14001d03f
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x14001d144
jmp 0x14001d14e
call fcn.14000ee80
jmp 0x14001d879
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xb8]
mov qword [rdx + 8], r8
mov rdx, rcx
add rdx, 0x30
mov qword [rsp + 0x80], rdx
mov rcx, qword [rcx + 0x30]
cmp rcx, 0
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
jne 0x14001d3bb
mov eax, dword [0x1402a8c68]
xor edx, edx
div dword [0x1402a8c6c]
mov ecx, 0x6a104bde
xor edx, edx
div ecx
mov ecx, 0x3669ba42
xor ecx, 0x27eb39bf
imul eax, ecx
and eax, 0x7c82ed31
cmp eax, 0xb8c29833
je 0x14001d88b
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
mov edx, dword [0x1402a8c70]
xor edx, 0x46e9b7b6
mov r9d, dword [0x1402a8c74]
mov r8d, 0x17df9383
xor r8d, 0xe1952f38
xor r9d, r8d
mov r8d, r9d
and r8d, edx
mov r10d, 0xde3a09cf
xor r10d, 0x21c5f630
xor r8d, r10d
add edx, r9d
add edx, 1
add edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xc484e479
mov r9d, 0xd8d675fc
xor r9d, 0x1c529185
mov r10d, 0xfb6a0e76
xor r10d, 0x495f189
xor r9d, r10d
and edx, r9d
or r8d, edx
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0xf33e10b7
mov r10d, 0xffffffff
xor r10d, 0xf33e10b7
mov edx, r8d
and edx, r10d
imul edx, r9d
mov r10d, 0xde963e98
xor r10d, 0x2da82e2f
mov r9d, r8d
and r9d, r10d
or r8d, 0xf33e10b7
imul r8d, r9d
add r8d, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
mov r9d, 0xffffffff
xor r9d, 0x7aa6e4af
mov r10d, 0x19160850
xor r10d, 0x63b0ecff
mov r11d, 0x45bdc9a4
xor r11d, 0xba42365b
xor r10d, r11d
and r9d, r10d
mov r10d, 0xd751e460
xor r10d, 0x28ae1b9f
xor edx, r10d
xor r9d, 0xffffffff
and edx, r9d
xor r8d, 0xffffffff
mov r9d, 0x717c8864
xor r9d, 0xbda6ccb
mov r10d, 0x6c6d7e9f
xor r10d, 0x93928160
xor r9d, r10d
and r8d, r9d
or edx, r8d
mov r8d, 0x59959703
xor r8d, 0xa66a68fc
xor edx, r8d
mov dword [rsp + 0x6c], edx
mov qword [rcx], 0
mov qword [rax + 0x28], 0x400
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
add rcx, 0x68
movabs rdx, 0xea2302c8e022acaa
movabs rax, 0xea2302c8e022ecaa
xor rdx, rax
call fcn.140013e80
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
mov r8, rax
mov eax, dword [rsp + 0x6c]
mov qword [rsp + 0x70], r8
mov qword [rdx], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x78], rcx
cmp eax, 0xb75f31c8
jbe 0x14001d88b
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
jmp 0x14001d3bb
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
cmp qword [rdx + 0x28], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jg 0x14001d414
mov rcx, qword [rsp + 0xa8]
call fcn.140018352
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov eax, dword [0x1402a8c78]
mov r8d, dword [0x1402a8c7c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x58d2c43b
sub eax, ecx
or eax, 0x78d41cf1
mov ecx, eax
and ecx, 0x24a40c4
xor ecx, 0xffffffff
add eax, 0x24a40c4
add eax, 1
add eax, ecx
cmp eax, 0xc4509941
jae 0x14001d894
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x50]
mov r10, qword [rsp + 0xd0]
mov r9d, dword [0x1402a8c80]
mov r11d, dword [0x1402a8c84]
mov eax, r9d
and eax, r11d
xor r9d, r11d
or eax, r9d
mov r9d, 0xc0e3103b
xor r9d, 0x97510591
and r9d, eax
xor r9d, 0xffffffff
mov r11d, 0x4ac85889
xor r11d, 0x1d7a4d23
add eax, r11d
mov r11d, 0xfafa4014
xor r11d, 0xfafa4015
add eax, r11d
add eax, r9d
and eax, 0x74b1fa1f
mov r9d, eax
and r9d, 0x513478b6
mov r11d, 0x5c491d68
xor r11d, 0x5c491d6a
imul r9d, r11d
xor eax, 0x513478b6
add eax, r9d
mov r11, rcx
shl r11, 4
mov r9, rdx
add r9, r11
mov qword [r9], r10
mov r9, rcx
shl r9, 4
add rdx, r9
add rdx, 8
mov qword [rdx], r8
mov rdx, rcx
add rdx, 1
mov qword [rsp + 0x38], rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
and r8, r9
mov r9, 0xffffffffffffffff
or r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0x40a5439b2424f267
movabs r10, 0xbf5abc64dbdb0d98
xor r9, r10
xor rcx, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
or r8, rcx
movabs rcx, 0x609ae68a41b0a03
movabs r9, 0xf9f651975be4f5fc
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0x8af958c817687452
movabs r9, 0x7506a737e8978bad
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x5d0a3d2b5918a9d
movabs r10, 0xfa2f5c2d4a6e7562
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xfd224e95
je 0x14001d894
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14001d62e
jmp 0x14001d648
call fcn.14000ee80
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
jmp 0x14001d65d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0x30]
mov rax, r8
add rax, 0xffffffffffffff80
mov qword [rsp + 0x28], rax
mov rcx, rax
or rcx, rcx
movabs rdx, 0x7a468a7c81b5efb2
movabs r9, 0x85b975837e4a104d
xor rdx, r9
xor rcx, rdx
mov rdx, r8
or rdx, rdx
movabs r9, 0xfe3e2979a56e40b6
movabs r10, 0x1c1d6865a91bf49
xor r9, r10
xor rdx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0x9427d1079aef9c7e
movabs r8, 0x6bd82ef865106381
xor rcx, r8
cmp rax, rcx
setg cl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
mov r8b, 1
xor r8b, 0
xor cl, r8b
mov r8b, 1
xor r8b, 0
xor dl, r8b
or cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14001d727
jmp 0x14001d731
call fcn.14000ee80
jmp 0x14001d879
mov ecx, dword [0x1402a8c88]
mov eax, dword [0x1402a8c8c]
mov edx, 0xff93e49e
xor edx, 0xa441f8e
xor eax, edx
add ecx, eax
mov eax, ecx
or eax, 0x40cbf48a
xor eax, 0xffffffff
mov edx, 0xd0d766d1
xor edx, 0x901c925b
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x316dc16b
xor edx, 0xce923e94
xor eax, edx
mov edx, 0x1d203fe9
xor edx, 0xe2dfc016
xor ecx, edx
and eax, ecx
imul eax, eax, 0x7f54bfb4
sub eax, 0xd4bbf769
cmp eax, 0xf500ad10
je 0x14001d89d
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x28]
mov eax, dword [0x1402a8c90]
mov ecx, dword [0x1402a8c94]
xor ecx, 0x4cf323a3
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, 0x34703fe2
xor r9d, 0x51cdb023
and ecx, r9d
mov r9d, 0x49c063a
xor r9d, 0x612189fb
mov r10d, 0xb515da9
xor r10d, 0xf4aea256
xor r9d, r10d
and eax, r9d
sub eax, ecx
sub eax, 0x38751a3e
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x96c7374e
mov r10d, 0xa211ab07
xor r10d, 0x34d69c49
mov ecx, 0x7672c3d5
xor ecx, 0x898d3c2a
xor r10d, ecx
mov ecx, eax
and ecx, r10d
imul ecx, r9d
mov r10d, 0x68311a16
xor r10d, 0xfef62d58
mov r9d, eax
and r9d, r10d
or eax, 0x96c7374e
imul eax, r9d
add eax, ecx
mov ecx, 0x4a2bb1fe
xor ecx, 0xd803ec19
cmp qword [rdx + 0x38], r8
setg dl
mov byte [rsp + 0x27], dl
cmp eax, ecx
je 0x14001d89d
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14001d879
jmp 0x14001d874
call fcn.14001bbf0
nop
add rsp, 0xd8
ret
outsd dx, dword [rsi]
in eax, dx
or ebp, ecx
mov ah, 0xf7
invalid
or ah, byte [rbp + 0x40e9fdc4]
stc
invalid
add byte [eip - 0x4141619], bh
invalid
int 0xb9
add ch, byte [rdx - 0x17]
invalid