Function at 0x454ab2
Capabilities:
Set thread local storage value

Disassembly:
pop esi
push ebx
push ebp
pop eax
pop edi
js 0x454b10
push 0x665c
push ebp
arpl word gs:[ebx + 0x5a], ax
inc ebx
push edx
bound ebp, qword [esi + 0x41]
pop edi
inc edx
arpl word [edi + 0x49], sp
js 0x454b31
pop esi
inc edi
push 0x6157506d
inc ebp
pop ebp
pop edi
insd dword es:[edi], dx
pop ecx
pushal
dec ecx
inc ebp
pop ecx
pop ecx
pop ecx
lea edi, [esi + 0x50]
mov dword [ebp + 8], 6
pushf
push eax
call fcn.00454b6e
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jne 0x454b10
dec edi
dec esp
inc esp
dec edi
inc edx
call fcn.00454016
mov eax, dword [ebp + 8]
or byte [ebx + 0x40a008], ah
add esp, 0x14
mov eax, dword [0x40b5b0]
jmp 0x454b1b
les edx, [ecx]
mov al, 0xb5
inc eax
add bl, ch
add eax, 0xff68
add byte [edx - 0x10], dh
jb 0x454b0d
jne 0x454ba3
mov dword [ebp - 4], eax
je 0x454d40
test dl, 1
xor esi, esi
mov eax, edi
cmp dword [0x40b6a8], edi
movzx eax, byte [ebp + 8]
jmp 0x454bb4
and al, 0x8d
and al, 4
lock xchg dword [esp], esi
lea esp, [esp + 4]
pop eax
lea esp, [esp + 2]
push edx
push ecx
add dl, byte [edx + 0x51]
push edx
push 0x1d0f
push 0x28fa
push 0x159d4f36
push ax
lahf
lock xchg word [esp], ax
lea esp, [esp - 4]
mov dword [esp], eax
call fcn.00454c36
insd dword es:[edi], dx
inc ebp
push 0x6361656a
push ebx
pop esp
pop ebp
insb byte es:[edi], dx
dec esp
pop edx
js 0x454c34
imul ecx, dword [edi + 0x50], 0x69
dec esi
push ebx
dec eax
push ebp
inc esp
push 0x586a695a
outsd dx, dword [esi]
push eax
pop esp
insb byte es:[edi], dx
insb byte es:[edi], dx
push 0x6a
inc edi
js 0x454dc0
insb byte es:[edi], dx
dec eax
bound ebx, qword [ecx + 0x78]
inc esp
inc edi
pop ecx
pop eax
pop edi
bound ebp, qword [ecx + 0x67]
pop esp
pop edx
inc esp
pop eax
inc edx
dec ebp
push esi
pop eax
push esp
dec edx
dec ebp
pushal
inc edx
pop ebx
dec esp
push esp
pushal
inc ebx
dec ebx
bound edi, qword [ecx]
sbb byte [edi], cl
test dword [eax - 0x7f000000], ebp
jl 0x454da3
sub al, 0x97
in eax, dx
daa
int1
cmove edx, ebx
push eax
call 0x454db9
rep stosb byte es:[edi], al
pop ebx
jnp 0x454df7
pushal
dec esp
push esi
imul edi, dword [eax - 0x78], 0x1d
cmp al, 0xb4
inc eax
add byte [ebx + 0x4d8bff38], al
or al, 0x33
rol byte [ebx - 0x162ee83f], 0x8b
jne 0x454db5
xor eax, eax
add ecx, 0x17
shr ecx, 1
mov esi, dword [ebp + 8]
mov eax, dword [esp + 4]
jne 0x454dda
jmp 0x454dd1
pop ebx
inc esi
inc ebp
pop ebp
push dword [esp]
add dword [esp], 0x25461
invalid
popal
push esp
add al, byte [eax]
invalid
add dword [esp + 4], 0x96
ret
dec esp
pop edi
dec ebx
dec ebx
jnp 0x454e28
inc edi
pop edx
inc ecx
pop eax
push esp
inc eax
inc edi
dec ecx
dec edi
outsb dx, byte [esi]
inc esp
pop ecx
js 0x454e2f
pop esp
pop esi
dec ecx
push ecx
push eax
dec esi
inc edx
dec eax
outsd dx, dword [esi]
push 0x57
push eax
pop ecx
imul edx, dword [eax + 0x62], 0x6864565f
push ecx
push 0x605a6653
bound ebx, qword [edi + 0x56]
push 0x53685165
pop dx
pushal
inc edx
push esp
dec esi
dec esp
pop edi
pop edi
imul edi, dword [eax + 0x45], 0x4e
arpl word [esi + 0x45], bp
popal
inc eax
dec edi
dec eax
dec ebx
inc eax
inc esi
push ecx
push ebx
push 0x505a4448
pop eax
imul eax, dword fs:[ebp + 0x43], 0x59
cmp dword [edi - 4], ebx
push 0xe1cf0e9b
call 0x454e31
wait
push cs
iretd
add byte [eax], al
lea esp, [esp + 2]
mov word [esp], ax
lahf
lock xchg word [esp], ax
lea esp, [esp - 4]
mov dword [esp], eax
call fcn.00454ea8
push ebp
push esi
pop edi
cmp ebx, 0xffffffff
mov ebp, esp
mov esi, dword [ebp - 0x14]
push eax
mov dword [ebp - 4], edi
je 0x454e6d
mov eax, dword [ebp + 8]
mov dword [ebp - 0x228], edx
xor eax, eax
mov dword [ebx + 8], edx
mov dword fs:[0], ecx
add byte [eax], al
add byte [eax], al
push 0xc
cdq
call fcn.00457450
call esi
pop esi
mov esi, dword [sym.imp.KERNEL32.dll_LCMapStringA]
mov dword [ebp - 0x20], eax
push eax
je 0x454efd
mov eax, dword [esi]
call 0x454be0
add ecx, 4
inc eax
pop ebp
ret
push eax
inc eax
imul edx, dword [edx + 0x43], 0x5a
inc ebx
pop esp
pop eax
pop esp
inc edi
inc ebp
inc edi
push eax
push esi
dec esp
push ebp
outsb dx, byte [esi]
push edi
imul ebx, dword fs:[edi + 0x4a], 0x50
inc ebx
inc esp
dec ebp
inc ebp
popal
inc ebx
bound edx, qword [ebp + 0x62]
pop esi
push ebp
push 0x40
dec ebx
pop edx
popal
pop edx
pop ebp
dec eax
pop eax
js 0x454f6b
dec ebp
dec ebx
bound ebp, qword [esi + 0x6d]
push ebp
push 0x5c4b4141
dec ebx
pop esp
pop edi
jns 0x454f8d
pop edx
push ecx
dec eax
dec ebp
inc ebx
outsb dx, byte [esi]
inc ebp
popal
imul esp, dword [ebx + 0x44], 0x4455414d
push ebp
inc esp
pop edi
imul esp, dword [ebx + 0x55], 0x5d
dec ecx
dec ebp
inc ebx
dec ebx
dec esi
mov eax, dword [edi + 4]
cmp eax, ebx
push 0x1dd
pushfd
push ebp
call 0x454f95
mov eax, edi
jb 0x454f34
mov edi, eax
clc
jmp 0x455026
mov bh, 0
add byte [eax], al
xor ecx, edx
push ebx
mov ecx, dword [ebp - 0x1c]
jmp 0x454f91
jmp 0x454f69
mov ebp, esp
dec esi
insb byte es:[edi], dx
invalid
invalid