Function at 0x5c9530
Capabilities:
Set thread local storage value

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbp, rcx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
mov ecx, 0x40000
mov r13d, eax
call sym.OPENSSL_init_crypto
test eax, eax
je 0x5c95c1
lea rdx, [sym.err_do_init_ossl_]
lea rcx, [0x00a5c15c]
call sym.CRYPTO_THREAD_run_once
test eax, eax
je 0x5c95c1
mov eax, dword [0x00a5b920]
test eax, eax
je 0x5c95c1
lea rcx, [0x00a5c154]
call sym.CRYPTO_THREAD_get_local
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x5c95c1
test rax, rax
je 0x5c95f0
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
movsxd rbx, dword [r12 + 0x200]
lea rsi, [r12 + rbx*4]
test byte [rsi + 0x100], 1
jne 0x5c95d0
mov qword [r12 + rbx*8 + 0x80], rbp
mov dword [rsi + 0x100], edi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rcx, qword [r12 + rbx*8 + 0x80]
mov r8d, 0x336
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
jmp 0x5c95b3
mov rdx, 0xffffffffffffffff
lea rcx, [0x00a5c154]
call sym.CRYPTO_THREAD_set_local
test eax, eax
je 0x5c95c1
mov r8d, 0x2de
lea rdx, str.crypto_err_err.c
mov ecx, 0x208
call sym.CRYPTO_zalloc
mov r12, rax
test rax, rax
je 0x5c981d
mov ecx, 2
call sym.ossl_init_thread_start
test eax, eax
je 0x5c9660
mov rdx, r12
lea rcx, [0x00a5c154]
call sym.CRYPTO_THREAD_set_local
test eax, eax
je 0x5c9660
xor edx, edx
mov ecx, 2
call sym.OPENSSL_init_crypto
jmp 0x5c9595
test byte [r12 + 0x100], 1
jne 0x5c9ab9
mov dword [r12 + 0x100], 0
test byte [r12 + 0x104], 1
jne 0x5c9a8e
mov dword [r12 + 0x104], 0
test byte [r12 + 0x108], 1
jne 0x5c9a63
mov dword [r12 + 0x108], 0
test byte [r12 + 0x10c], 1
jne 0x5c9a38
mov dword [r12 + 0x10c], 0
test byte [r12 + 0x110], 1
jne 0x5c9a0d
mov dword [r12 + 0x110], 0
test byte [r12 + 0x114], 1
jne 0x5c99e2
mov dword [r12 + 0x114], 0
test byte [r12 + 0x118], 1
jne 0x5c99b7
mov dword [r12 + 0x118], 0
test byte [r12 + 0x11c], 1
jne 0x5c998c
mov dword [r12 + 0x11c], 0
test byte [r12 + 0x120], 1
jne 0x5c9961
mov dword [r12 + 0x120], 0
test byte [r12 + 0x124], 1
jne 0x5c9936
mov dword [r12 + 0x124], 0
test byte [r12 + 0x128], 1
jne 0x5c990b
mov dword [r12 + 0x128], 0
test byte [r12 + 0x12c], 1
jne 0x5c98e0
mov dword [r12 + 0x12c], 0
test byte [r12 + 0x130], 1
jne 0x5c98b5
mov dword [r12 + 0x130], 0
test byte [r12 + 0x134], 1
jne 0x5c988a
mov dword [r12 + 0x134], 0
test byte [r12 + 0x138], 1
jne 0x5c985f
mov dword [r12 + 0x138], 0
test byte [r12 + 0x13c], 1
jne 0x5c9837
mov r8d, 0x123
lea rdx, str.crypto_err_err.c
mov rcx, r12
mov dword [r12 + 0x13c], 0
call sym.CRYPTO_free
xor edx, edx
lea rcx, [0x00a5c154]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.CRYPTO_THREAD_set_local
mov rcx, qword [r12 + 0xf8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xf8], 0
jmp 0x5c97fc
mov rcx, qword [r12 + 0xf0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xf0], 0
jmp 0x5c97e5
mov rcx, qword [r12 + 0xe8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xe8], 0
jmp 0x5c97ce
mov rcx, qword [r12 + 0xe0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xe0], 0
jmp 0x5c97b3
mov rcx, qword [r12 + 0xd8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xd8], 0
jmp 0x5c9798
mov rcx, qword [r12 + 0xd0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xd0], 0
jmp 0x5c977d
mov rcx, qword [r12 + 0xc8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xc8], 0
jmp 0x5c9762
mov rcx, qword [r12 + 0xc0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xc0], 0
jmp 0x5c9747
mov rcx, qword [r12 + 0xb8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xb8], 0
jmp 0x5c972c
mov rcx, qword [r12 + 0xb0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xb0], 0
jmp 0x5c9711
mov rcx, qword [r12 + 0xa8]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xa8], 0
jmp 0x5c96f6
mov rcx, qword [r12 + 0xa0]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0xa0], 0
jmp 0x5c96db
mov rcx, qword [r12 + 0x98]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0x98], 0
jmp 0x5c96c0
mov rcx, qword [r12 + 0x90]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0x90], 0
jmp 0x5c96a5
mov rcx, qword [r12 + 0x88]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0x88], 0
jmp 0x5c968a
mov rcx, qword [r12 + 0x80]
mov r8d, 0x121
lea rdx, str.crypto_err_err.c
call sym.CRYPTO_free
mov qword [r12 + 0x80], 0
jmp 0x5c966f