Function at 0x5d2350
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 0x5d23e1
lea rdx, [sym.err_do_init_ossl_]
lea rcx, [0x009f917c]
call sym.CRYPTO_THREAD_run_once
test eax, eax
je 0x5d23e1
mov eax, dword [0x009f8940]
test eax, eax
je 0x5d23e1
lea rcx, [0x009f9174]
call sym.CRYPTO_THREAD_get_local
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x5d23e1
test rax, rax
je 0x5d2410
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 0x5d23f0
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 0x5d23d3
mov rdx, 0xffffffffffffffff
lea rcx, [0x009f9174]
call sym.CRYPTO_THREAD_set_local
test eax, eax
je 0x5d23e1
mov r8d, 0x2de
lea rdx, str.crypto_err_err.c
mov ecx, 0x208
call sym.CRYPTO_zalloc
mov r12, rax
test rax, rax
je 0x5d263d
mov ecx, 2
call sym.ossl_init_thread_start
test eax, eax
je 0x5d2480
mov rdx, r12
lea rcx, [0x009f9174]
call sym.CRYPTO_THREAD_set_local
test eax, eax
je 0x5d2480
xor edx, edx
mov ecx, 2
call sym.OPENSSL_init_crypto
jmp 0x5d23b5
test byte [r12 + 0x100], 1
jne 0x5d28d9
mov dword [r12 + 0x100], 0
test byte [r12 + 0x104], 1
jne 0x5d28ae
mov dword [r12 + 0x104], 0
test byte [r12 + 0x108], 1
jne 0x5d2883
mov dword [r12 + 0x108], 0
test byte [r12 + 0x10c], 1
jne 0x5d2858
mov dword [r12 + 0x10c], 0
test byte [r12 + 0x110], 1
jne 0x5d282d
mov dword [r12 + 0x110], 0
test byte [r12 + 0x114], 1
jne 0x5d2802
mov dword [r12 + 0x114], 0
test byte [r12 + 0x118], 1
jne 0x5d27d7
mov dword [r12 + 0x118], 0
test byte [r12 + 0x11c], 1
jne 0x5d27ac
mov dword [r12 + 0x11c], 0
test byte [r12 + 0x120], 1
jne 0x5d2781
mov dword [r12 + 0x120], 0
test byte [r12 + 0x124], 1
jne 0x5d2756
mov dword [r12 + 0x124], 0
test byte [r12 + 0x128], 1
jne 0x5d272b
mov dword [r12 + 0x128], 0
test byte [r12 + 0x12c], 1
jne 0x5d2700
mov dword [r12 + 0x12c], 0
test byte [r12 + 0x130], 1
jne 0x5d26d5
mov dword [r12 + 0x130], 0
test byte [r12 + 0x134], 1
jne 0x5d26aa
mov dword [r12 + 0x134], 0
test byte [r12 + 0x138], 1
jne 0x5d267f
mov dword [r12 + 0x138], 0
test byte [r12 + 0x13c], 1
jne 0x5d2657
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, [0x009f9174]
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 0x5d261c
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 0x5d2605
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 0x5d25ee
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 0x5d25d3
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 0x5d25b8
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 0x5d259d
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 0x5d2582
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 0x5d2567
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 0x5d254c
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 0x5d2531
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 0x5d2516
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 0x5d24fb
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 0x5d24e0
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 0x5d24c5
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 0x5d24aa
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 0x5d248f