Function at 0x53e130
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov rbp, rcx
mov r13, rdx
mov ecx, 0xd
mov edx, 1
mov rdi, qword [rax]
mov qword [rsp + 0x48], rdi
xor edi, edi
mov r12, r9
mov rbx, r8
call fcn.00471580
mov ecx, dword [rbp + 0x68]
test r12, r12
lea rax, [rsp + 0x3c]
mov r8, r13
lea rdx, str._s_client_n
cmove r12, rax
call fcn.00435b00
test eax, eax
jne 0x53e4a1
mov r8d, dword [rbx]
lea rsi, [rbx + 4]
lea rdi, str.version_d_n
test r8d, r8d
jne 0x53e1cc
jmp 0x53e220
mov r8d, dword [rsi]
add rsi, 4
test r8d, r8d
je 0x53e220
mov ecx, dword [rbp + 0x68]
mov rdx, rdi
call fcn.00435b00
test eax, eax
je 0x53e1c0
lea rcx, str.Could_not_write_requested_version
mov r12d, 1
call fcn.00494950
mov ecx, 0xd
call fcn.00471670
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rdi, qword [rsp + 0x48]
xor rdi, qword [rax]
jne 0x53e505
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rbp + 0x68]
call fcn.00435960
test eax, eax
jne 0x53e48a
mov ecx, dword [rbp + 0x6c]
xor edx, edx
call fcn.00436070
mov rdx, rax
test rax, rax
je 0x53e3a2
mov rcx, r13
mov rsi, rax
jmp 0x53e262
add rsi, 1
add rcx, 1
cmp r8b, byte [rsi - 1]
jne 0x53e3b0
movzx r8d, byte [rcx]
test r8b, r8b
jne 0x53e250
mov ecx, 8
lea rdi, str._server
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x53e3b0
mov ecx, dword [rbp + 0x6c]
xor edx, edx
call fcn.00436070
mov r13, rax
test rax, rax
je 0x53e463
mov rsi, rax
mov edx, 0x76
lea rax, str.version
nop dword [rax + rax]
add rsi, 1
add rax, 1
cmp byte [rsi - 1], dl
jne 0x53e470
movzx edx, byte [rax]
test dl, dl
jne 0x53e2b0
mov rdi, qword [sym.imp.msvcrt.dll__errno]
call rdi
lea rdx, [rsp + 0x40]
mov r8d, 0xa
mov rcx, rsi
mov dword [rax], 0
call sub.msvcrt.dll_strtol
mov dword [rsp + 0x2c], eax
call rdi
mov eax, dword [rax]
test eax, eax
jne 0x53e470
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x53e470
cmp rsi, rax
je 0x53e470
mov eax, dword [rsp + 0x2c]
xor edx, edx
mov dword [r12], eax
mov ecx, dword [rbp + 0x6c]
call fcn.00436070
test rax, rax
jne 0x53e4b8
mov eax, dword [rbx]
mov edx, dword [r12]
add rbx, 4
test eax, eax
jne 0x53e34e
jmp 0x53e4d8
mov eax, dword [rbx]
add rbx, 4
test eax, eax
je 0x53e4d8
cmp eax, edx
jne 0x53e340
mov r8, qword [r15]
lea rbx, [r15 + 0x10]
lea rsi, str.capability_s_n
test r8, r8
jne 0x53e37c
jmp 0x53e3d0
mov r8, qword [rbx]
add rbx, 0x10
test r8, r8
je 0x53e3d0
mov ecx, dword [rbp + 0x68]
mov rdx, rsi
call fcn.00435b00
test eax, eax
je 0x53e370
lea rcx, str.Could_not_write_requested_capability
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
lea rdx, str._flush_packet_
nop dword [rax]
mov r8, r13
lea rcx, str.Unexpected_line__s__expected__s_server
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
mov ecx, dword [rbp + 0x68]
call fcn.00435960
mov r12d, eax
test eax, eax
jne 0x53e48a
nop dword [rax + rax]
mov ecx, dword [rbp + 0x6c]
xor edx, edx
call fcn.00436070
mov rbx, rax
test rax, rax
je 0x53e1ed
mov edx, 0x63
lea rax, str.capability
nop word [rax + rax]
add rbx, 1
add rax, 1
cmp byte [rbx - 1], dl
jne 0x53e3e8
movzx edx, byte [rax]
test dl, dl
jne 0x53e410
mov rdx, qword [r15]
test rdx, rdx
je 0x53e4ef
mov r13, r15
jmp 0x53e449
mov rdx, qword [r13 + 0x10]
add r13, 0x10
test rdx, rdx
je 0x53e4ef
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x53e438
test r14, r14
je 0x53e3e8
mov eax, dword [r13 + 8]
or dword [r14], eax
jmp 0x53e3e8
lea r13, str._flush_packet_
nop word [rax + rax]
mov rdx, r13
lea rcx, str.Unexpected_line__s__expected_version
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
lea rcx, str.Could_not_write_flush_packet
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
lea rcx, str.Could_not_write_client_identification
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
mov rdx, rax
lea rcx, str.Unexpected_line__s__expected_flush
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
lea rcx, str.Version__d_not_supported
mov r12d, 1
call fcn.00494950
jmp 0x53e1ed
mov rax, qword [rbp + 0x18]
mov r8, rbx
lea rcx, str.subprocess__s_requested_unsupported_capability__s
mov rdx, qword [rax]
call fcn.00494770
call sub.libssp_0.dll___stack_chk_fail
nop
nop
nop
nop
nop
nop