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

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.140231723
add rsp, 0x20
mov qword [rbp + 8], rax
add rax, 0x50
mov qword [rbp - 0x10], rax
mov rax, qword [0x14025a2b0]
mov qword [rbp + 0x50], rax
mov rax, qword [0x14025a2b8]
mov qword [rbp + 0x58], rax
lea rcx, [0x1402cdfc8]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
mov ecx, 0x10
mov edx, 8
sub rsp, 0x20
call fcn.14001bdf0
add rsp, 0x20
mov qword [rbp], rax
lea rcx, [rbp + 0x40]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140023820
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov qword [rdx], rax
mov rax, qword [rbp + 0x48]
mov qword [rdx + 8], rax
mov rcx, qword [rcx]
add rcx, 0x20
sub rsp, 0x20
call fcn.14021dbcf
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x140231249
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14021e8e0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140231249
mov eax, dword [0x140250108]
xor edx, edx
div dword [0x14025010c]
mov ecx, 0xfe98c21d
xor edx, edx
div ecx
add eax, 0x4810a7a
mov ecx, eax
add ecx, 1
mov edx, 0x2a3988ae
xor edx, 0xd5c67751
xor eax, edx
mov edx, 0xcfb2a7b1
xor edx, 0x4a4f43c7
or eax, edx
add eax, ecx
cmp eax, 0x5a9aa835
ja 0x1402314de
mov rcx, qword [rbp - 8]
mov eax, dword [0x140250110]
xor eax, 0x7d4ee79f
mov r8d, dword [0x140250114]
xor r8d, 0x393d31ce
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
sub eax, 0xb0f6cd2d
and eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf3667e99
mov r8d, 0xffffffff
xor r8d, 0xf3667e99
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
sub eax, 0x4bdb2754
sub eax, 0x5878fbb
add eax, 0x4bdb2754
mov dword [rbp - 0x20], eax
sub rsp, 0x20
call fcn.140222f50
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x20]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0x39675d77
je 0x140230c4e
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140230cef
jmp 0x140231249
mov ecx, dword [0x140250118]
add ecx, dword [0x14025011c]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9c029c49
mov edx, 0xffffffff
xor edx, 0x9c029c49
and ecx, edx
sub ecx, eax
mov edx, 0xe6a96cf3
xor edx, 0x1956930c
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x9f11fd33
mov r8d, 0xffffffff
xor r8d, 0x9f11fd33
and edx, r8d
mov r8d, 0x5b819b3a
xor r8d, 0xa47e64c5
xor eax, r8d
mov r8d, 0x6c9a88e0
xor r8d, 0x9365771f
xor edx, r8d
and eax, edx
or ecx, 0x9f11fd33
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x4693a5d2
xor edx, 0xb96c5a2d
xor ecx, edx
and eax, ecx
mov ecx, 0x5248eb81
xor edx, edx
div ecx
cmp eax, 0xdb22a2d0
jae 0x1402314e7
mov rcx, qword [rbp - 8]
mov edx, dword [0x140250120]
mov r8d, dword [0x140250124]
mov r9d, 0xb96f4a83
xor r9d, 0x4690b57c
mov eax, edx
xor eax, r9d
mov r9d, r8d
xor r9d, 0xffffffff
or eax, r9d
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0x345d24ea
xor r8d, 0xcba2db15
xor eax, r8d
mov r8d, 0x4d268e70
xor r8d, 0xb2d9718f
xor edx, r8d
or eax, edx
mov edx, 0xa9462a21
xor edx, 0x56b9d5de
mov r8d, eax
xor r8d, edx
and r8d, 0xf07cacad
mov r9d, 0x90e2c5b8
xor r9d, 0x609e6915
mov edx, 0x96e9107a
xor edx, 0x6916ef85
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x77a785dd
xor r9d, 0x87db2970
mov r8d, eax
and r8d, r9d
or eax, 0xf07cacad
imul eax, r8d
add eax, edx
mov edx, 0xffffffff
xor edx, 0xcee7aa3c
add eax, edx
add eax, 1
imul eax, eax, 0x72536744
mov dword [rbp - 0x28], eax
sub rsp, 0x20
call fcn.14022a720
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x28]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x24
xor dl, 0x24
cmp cl, dl
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0x2d3642f6
jbe 0x1402314e7
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140230e9c
jmp 0x140231249
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14022c360
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140231249
mov eax, dword [0x140250128]
mov ecx, dword [0x14025012c]
mov edx, 0xcef91ae3
xor edx, 0x20f61fa5
xor ecx, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xa7719619
mov edx, 0x6d53074b
xor edx, 0x92acf8b4
xor eax, edx
and ecx, 0xa7719619
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xaa476917
xor ecx, 0x55b896e8
xor eax, ecx
sub eax, 0x95602a44
mov ecx, 0xff3e0f35
xor ecx, 0x77f7e90e
sub eax, ecx
cmp eax, 0xd118d742
je 0x1402314f0
mov r11d, dword [0x140250130]
xor r11d, 0x80437ec7
mov r10d, dword [0x140250134]
xor r10d, 0x90446468
mov eax, 0xad96cc52
xor eax, 0x526933ad
mov ecx, r11d
xor ecx, eax
mov eax, 0xc3bd15ff
xor eax, 0x3c42ea00
mov r8d, r10d
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xa1712798
mov eax, ecx
and eax, 0xa1712798
and r11d, edx
mov r9d, r8d
and r9d, 0xa1712798
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xa66cd373
xor r8d, 0x59932c8c
xor ecx, r8d
or edx, 0xa1712798
and ecx, edx
or eax, ecx
mov ecx, 0xac1090d6
xor edx, edx
div ecx
xor eax, 0xb44741a4
xor eax, 0x4fac545a
mov dword [rbp - 0x34], eax
mov ecx, 0x5c3
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0x34]
mov dword [rbp - 0x30], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0x72abd58
jb 0x1402314f0
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140230ffd
jmp 0x140231249
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1400856d0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0x30]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp + 0x38]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x140231249
mov ecx, dword [0x140250138]
mov edx, dword [0x14025013c]
xor edx, 0x14689c9d
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, edx
and ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xfaa38a40
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0xb08e802a
xor r8d, 0x4f717fd5
xor eax, r8d
imul eax, edx
mov r8d, 0x65374375
xor r8d, 0x9f94c935
mov edx, ecx
and edx, r8d
or ecx, 0xfaa38a40
imul ecx, edx
add ecx, eax
mov eax, 0x525b2acf
xor eax, 0xcfca1a3e
and eax, ecx
xor eax, 0xffffffff
add ecx, 0x9d9130f1
add ecx, 1
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x723b40d8
mov r8d, 0xffffffff
xor r8d, 0x723b40d8
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x723b40d8
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x981481fc
xor edx, 0x67eb7e03
xor ecx, edx
and eax, ecx
cmp eax, 0x320d2901
je 0x1402314f9
mov rax, qword [rbp - 8]
mov ecx, dword [0x140250140]
xor ecx, dword [0x140250144]
mov edx, 0xb9265e3e
xor edx, 0x92b3668d
or ecx, edx
mov edx, 0x47fef0d5
xor edx, 0xb8010f2a
mov r8d, ecx
xor r8d, edx
and r8d, 0xcd136a4a
mov r9d, 0xf919a2cf
xor r9d, 0x340ac885
mov edx, 0x3b12ca21
xor edx, 0xc4ed35de
xor r9d, edx
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0xcd136a4a
mov r9d, 0x64ab35ba
xor r9d, 0xa9b85ff0
or ecx, r9d
imul ecx, r8d
add ecx, edx
or ecx, 0xe84207b3
mov dword [rbp - 0x64], ecx
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.14013f340
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
mov rdx, qword [rbp + 0x20]
mov qword [rbp - 0x60], rdx
mov rdx, qword [rbp + 0x28]
mov qword [rbp - 0x58], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x5c45cdf8
jbe 0x14023110b
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1402311e0
jmp 0x140231249
mov r8, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x30]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov r9, qword [rbp - 0x40]
mov r10, qword [rbp - 0x48]
mov qword [rbp + 0x10], r10
mov qword [rbp + 0x18], r9
mov qword [r8], rdx
mov qword [r8 + 8], rax
lea rdx, [rbp + 0x10]
sub rsp, 0x20
call fcn.14009df90
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x8f
xor cl, 0x8f
cmp al, cl
jne 0x140231249
mov cl, 0x26
xor cl, 0x23
sub rsp, 0x20
call fcn.140068630
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
je 0x1402313a3
sub rsp, 0x20
call fcn.140222ede
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1402313a3
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1402313a3
mov eax, dword [0x140250148]
mov ecx, 0xdc9ec6bc
xor ecx, 0x82af0e63
xor eax, ecx
mov r8d, dword [0x14025014c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x2a00c7e5
xor r9d, 0xd5ff381a
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x62bcee1f
xor ecx, 0x3b253775
mov edx, 0x6484ef49
xor edx, 0x9b7b10b6
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xd95044e6
xor ecx, 0x53356a6c
imul eax, ecx
sub eax, 0xf11622a3
mov ecx, 0x169b4ccd
xor ecx, 0x65499963
cmp eax, ecx
jae 0x140231502
mov rax, qword [rbp - 0x10]
mov ecx, dword [0x140250150]
mov r8d, dword [0x140250154]
mov edx, ecx
xor edx, r8d
mov r9d, 0x2e20697
xor r9d, 0xfd1df968
xor edx, r9d
or ecx, r8d
and ecx, edx
or ecx, 0xe78cdfd3
imul ecx, ecx, 0x7838ffd0
xor ecx, 0x49389789
mov dword [rbp - 0x78], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140222ef0
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009c190
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x4c9d3236
jbe 0x14023130b
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140231396
jmp 0x1402313a3
sub rsp, 0x20
call fcn.140222ca0
add rsp, 0x20
mov r8d, dword [0x140250158]
xor r8d, 0xdbf2ce
imul r8d, dword [0x14025015c]
xor r8d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x4329f8ad
mov eax, 0xb66142c3
xor eax, 0x4fe1e015
mov edx, 0x21e4f375
xor edx, 0xde1b0c8a
xor eax, edx
or r8d, ecx
or eax, 0xf980a2d6
mov ecx, 0x2b8cb44
xor ecx, 0xfd4734bb
xor r8d, ecx
and r8d, eax
mov ecx, 0xfffe164c
xor ecx, 0x1e9b3
mov eax, r8d
xor eax, ecx
and eax, 0xa0c3d9dc
mov edx, 0xffffffff
xor edx, 0xa0c3d9dc
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xe22616c6
and ecx, 0xa0c3d9dc
and edx, 0xe22616c6
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x3067ec55
xor ecx, 0xcd60fb4
xor edx, edx
div ecx
cmp eax, 0x5056480e
jae 0x14023150b
mov eax, dword [0x140250160]
mov ecx, 0x77914b14
xor ecx, 0x9aa6be11
xor eax, ecx
mov ecx, dword [0x140250164]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa492b381
mov edx, 0xffffffff
xor edx, 0xa492b381
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xdaaa9525
mov edx, 0x69904b6e
xor edx, 0x966fb491
xor ecx, edx
and ecx, 0xdaaa9525
shl ecx, 1
sub ecx, 0xdaaa9525
sub eax, ecx
mov ecx, 0x50d8e1b0
xor ecx, 0x9df31daa
or eax, ecx
mov ecx, 0x7be0d713
xor ecx, 0xa6db2bb
cmp eax, ecx
jbe 0x140231453
mov ebx, 0x390a6db2
enter 0xffffffffffff860f, 0x7b
invalid
lea rsp, [rbp + 0x60]
pop rbp
ret
pop rsi
mov dl, 0x3e
jb 0x1402314cc
idiv edi
call qword [rax - 0x16700bc1]
cmpsb byte [rsi], byte [rdi]
clc
invalid
nop
invalid
scasd eax, dword [rdi]
push rdx
out dx, al
jmp 0x140230f22
fstp xword [rbp + 0x5b]
or ch, cl
or esp, edi
invalid
fsub st(0)
sub cx, 0xfe00
invalid
movabs al, byte [0xffffff3fe94ccb2c]
nop word cs:[rax + rax]