Function at 0x1400348d0
Capabilities:
Allocate thread local storage
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov ecx, dword [0x140042b78]
mov edi, 1
movsx edx, byte [0x140042b88]
or ecx, 0xb6
movzx ebx, byte [0x140042b81]
mov eax, edx
xor eax, 1
mov dword [0x140042a88], ecx
sub dword [0x140042b44], eax
add bl, 0x3d
lea eax, [rcx - 0x1f]
test eax, eax
je 0x140034939
cmp dword [0x140042b7c], 0
mov dword [0x140042a64], edi
jne 0x140034943
mov dword [0x140042a64], 0
movzx eax, byte [0x140042b80]
or al, 0x8c
mov dword [0x140042b6c], 0
and byte [0x140042b66], al
movzx eax, byte [0x140042b58]
or al, 0x44
or dl, al
mov byte [0x140042b88], dl
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
movzx ecx, byte [0x140042a62]
inc dword [0x140042b40]
mov byte [0x140042a87], 0
movzx ebp, bl
lea eax, [rcx + 0x4a]
mov dword [0x140042b30], 0
and byte [0x140042b54], al
cmp dword [0x140042b38], 0
je 0x1400349b3
cmp dword [0x140042b44], 0
je 0x1400349b3
mov eax, edi
jmp 0x1400349b5
xor eax, eax
sub cl, al
mov r14d, ebp
movzx eax, byte [0x140042b65]
shr r14d, 2
add r14d, eax
mov byte [0x140042a62], cl
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
movzx r8d, byte [0x140042b57]
movzx ecx, bl
mov r9d, dword [0x140042b3c]
mov edx, 0x4a
test r9d, r9d
setne al
sub edx, r8d
or byte [0x140042a62], al
mov eax, 0x56
shr al, cl
movzx ecx, dl
shl al, cl
movzx ecx, byte [0x140042b81]
and al, cl
xor r8b, al
movzx eax, byte [0x140042b65]
and eax, 0xb
mov byte [0x140042b57], r8b
xor eax, 0x38c
movzx r8d, byte [0x140042b80]
je 0x140034a3b
test r8b, r8b
je 0x140034a3b
mov eax, edi
jmp 0x140034a3d
xor eax, eax
sub byte [0x140042a63], r9b
sub cl, al
mov byte [0x140042b55], r9b
sar r9b, 7
movsx eax, r9b
mov dword [0x140042b34], eax
mov eax, dword [0x140042a64]
add eax, 0xffffffb6
movzx esi, r8b
imul esi, ebp
mov dword [0x140042b78], eax
movzx eax, byte [0x140042b56]
shr esi, 2
add al, sil
add cl, al
cmp dword [0x140042b44], 0
mov byte [0x140042b81], cl
jne 0x140034aa7
mov ecx, dword [0x140042b84]
mov eax, 0x38c
shl eax, cl
mov byte [0x140042b83], 0
test eax, eax
je 0x140034aae
mov byte [0x140042b83], dil
test esi, esi
jns 0x140034ab8
je 0x140034ab8
mov eax, edi
jmp 0x140034aba
xor eax, eax
movzx edx, byte [0x140042a87]
mov ecx, ebp
xor byte [0x140042b67], dl
or al, dl
xor byte [0x140042b64], al
mov edx, 0x7f
movzx eax, byte [0x140042b82]
mov ebx, 0x3b8
and byte [0x140042b66], dil
sub eax, 0x81
mov dword [0x140042a64], eax
mov eax, ebx
shr eax, cl
mov ecx, 0xffffffe1
and eax, dword [0x140042b68]
sub ecx, ebp
mov dword [0x140042a88], eax
movzx eax, byte [0x140042b60]
shl dl, cl
sub al, dl
add r8b, al
mov byte [0x140042b80], r8b
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
dec byte [0x140042b56]
xor eax, eax
mov r8d, dword [0x140042b28]
sub ebx, esi
cmp dword [0x140042b3c], ebx
mov ebx, 0x1f7
movzx ecx, byte [0x140042b81]
mov edx, dword [0x140042b7c]
sete al
sub dword [0x140042b30], eax
xor eax, eax
cmp r8d, esi
sete al
add ecx, 0x3ee
mov dword [0x140042b68], eax
movsx eax, byte [0x140042a62]
sub eax, ebx
or ecx, eax
sub dword [0x140042b44], ecx
movzx ecx, dx
neg cx
and ecx, edi
je 0x140034bfd
sub ecx, edi
je 0x140034c12
sub ecx, edi
je 0x140034bd1
cmp ecx, edi
je 0x140034bba
movsx eax, byte [0x140042b66]
mov ecx, ebp
shl eax, 0xb
shl eax, cl
sar eax, cl
movzx ecx, byte [0x140042b83]
sar eax, cl
or edx, eax
mov dword [0x140042b7c], edx
jmp 0x140034c12
movzx eax, byte [0x140042b83]
and eax, 0x81
xor eax, 0xb
mov dword [0x140042b5c], eax
jmp 0x140034c12
movsx eax, byte [0x140042a63]
xor r8b, dil
add eax, 0x4a
mov byte [0x140042b66], r8b
cmp eax, 0xb
jne 0x140034bf2
test edx, 0x38c
jne 0x140034bf4
xor edi, edi
or byte [0x140042b83], dil
jmp 0x140034c12
mov edx, dword [0x140042b6c]
lea ecx, [r14 - 0x1f]
xor ecx, 0xffffffe1
shr edx, cl
xor byte [0x140042b83], dl
cmp byte [0x140042a87], 0
setne byte [0x140042b64]
test ebp, ebp
sete cl
add cl, 0x56
or cl, byte [0x140042b78]
mov byte [0x140042b65], cl
call fcn.140033db0
mov rbp, qword [rsp + 0x38]
movzx eax, bx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret