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

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x98], rcx
mov eax, dword [0x1402a99b8]
or eax, dword [0x1402a99bc]
imul eax, eax, 0x5b138d06
mov ecx, 0x9b295dea
xor ecx, 0x3e02a212
imul eax, ecx
mov ecx, 0x3044c371
xor ecx, 0x74c0fe0d
or eax, ecx
cmp eax, 0xb8ca828f
jb 0x14003d43a
mov eax, dword [0x1402a99c0]
xor eax, dword [0x1402a99c4]
mov ecx, 0xd26d5e28
xor edx, edx
div ecx
mov ecx, 0x14a9bdfb
xor ecx, 0xe13481f
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4a128717
mov r8d, 0x2c514c00
xor r8d, 0x6643cb17
mov ecx, 0x61c20d81
xor ecx, 0x9e3df27e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4a128717
mov r8d, 0xab112678
xor r8d, 0xe103a16f
or eax, r8d
imul eax, edx
add eax, ecx
mov dword [rsp + 0x84], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x98]
mov rdx, rax
mov eax, dword [rsp + 0x84]
add rdx, 0x60
mov qword [rsp + 0x88], rdx
cmp qword [rcx], 0
setg cl
mov byte [rsp + 0x97], cl
cmp eax, 0xb9768095
ja 0x14003cee8
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14003cfb3
jmp 0x14003d3f8
mov rax, qword [rsp + 0x98]
add rax, 8
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x60], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x14003d3c5
mov eax, dword [0x1402a99c8]
xor eax, 0xfe52de8a
xor edx, edx
div dword [0x1402a99cc]
mov ecx, 0xbf65723
xor ecx, 0xb50103a
imul eax, ecx
mov ecx, 0x8ba7c110
xor ecx, 0x8f2ac122
imul eax, ecx
mov ecx, 0xed225829
xor ecx, 0xe2f04bed
sub eax, ecx
sub eax, 0x9e38b6b
add eax, 0xfd213c4
cmp eax, 0x534fb1ae
jb 0x14003d443
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1402a99d0]
mov edx, dword [0x1402a99d4]
xor edx, 0xf3b478b4
mov r8d, 0x7eae4d81
xor r8d, 0x8151b27e
xor edx, r8d
add eax, edx
add eax, 1
mov edx, 0x54d7ee55
xor edx, 0x96e9c625
mov r8d, eax
and r8d, edx
mov edx, 0x99eb9eb0
xor edx, 0x99eb9eb2
imul edx, r8d
mov r8d, 0x220d8499
xor r8d, 0xe033ace9
add eax, r8d
sub eax, edx
mov r8d, 0x26eb2225
xor r8d, 0xdd51a627
xor edx, edx
div r8d
sub eax, 0x9b7f829f
movabs rdx, 0x962bdfa01a774992
sub rcx, rdx
add rcx, 0xfffffffffffffff0
movabs rdx, 0x962bdfa01a774992
add rcx, rdx
mov qword [rsp + 0x48], rcx
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
movabs rdx, 0x62b2904e3f224adf
movabs r8, 0x62b2904e3f224acf
xor rdx, r8
cmp rcx, rdx
setb cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x79e8d906
je 0x14003d042
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14003d32e
jmp 0x14003d11f
mov ecx, dword [0x1402a99d8]
imul ecx, dword [0x1402a99dc]
mov eax, 0xd06b5249
xor eax, 0x2f94adb6
mov edx, ecx
xor edx, eax
and edx, 0x3b7ff3df
mov r8d, 0xffffffff
xor r8d, 0x3b7ff3df
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x3b7ff3df
or ecx, 0x3b7ff3df
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x37e90249
xor edx, 0x61ae556d
mov r8d, 0x46bde824
xor r8d, 0x10fabf00
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0x56475724
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0x2c18fe1a
mov edx, 0xe6c8e765
xor edx, 0xe6c8e767
imul ecx, edx
xor eax, 0x2c18fe1a
add eax, ecx
cmp eax, 0x731c3b46
je 0x14003d44c
mov r10, qword [rsp + 0x50]
mov ecx, dword [0x1402a99e0]
mov edx, dword [0x1402a99e4]
mov eax, 0x55bf885e
xor eax, 0xb777ab83
xor edx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
or eax, 0x7429aeed
or eax, 0x61354052
mov ecx, 0x4b551a29
xor ecx, 0xc6b28914
xor eax, ecx
mov ecx, 0xb4bef19b
xor ecx, 0x3fdadf8d
mov rdx, r10
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x38], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs r11, 0xaa3d610fe7ed4fd8
movabs r9, 0x55c29ef01812b027
xor r11, r9
mov r9, rdx
xor r9, r11
and r8, r9
mov r9, r10
or r9, r9
xor r9, 0xffffffffffffffff
movabs r11, 0x1857234c8cc17f85
movabs rsi, 0xe7a8dcb3733e807a
xor r11, rsi
xor r8, r11
movabs r11, 0xfaafd684e2b7fafc
movabs rsi, 0x550297b1d480503
xor r11, rsi
xor r9, r11
and r8, r9
mov r9, rdx
or r9, r10
movabs r10, 0x826e59aedf56035c
movabs r11, 0x7d91a65120a9fca3
xor r10, r11
xor r9, r10
xor r8, 0xffffffffffffffff
movabs r10, 0xe6d1a2d4909cb2ad
movabs r11, 0x192e5d2b6f634d52
xor r10, r11
xor r9, r10
and r8, r9
cmp r8, 0
setl r9b
cmp rdx, 0xffffffffffffffff
setg r8b
xor r9b, 0xff
mov dl, r8b
xor dl, r9b
and dl, r8b
mov byte [rsp + 0x47], dl
cmp eax, ecx
jbe 0x14003d1c8
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14003d312
jmp 0x14003d31c
call fcn.14000ee80
jmp 0x14003d3c5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
jmp 0x14003d3c5
mov rcx, qword [rsp + 0x68]
call fcn.1400af060
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov cl, 0x85
xor cl, 0x85
cmp al, cl
jne 0x14003d430
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
movabs rdx, 0x6e21ecbd047b4f8b
movabs r8, 0x6e21ecbd047b4f8b
xor rdx, r8
movabs r8, 0x947885b4326922d8
movabs r9, 0x947885b4326922d9
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x60]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
cmp rax, qword [rcx]
mov qword [rsp + 0x78], rax
jl 0x14003cfcb
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x14003d430
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
nop
add rsp, 0xa0
pop rsi
ret
insb byte [rdi], dx
mov ecx, 0xfaa5e977
invalid
jl 0x14003d3f8
pop rbp
jmp 0x14003d042
invalid