Function at 0x140169820
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, 0x118
mov rax, qword [0x14022c040]
mov r15d, dword [rsp + 0x180]
mov rbx, qword [rax]
mov qword [rsp + 0x108], rbx
xor ebx, ebx
cmp qword [rcx + 0x78], 0
mov rsi, rcx
mov rdi, rdx
mov r13, r8
jne 0x140169de4
mov edx, dword [r8]
test edx, edx
js 0x14016986f
test r9d, r9d
jne 0x1401698c0
test r15d, r15d
jne 0x1401698b0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x108]
sub rax, qword [rdi]
jne 0x140169dc4
mov rdx, r13
mov rcx, rsi
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401697b0
mov r8, r13
xor edx, edx
mov rcx, rsi
call fcn.140169110
jmp 0x140169874
mov rax, qword [rcx]
lea r8, [0x1402174e0]
mov edx, 0x12be
lea rcx, str.merge_ort.c
lea r9, [0x1402191fe]
mov qword [rsp + 0x20], rax
call fcn.1400a1480
mov r8, qword [r13 + 8]
mov rdx, rdi
mov rcx, rsi
call fcn.14015f850
test eax, eax
jne 0x140169cc8
mov rax, qword [rsi]
lea r9, [0x1402191fe]
lea r8, [0x1402174e0]
mov edx, 0x12c6
lea rcx, str.merge_ort.c
lea rdi, [rsp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.1400a1690
mov rax, qword [rsi]
lea r8, [0x1402174e0]
mov edx, 0x12c8
lea rcx, str.merge_ort.c
lea r9, str.record_conflicted
mov qword [rsp + 0x20], rax
call fcn.1400a1480
mov rax, rbx
mov rdx, qword [r13 + 0x18]
mov r8, qword [rsi]
mov ecx, 0x10
mov qword [rsp + 0x40], rdi
rep stosq qword [rdi], rax
lea rax, [0x140218a60]
mov qword [rsi + 0x78], rdx
mov rbp, qword [r8 + 0x160]
mov qword [rsp + 0x88], rax
test byte [rdx + 0x68], 1
je 0x140169dfe
mov eax, dword [rdx + 0x58]
test eax, eax
je 0x140169bfc
lea r14, [rsp + 0x60]
lea rcx, [rdx + 0x40]
mov rdx, r14
call fcn.140029890
jmp 0x1401699c4
mov rcx, qword [rax + 0x10]
mov rdx, rbp
call fcn.14001faf0
test eax, eax
je 0x140169d4b
mov rcx, r14
call fcn.1400298b0
test rax, rax
jne 0x1401699b0
mov rax, qword [rsi + 0x78]
mov rdx, r14
mov r12d, dword [rbp + 0xc]
mov qword [rsp + 0x80], rbp
or byte [rsp + 0xf8], 0x13
lea rcx, [rax + 0x40]
call fcn.140029890
mov rcx, r14
call fcn.1400298b0
test rax, rax
je 0x140169bcd
mov qword [rsp + 0x50], r13
xor edi, edi
mov dword [rsp + 0x5c], r15d
mov qword [rsp + 0x48], rsi
mov esi, edi
nop dword [rax]
mov r13, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
test r13, r13
je 0x140169daa
test byte [r13 + 0x28], 2
jne 0x140169daa
mov ebx, dword [rbp + 0xc]
mov dword [rbp + 0xc], r12d
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov rdx, rdi
mov rcx, rbp
mov r8d, eax
call fcn.140052e90
mov r12d, dword [rbp + 0xc]
mov dword [rbp + 0xc], ebx
test eax, eax
js 0x140169b80
mov rdx, qword [rbp]
cdqe
mov rbx, qword [rdx + rax*8]
mov eax, dword [rbx + 0x38]
test eax, 0x40000000
jne 0x140169ba8
or eax, 0x20000
mov dword [rbx + 0x38], eax
lea r15, [r13 + 0x40]
xor ebx, ebx
movzx eax, byte [r13 + 0xd0]
mov ecx, ebx
add ebx, 1
shr al, 2
and eax, 7
shr eax, cl
test al, 1
je 0x140169ad7
movzx edx, word [r15 + 0x24]
mov dword [rsp + 0x20], ebx
mov r8, r15
mov rcx, rbp
mov dword [rsp + 0x28], 0
mov r9, rdi
call fcn.140055330
mov r8d, 8
mov rcx, rbp
mov rdx, rax
call fcn.140055580
add r15, 0x28
cmp ebx, 3
jne 0x140169a8e
mov rcx, r14
call fcn.1400298b0
test rax, rax
jne 0x140169a20
mov edx, 1
mov rcx, rbp
mov r13, qword [rsp + 0x50]
mov edi, esi
mov r15d, dword [rsp + 0x5c]
mov rsi, qword [rsp + 0x48]
call fcn.140052f70
mov edx, dword [rbp + 0xc]
cmp rdx, 1
ja 0x140169d30
test edi, edi
je 0x140169bf9
mov qword [rsi + 0x78], 0
mov rdx, r13
mov rcx, rsi
mov dword [r13], 0xffffffff
call fcn.1401697b0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x108]
sub rax, qword [rdi]
jne 0x140169dc4
mov rax, qword [rsi]
lea r9, str.record_conflicted
mov edx, 0x12cf
lea r8, [0x1402174e0]
mov qword [rsp + 0x180], rax
jmp 0x140169d11
movzx eax, byte [r13 + 0xd0]
and eax, 0x1c
cmp al, 4
jne 0x140169dc9
mov rdx, rdi
mov rcx, rbp
call fcn.140103b90
jmp 0x140169a88
mov r8, qword [rsp + 0x40]
xor r9d, r9d
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], 0
call fcn.1401bb580
or esi, eax
mov eax, dword [rbx + 0x38]
jmp 0x140169a80
mov edx, 1
mov rcx, rbp
call fcn.140052f70
mov edx, dword [rbp + 0xc]
cmp rdx, 1
jbe 0x140169bf9
mov rcx, qword [rbp]
lea r9, [0x14004f900]
mov r8d, 8
call fcn.14008e030
mov r8, qword [rsi]
mov qword [rsi + 0x78], 0
lea r9, str.record_conflicted
mov edx, 0x12d4
lea rcx, str.merge_ort.c
mov qword [rsp + 0x20], r8
lea r8, [0x1402174e0]
call fcn.1400a1690
mov rax, qword [rsi]
mov edx, 0x12d6
lea r9, str.write_auto_merge
lea r8, [0x1402174e0]
lea rcx, str.merge_ort.c
mov qword [rsp + 0x20], rax
call fcn.1400a1480
mov rax, qword [r13 + 8]
mov rcx, qword [rsi]
lea rbx, [rax + 4]
call fcn.14005c500
mov dword [rsp + 0x30], 0
mov r9, rbx
lea r8, [0x140219281]
mov dword [rsp + 0x28], 1
mov rcx, rax
lea rdx, [0x140218a60]
mov qword [rsp + 0x20], 0
call fcn.14005d5c0
test eax, eax
jne 0x140169d58
mov rax, qword [rsi]
lea r9, str.write_auto_merge
lea r8, [0x1402174e0]
mov edx, 0x12e2
lea rcx, str.merge_ort.c
mov qword [rsp + 0x20], rax
call fcn.1400a1690
jmp 0x14016986f
mov dword [r13], 0xffffffff
mov rdx, r13
mov rcx, rsi
call fcn.1401697b0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x108]
sub rax, qword [rdi]
jne 0x140169dc4
mov rax, qword [rsi]
lea r9, [0x1402191fe]
mov edx, 0x12c3
lea r8, [0x1402174e0]
mov qword [rsp + 0x180], rax
lea rcx, str.merge_ort.c
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400a1690
mov rcx, qword [rbp]
lea r9, [0x14004f900]
mov r8d, 8
call fcn.14008e030
jmp 0x140169b1c
mov rcx, rbp
call fcn.14008ca40
jmp 0x1401699d1
mov qword [rsi + 0x78], 0
mov rdx, r13
mov rcx, rsi
mov dword [r13], 0xffffffff
call fcn.1401697b0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x108]
sub rax, qword [rdi]
jne 0x140169dc4
mov rax, qword [rsi]
lea r9, str.write_auto_merge
mov edx, 0x12de
lea r8, [0x1402174e0]
mov qword [rsp + 0x180], rax
jmp 0x140169d11
mov r8d, 0x11cb
lea rdx, str.merge_ort.c
lea rcx, str.ci___ci__merged.clean
call qword [sym.imp.msvcrt.dll__assert]
call fcn.1401d96b0
mov r9, rdi
lea r8, str.Conflicted__s_but_nothing_in_basic_working_tree_or_index__this_shouldnt_happen
mov edx, 0x11e0
lea rcx, str.merge_ort.c
call fcn.1400b6d50
mov r8d, 0x12bc
lea rdx, str.merge_ort.c
lea rcx, [0x140217816]
call qword [sym.imp.msvcrt.dll__assert]
lea r8, str.hashmap_get_size:_size_not_set
mov edx, 0x134
lea rcx, str.hashmap.h
call fcn.1400b6d50
nop
nop word [rax + rax]