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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
xor ebx, ebx
cmp qword [0x2e3f36588], 0
lea rsi, str.78696e707574_02x000000000000000000
lea rbp, [0x2e3f344d8]
movabs rdi, 0x8e38e38e38e38e39
je 0x2e3c38f6c
mov r8d, dword [0x2e3f344d8]
test r8d, r8d
je 0x2e3c38d4c
cmp qword [0x2e3f345d8], 0
je 0x2e3c38fa8
mov ecx, dword [0x2e3f345f8]
test ecx, ecx
je 0x2e3c38d64
cmp qword [0x2e3f346f8], 0
je 0x2e3c38fc0
mov edx, dword [0x2e3f34718]
test edx, edx
je 0x2e3c38d7c
cmp qword [0x2e3f34818], 0
je 0x2e3c38fe0
mov eax, dword [0x2e3f34838]
test eax, eax
je 0x2e3c38d94
cmp qword [0x2e3f34938], 0
je 0x2e3c38fd0
mov eax, dword [0x2e3f34958]
test eax, eax
je 0x2e3c38dac
cmp qword [0x2e3f34a58], 0
je 0x2e3c38ff8
mov eax, dword [0x2e3f34a78]
test eax, eax
je 0x2e3c38dc4
cmp qword [0x2e3f34b78], 0
je 0x2e3c39010
mov eax, dword [0x2e3f34b98]
test eax, eax
je 0x2e3c38ddc
cmp qword [0x2e3f34c98], 0
je 0x2e3c39040
mov eax, dword [0x2e3f34cb8]
test eax, eax
je 0x2e3c38df4
cmp qword [0x2e3f34db8], 0
je 0x2e3c39028
mov r12d, dword [0x2e3f34dd8]
test r12d, r12d
je 0x2e3c38e0e
cmp qword [0x2e3f34ed8], 0
je 0x2e3c39058
mov r11d, dword [0x2e3f34ef8]
test r11d, r11d
je 0x2e3c38e28
cmp qword [0x2e3f34ff8], 0
je 0x2e3c39070
mov r10d, dword [0x2e3f35018]
test r10d, r10d
je 0x2e3c38e42
cmp qword [0x2e3f35118], 0
je 0x2e3c390a0
mov r9d, dword [0x2e3f35138]
test r9d, r9d
je 0x2e3c38e5c
cmp qword [0x2e3f35238], 0
je 0x2e3c39088
mov r8d, dword [0x2e3f35258]
test r8d, r8d
je 0x2e3c38e76
cmp qword [0x2e3f35358], 0
je 0x2e3c390b8
mov ecx, dword [0x2e3f35378]
test ecx, ecx
je 0x2e3c38e8e
cmp qword [0x2e3f35478], 0
je 0x2e3c390d0
mov edx, dword [0x2e3f35498]
test edx, edx
je 0x2e3c38ea6
cmp qword [0x2e3f35598], 0
je 0x2e3c390e8
mov eax, dword [0x2e3f355b8]
test eax, eax
je 0x2e3c38ebe
cmp qword [0x2e3f356b8], 0
je 0x2e3c39100
xor edx, edx
lea r8, [rsp + 0x30]
mov ecx, ebx
call qword [0x2e3f36590]
test eax, eax
jne 0x2e3c38f60
movzx r8d, byte [rsp + 0x31]
lea r12, [rsp + 0x50]
mov rdx, rsi
mov rcx, r12
call fcn.2e3c31c20
cmp byte [rsp + 0x31], 8
ja case.0x2e3c38f09.0
movzx eax, byte [rsp + 0x31]
lea rdx, [0x2e3e6fab4]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
lea rcx, str.XInput_Wheel
nop word [rax + rax]
mov r9d, 0xa
mov dword [rsp + 0x20], 1
mov r8d, 6
mov rdx, r12
call fcn.2e3c33e70
test rax, rax
je 0x2e3c38f60
mov dword [rax + 0x108], ebx
mov r8, qword [0x2e3f35780]
test r8, r8
je 0x2e3c38f60
sub rax, rbp
mov edx, 0x40001
mov rcx, rax
sar rcx, 5
imul ecx, edi
call r8
add ebx, 1
cmp ebx, 4
jne 0x2e3c38d32
mov rcx, qword [0x2e3f36580]
test rcx, rcx
je 0x2e3c38f9d
mov rax, qword [rcx]
xor r9d, r9d
mov dword [rsp + 0x20], 0
lea r8, [0x2e3c31a70]
mov edx, 4
call qword [rax + 0x20]
test eax, eax
js 0x2e3c39175
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp dword [0x2e3f345e0], ebx
jne 0x2e3c38d4c
jmp 0x2e3c38f60
cmp dword [0x2e3f34700], ebx
jne 0x2e3c38d64
jmp 0x2e3c38f60
cmp dword [0x2e3f34940], ebx
jne 0x2e3c38d94
jmp 0x2e3c38f60
cmp dword [0x2e3f34820], ebx
jne 0x2e3c38d7c
jmp 0x2e3c38f60
cmp dword [0x2e3f34a60], ebx
jne 0x2e3c38dac
jmp 0x2e3c38f60
cmp dword [0x2e3f34b80], ebx
jne 0x2e3c38dc4
jmp 0x2e3c38f60
cmp dword [0x2e3f34dc0], ebx
jne 0x2e3c38df4
jmp 0x2e3c38f60
cmp dword [0x2e3f34ca0], ebx
jne 0x2e3c38ddc
jmp 0x2e3c38f60
cmp dword [0x2e3f34ee0], ebx
jne 0x2e3c38e0e
jmp 0x2e3c38f60
cmp dword [0x2e3f35000], ebx
jne 0x2e3c38e28
jmp 0x2e3c38f60
cmp dword [0x2e3f35240], ebx
jne 0x2e3c38e5c
jmp 0x2e3c38f60
cmp dword [0x2e3f35120], ebx
jne 0x2e3c38e42
jmp 0x2e3c38f60
cmp dword [0x2e3f35360], ebx
jne 0x2e3c38e76
jmp 0x2e3c38f60
cmp dword [0x2e3f35480], ebx
jne 0x2e3c38e8e
jmp 0x2e3c38f60
cmp dword [0x2e3f355a0], ebx
jne 0x2e3c38ea6
jmp 0x2e3c38f60
cmp dword [0x2e3f356c0], ebx
jne 0x2e3c38ebe
jmp 0x2e3c38f60
lea rcx, str.XInput_Arcade_Stick
jmp 0x2e3c38f18
lea rcx, str.XInput_Flight_Stick
jmp 0x2e3c38f18
lea rcx, str.XInput_Dance_Pad
jmp 0x2e3c38f18
lea rcx, str.XInput_Guitar
jmp 0x2e3c38f18
lea rcx, str.XInput_Drum_Kit
jmp 0x2e3c38f18
test byte [rsp + 0x32], 2
lea rcx, str.Wireless_Xbox_Controller
lea rax, str.Xbox_Controller
cmove rcx, rax
jmp 0x2e3c38f18
lea rcx, str.Unknown_XInput_Device
jmp 0x2e3c38f18
lea rdx, str.Failed_to_enumerate_DirectInput8_devices
mov ecx, 0x10008
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.2e3c320f0