Function at 0x40c290
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rbx, rdx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x40c2c0
mov rdx, rbx
mov ecx, eax
mov dword [rsi], eax
add rsp, 0x28
pop rbx
pop rsi
jmp sym.__mingwthr_key_dtor
add rsp, 0x28
pop rbx
pop rsi
jmp qword [sym.imp.KERNEL32.dll_GetLastError]
push rsi
and byte [rax], dh
js 0x59acaf
xor byte [rax], dh
xor byte [rax], dh
xor byte [rax], dh
xor dword [rax], eax
add esi, ebx
sbb byte [rdi + 0x52], al
push r10
push r10
push rsp
pop rdi
pop rdi
push rsp
push rdx
and byte [r8], r14b
and byte [r8], r14b
and byte [r8], r14b
js 0x59acd4
xor byte [rax], dh
xor byte [rax], dh
xor byte [rax], dh
xor al, byte [rax]
add edi, ebx
sbb byte [rdi + 0x52], al
push r10
push rsp
push rsp
pop rdi
pop rdi
push r8
pop rdi
and byte [r8], r14b
js 0x59acf8
xor byte [rax], dh
xor byte [rax], dh
xor byte [rsi + 0x66], ah
add byte [rcx], al
out 0x18, al
outsd dx, dword [rsi]
outsd dx, dword [rsi]
jo case.0x40c2c6.10
outsb dx, byte [rsi]
push 0x6174654d
imul r13d, dword [rbp + r12*2 + 0x20], 0x494d5f5f
and byte [rdi + 0x5f], bl
push r15
and byte [rdi + 0x5f], bl
push r15
pop rdi
pop r15
push r15
sub byte [rbx + 0x6f], al
jo 0x59ad70
invalid
jns 0x59ad3d
outsb dx, byte [rsi]
outsb dx, byte [rsi]
push 0x6174654d
imul r13d, dword [rbp + r12*2 + 0x29], 0x18e70100
jb 0x59ad6f
invalid
outsb dx, byte [rsi]
push 0x6174654d
imul r13d, dword [rbp + r12*2 + 0x20], 0x494d5f5f
push r15
pop rdi
pop r15
pop r15
pop r15
push r15
sub byte [rbx + 0x72], al
invalid
call 0x74bef45a
outsb dx, byte [rsi]
sbb byte [rdi + 0x65], al
je 0x59ad88
outsb dx, byte [rsi]
push 0x6174654d
imul r13d, dword [rbp + r12*2 + 0x20], 0x494d5f5f
push r15
push r15
pop rdi
pop r15
push r15
sub byte [rdi + 0x65], al
je 0x59ada7
outsb dx, byte [rsi]
push 0x6174654d
je 0x59adc9
je 0x59adc9
imul r13d, dword [rbp + r12*2 + 0x29], 0x18e90100
je 0x59adba
jmp 0x74bef48c
sbb byte [rdi + 0x65], al
je 0x59adba
outsb dx, byte [rsi]
push 0x6174654d
invalid
imul r13d, dword [rbp + r12*2 + 0x44], 0x72637365
imul esi, dword [rax + 0x74], 0x206e6f69
pop rdi
pop rdi
invalid
outsd dx, dword [rsi]
outsb dx, byte [rsi]
and byte [rdi + 0x5f], bl
push r15
push r15
pop rdi
pop r15
push r15
sub byte [rdi + 0x65], al
je 0x59ade4
outsb dx, byte [rsi]
push 0x6174654d
imul r13d, dword [rbp + r12*2 + 0x44], 0x72637365
jae 0x59ae10
jb 0x59ae18
jo 0x59ae25
imul ebp, dword [rdi + 0x6e], 0x8b010029
sbb dword [rdi + 0x65], eax
je 0x59ae11
insb byte [rdi], dx
jae 0x59ae10
jb 0x59ae18
jo 0x59ae25
imul ebp, dword [rdi + 0x6e], 0x8b010029
sbb dword [rdi + 0x65], eax
je 0x59ae11
add dword [rbx + 0x74654719], ecx
push rsp
je 0x59ae11
js 0x59ae34
je 0x59ae36
imul esp, dword [rbx + 0x73], 0x4d5f5f20
push r15
pop rdi
push r15
pop rdi
pop r15
push r15
sub byte [rdi + 0x65], al
je 0x59ae30
js 0x59ae53
je 0x59ae55
imul esp, dword [rbx + 0x73], 0xa3010029
sbb dword [rbx + 0x41], eax
pop rdi
push r12
push r14
and byte [r8], r14b
invalid
js case.0x40c2c6.22
xor byte [rax], dh
xor dword [rax], eax
add dword [rcx + rbx + 0x4c5f4143], esp
sbb dword [rbx + 0x41], eax
pop rdi
pop r15
sbb dword [rbx + 0x41], eax
pop rdi
pop r15
push rsp
push r10
and byte [rax], dh
js 0x59ae42
xor byte [rax], dh
xor byte [rdx], dh
xor al, byte [rax]
invalid
cmpsb byte [rsi], byte [rdi]
xor byte [rax], dh
xor al, byte [rax]
add dword [rsi + 0x4c4c4919], esp
push rbp
sbb dword [rcx + 0x4c], ecx
push rbp
push rsp
push rsp
pop rdi
push r14
push r14
pop r15
pop rdi
push r13
push rsp
and byte [rax], dh
add byte [rcx], al
cmpsd dword [rsi], dword [rdi]
sbb dword [rcx + 0x4c], ecx
push rbp
push rbp
push rsp
pop rdi
and byte [r9], sil
add byte [rcx], al
test al, 0x19
push rbp
push rsp
push rsp
pop rdi
and byte [rdx], sil
add byte [rcx], al
test eax, 0x4c4c4919
push rbp
push rsp
push rsp
push rsp
pop rdi
and byte [r11], sil
add byte [rcx], al
stosb byte [rdi], al
sbb dword [rcx + 0x4c], ecx
push rbp
push rsp
push rsp
push rsp
pop rdi
xor eax, 0x342030
add dword [rbx + 0x4c4c4919], ebp
push rbp
push rbp
push rsp
pop rdi
xor eax, 0x352035
add dword [rcx + rbx + 0x554c4c49], ebp
push rsp
pop rdi
xor eax, 0x1003620
lodsd eax, dword [rsi]
sbb dword [rcx + 0x4c], ecx
push rbp
push rsp
pop rdi
invalid