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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x180
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xf0], xmm8
movaps xmmword [rbp + 0xe0], xmm7
movaps xmmword [rbp + 0xd0], xmm6
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xc8], rcx
mov eax, dword [0x140273738]
mov ecx, dword [0x14027373c]
xor ecx, 0x6e9d8a49
or eax, ecx
mov ecx, eax
xor ecx, 0x93f124bf
mov edx, 0xffffffff
xor edx, 0x93f124bf
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, 0x8ed75b9f
xor edx, 0xd77a4a5f
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x59ad11c0
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x5929d27c
xor ecx, 0x5c8a1d71
and eax, ecx
mov ecx, 0x2702f272
xor ecx, 0xb00c8a63
cmp eax, ecx
je 0x140030e57
mov eax, dword [0x140273740]
mov ecx, dword [0x140273744]
xor eax, ecx
add eax, 0xce9fd46f
and eax, 0x2328f7f7
add eax, 0x20a96b9
mov dword [rbp + 0xa4], eax
mov eax, 0x20
mov qword [rbp + 0x88], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xc0]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xa4]
add r8, 0x60
mov qword [rbp + 0xa8], r8
mov rcx, qword [rcx]
mov qword [rbp + 0xb0], rcx
cmp rcx, rdx
setg cl
mov byte [rbp + 0xbf], cl
cmp eax, 0x99c20ccc
ja 0x140030295
mov al, byte [rbp + 0xbf]
test al, 1
jne 0x140030359
jmp 0x140030379
mov rdx, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc8]
sub rsp, 0x20
call fcn.14002fd50
add rsp, 0x20
jmp 0x140030e36
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc0]
cmp rax, rcx
jge 0x140030e36
mov rax, qword [rbp + 0xc8]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
cmp rax, 0
je 0x1400303eb
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
movabs rdx, 0x6e7ccbc18e6a0a19
movabs r8, 0xd183343e7195f5e6
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x140030796
mov ecx, dword [0x140273748]
sub ecx, dword [0x14027374c]
mov eax, 0x495bcbb1
xor eax, 0x56476c6
sub ecx, eax
mov eax, 0x9c037c32
xor eax, 0xf0f52a33
sub ecx, eax
add ecx, 0x4c3fbd77
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x6b636bb6
mov r8d, 0xffffffff
xor r8d, 0x6b636bb6
and edx, r8d
or eax, edx
mov edx, 0x747fc59b
xor edx, 0x8b803a64
xor eax, edx
or ecx, 0x6b636bb6
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xb79e9063
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb79e9063
or eax, 0xb79e9063
imul eax, edx
add eax, ecx
mov ecx, 0xbb36d4a3
xor ecx, 0x61cfd79e
cmp eax, ecx
je 0x140030e60
mov r9, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [0x140273750]
mov ecx, dword [0x140273754]
mov r8d, 0x4045c8fb
xor r8d, 0x5b08e78e
xor ecx, r8d
imul eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x714a4698
mov r10d, 0xffffffff
xor r10d, 0x714a4698
mov ecx, eax
and ecx, r10d
imul ecx, r8d
mov r8d, eax
and r8d, 0x714a4698
mov r10d, 0x58d310d1
xor r10d, 0x29995649
or eax, r10d
imul eax, r8d
add eax, ecx
mov ecx, 0x4763b340
xor ecx, 0xb89c4cbf
mov r8d, eax
xor r8d, ecx
and r8d, 0xa9faad13
mov r10d, 0xffffffff
xor r10d, 0xa9faad13
mov ecx, eax
and ecx, r10d
imul ecx, r8d
mov r8d, eax
and r8d, 0xa9faad13
or eax, 0xa9faad13
imul eax, r8d
add eax, ecx
xor eax, 0xf93344ec
mov rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, r9
movabs r10, 0xb1f869e72150d7b5
movabs r8, 0x4e079618deaf284a
xor r10, r8
mov r8, r9
xor r8, r10
mov r10, rdx
and r10, r8
sub r10, rcx
mov qword [rbp + 0x68], r10
mov rcx, r10
xor rcx, rdx
cmp rcx, 0
setl cl
mov r8, r10
xor r8, 0xffffffffffffffff
movabs rdx, 0xda4d65c42d051382
movabs r11, 0x3dc2ed7335dd6d8c
xor rdx, r11
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xe78f88b718d87e0e
xor r11, r8
and r10, r11
movabs rsi, 0x816c0559ac008047
movabs r8, 0x7e93faa653ff7fb8
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x538684fc4630a082
movabs rdi, 0xb4090c4b5ee8de8c
xor rsi, rdi
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rbp + 0x77], cl
cmp eax, 0x4d3812e9
je 0x14003049b
mov al, byte [rbp + 0x77]
test al, 1
jne 0x140030784
jmp 0x140030637
mov eax, dword [0x140273758]
mov ecx, dword [0x14027375c]
xor ecx, 0x8dfa8859
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x2677cd24
mov r8d, 0xe94c4daf
xor r8d, 0xcf3b808b
mov ecx, 0x14882595
xor ecx, 0xeb77da6a
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x6f12fe1b
xor r8d, 0x4965333f
mov edx, eax
and edx, r8d
or eax, 0x2677cd24
imul eax, edx
add eax, ecx
mov ecx, 0x3e216652
xor ecx, 0xb6ddaca7
imul eax, ecx
xor eax, 0x7e7a947a
mov ecx, 0x79e0887c
xor ecx, 0x237d7b69
cmp eax, ecx
jb 0x140030e69
mov r8, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xb0]
mov eax, dword [0x140273760]
xor eax, 0x89c405e6
xor edx, edx
div dword [0x140273764]
mov rdx, qword [rbp + 0x80]
mov r9d, eax
mov eax, 0xab80c07e
xor eax, 0xcb5c8dbb
add r9d, eax
mov r10d, 0x54b3f747
xor r10d, 0xab4c08b8
mov eax, r9d
xor eax, r10d
mov r10d, 0xffffffff
xor r10d, 0x3fed2e40
and eax, r10d
or r9d, 0x3fed2e40
mov r10d, 0x9961135a
xor r10d, 0x669eeca5
xor r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
and eax, 0x5da49618
mov dword [rbp + 0x64], eax
mov eax, 0x272c6f0a
xor eax, 0xfd0eb695
mov dword [rbp + 0x60], eax
mov r9d, 0x18
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rdx, qword [rbp + 0x78]
mov ecx, dword [rbp + 0x60]
add rsp, 0x30
mov r8, rax
mov eax, dword [rbp + 0x64]
mov qword [rdx], r8
cmp eax, ecx
jae 0x1400306bd
jmp 0x140030796
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140030e36
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xc0]
mov qword [rcx], rdx
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x58]
mov qword [rbp], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
add rsp, 0x20
movaps xmm0, xmmword [0x140281b10]
movaps xmm1, xmmword [0x140281b20]
movaps xmm2, xmmword [0x140281b30]
movaps xmm3, xmmword [0x140281b40]
xor eax, eax
mov qword [rbp + 8], rax
movaps xmmword [rbp + 0x10], xmm3
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm1
movaps xmmword [rbp + 0x40], xmm0
jmp 0x140030808
mov rax, qword [rbp + 8]
movaps xmm2, xmmword [rbp + 0x10]
movaps xmm7, xmmword [rbp + 0x20]
movaps xmm8, xmmword [rbp + 0x30]
movaps xmm5, xmmword [rbp + 0x40]
movaps xmmword [rbp - 0x60], xmm5
movaps xmmword [rbp - 0x50], xmm8
movaps xmmword [rbp - 0x40], xmm7
movaps xmmword [rbp - 0x30], xmm2
mov qword [rbp - 0x18], rax
movaps xmm6, xmmword [0x140281b50]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm3, xmmword [0x140281b50]
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm4, xmmword [0x140281b60]
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp - 0x10], xmm1
movd eax, xmm0
test al, 1
jne 0x14003090e
jmp 0x14003091d
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x18]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x10]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140030935
jmp 0x14003095a
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x18]
mov rdx, rcx
and rdx, 1
xor rdx, 0xffffffffffffffff
add rcx, 1
add rcx, 1
add rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 2
test al, 1
jne 0x140030970
jmp 0x140030a46
mov eax, dword [0x140273768]
sub eax, dword [0x14027376c]
imul eax, eax, 0x6126cdb1
mov ecx, 0x92cef8ad
xor edx, edx
div ecx
mov ecx, 0x847aba51
xor edx, edx
div ecx
mov ecx, 0xf1104329
xor ecx, 0xb4e1ef5
cmp eax, ecx
ja 0x140030e72
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x140273770]
mov r8d, dword [0x140273774]
xor r8d, 0xae1c2b74
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x18]
mov r8d, eax
xor eax, eax
sub eax, 0x6c01612b
add r8d, eax
mov eax, r8d
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xdae62426
or eax, r9d
mov r9d, 0xdae62426
and r9d, 0xdae62426
xor r9d, 0xffffffff
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and eax, r8d
mov r8d, 0x3d1ce5d8
xor r8d, 0xc2e31a27
xor eax, r8d
sub eax, 0xe2f9d507
or rdx, 2
mov r8b, 0x85
xor r8b, 0x85
mov byte [rcx + rdx], r8b
cmp eax, 0x1ed61fb1
jb 0x1400309a7
jmp 0x140030a46
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 3
test al, 1
jne 0x140030a5c
jmp 0x140030a6f
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x18]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 4
test al, 1
jne 0x140030a85
jmp 0x140030ab8
mov rax, qword [rbp + 0x90]
mov rdx, qword [rbp - 0x18]
movabs r8, 0xacfb8faf2adb81b3
movabs rcx, 0xacfb8faf2adb81b7
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rdx, 4
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 5
test al, 1
jne 0x140030ace
jmp 0x140030b11
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x18]
mov r8, 0xffffffffffffffff
xor r8, 5
mov rdx, rcx
and rdx, r8
movabs r9, 0xd2dbb488fcdd5073
movabs r8, 0xd2dbb488fcdd5076
xor r9, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 6
test al, 1
jne 0x140030b27
jmp 0x140030b3e
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp - 0x18]
or rcx, 6
mov dl, 0xe7
xor dl, 0xe7
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x10]
pextrw eax, xmm0, 7
test al, 1
jne 0x140030b54
jmp 0x140030b75
mov rax, qword [rbp + 0x90]
mov rdx, qword [rbp - 0x18]
mov rcx, rdx
and rcx, 7
xor rdx, 7
or rcx, rdx
mov dl, 0x57
xor dl, 0x57
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
movaps xmm2, xmmword [rbp - 0x40]
movaps xmm3, xmmword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
add rax, 8
movaps xmm8, xmmword [0x140281b70]
movaps xmmword [rbp - 0x70], xmm8
movaps xmm7, xmm3
pand xmm7, xmm8
movaps xmm6, xmm2
pand xmm6, xmm8
movaps xmm5, xmm1
pand xmm5, xmm8
movaps xmm4, xmm0
pand xmm4, xmm8
paddq xmm4, xmm4
paddq xmm5, xmm5
paddq xmm6, xmm6
paddq xmm7, xmm7
pxor xmm0, xmm8
pxor xmm1, xmm8
pxor xmm2, xmm8
pxor xmm3, xmm8
paddq xmm3, xmm7
paddq xmm2, xmm6
paddq xmm1, xmm5
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x18
mov qword [rbp + 8], rax
movaps xmmword [rbp + 0x10], xmm3
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm1
movaps xmmword [rbp + 0x40], xmm0
jne 0x140030808
jmp 0x140030c14
mov rdx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x90]
mov r8, qword [rbp]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140073ae4
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe
xor cl, 0xe
cmp al, cl
jne 0x140030cd7
mov rdx, qword [rbp]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov qword [rbp - 0x78], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0x90f9990dc65f4c19
movabs rdx, 0x90f9990dc65f4c19
xor rcx, rdx
cmp rax, rcx
jge 0x140030e19
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
mov eax, dword [0x140273778]
or eax, dword [0x14027377c]
mov ecx, eax
xor ecx, 0x76f364d3
xor ecx, 0xffffffff
mov edx, 0xa4312c8b
xor edx, 0xd2c24858
and edx, ecx
mov ecx, 0xecebadf5
xor ecx, 0xecebadf7
imul ecx, edx
sub ecx, 0x76f364d3
sub eax, ecx
mov ecx, 0x9db49945
xor ecx, 0x624b66ba
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xc2cdcd3b
mov ecx, 0x329ad6b9
xor ecx, 0x7b9bca0d
mov r8d, 0x574c8a73
xor r8d, 0xa8b3758c
xor ecx, r8d
or eax, edx
or ecx, 0x49011cb4
xor eax, 0xffffffff
and eax, ecx
mov r8d, 0xd92e42c
xor r8d, 0xcc52c91a
mov ecx, 0x939c1129
xor ecx, 0x6c63eed6
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc1c02d36
mov r8d, 0x5ba706
xor r8d, 0xc19b8a30
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x7e26bdc6
xor ecx, 0x1ad9c997
cmp eax, ecx
je 0x140030e7b
mov ecx, dword [0x140273780]
mov edx, dword [0x140273784]
mov eax, 0xc067355f
xor eax, 0xc067355f
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov edx, 0x5613f697
xor edx, 0x759cf0b7
mov eax, ecx
and eax, edx
mov edx, 0xc1874cb9
xor edx, 0xe2084a99
xor ecx, edx
or eax, ecx
imul eax, eax, 0xcbfb8a4a
mov ecx, 0x6ef17301
xor ecx, 0x7cd31787
xor edx, edx
div ecx
mov ecx, 0x96b55b39
xor ecx, 0xf032046
cmp eax, ecx
ja 0x140030dac
jmp 0x140030e36
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp + 0xc0]
cmp rax, rcx
mov qword [rbp + 0x58], rax
je 0x140030cd7
jmp 0x1400307b2
movaps xmm6, xmmword [rbp + 0xd0]
movaps xmm7, xmmword [rbp + 0xe0]
movaps xmm8, xmmword [rbp + 0xf0]
lea rsp, [rbp + 0x100]
pop rdi
pop rsi
pop rbp
ret
invalid
fisttp word [rbp - 0x11]
jmp 0x14003049b
and al, 0x1f
xchg r14d, eax
jmp 0x1400306bd
pop rax
cmp ebp, dword [rdi - 0x17]
sub al, 0xfb
invalid
jno 0x140030ee6
sub dword [rbx], esp
jmp 0x140030dac
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14002fd50
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x1400301f0
add byte [rax], al
add byte [rax + 0x48], al
mov eax, ecx