Function at 0x405e50
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
or ebp, esp
push esi
enter 0x875, 0x57
mov eax, dword [esi + 0xa]
test eax, eax
jne 0x405b87
mov eax, dword [esi - 0x27]
cmp byte [eax], 0
jne 0x405bd6
mov ecx, dword [esi + 0xc]
inc dword [esi + 0x18]
cmp ecx, eax
invalid
mov edx, dword [esi + 0x20]
mov edi, dword [ebp + 0x5c]
movsx edi, byte [0x2f8d93a]
inc eax
inc esi
adc byte [ecx - 0x7bf0dfaa], cl
rol byte [eax], 1
add byte [eax], al
push eax
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x405cbf
cmp byte [eax + 1], 0x3a
je 0x405c22
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x8c0000
mov edx, dword [esi + 0x20]
cmp byte [edx], 0
cmovo edx, dword [edx - 0x17000000]
mov al, byte [eax + eax - 0x78b97500]
mov eax, dword [esi - 0x79]
cmp cl, 0
je 0x405c31
mov ecx, dword [ebp - 0x57]
mov dword [ecx], eax
or esi, dword [esp + esi*2 + 0x56]
je 0x405c89
or al, 0x8b
dec esi
aad 0x42
mov eax, edx
mov dword [esi + 0xc], edx
cmp ecx, eax
retf
cmp al, 0x8a
push esi
adc byte [edi + 0x51], bl
mov byte [eax], dl
mov eax, 0x1117c
pop ebp
ret 0x10
inc dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov cl, byte [esi + 0x10]
pop edi
xor eax, eax
mov byte [edx], cl
pop esi
pop ebp
cmp dl, byte [eax]
add byte [ebx + 0xf2dbb7e], al
test dl, bh
invalid
cmp dword [esi - 0x45], 0x2d
je 0x48405bc3
mov edx, dword [esi + 0x20]
cmp byte [edx], 0
jne 0x405cd4
inc dword [esi + 0xc]
mov eax, dword [esi + 4]
test eax, eax
je 0x405cff
and dh, 0x3a
je 0x405cff
or al, 0xa5
sbb al, 0x8b
jae 0x405cf6
push eax
mov edx, dword [ecx]
clc
call 0x3783a580
push eax
mov eax, dword [esi - 0x4e]
push 0xdcf395
fadd qword [eax]
push eax
jmp dword [ecx]
mov eax, dword [esi + edi*4 + 0x5f874e8a]
mov eax, 0x1117c
jle 0x405d17
int1
sub dl, al
adc byte [eax], al
push esi
nop
nop
nop
nop
nop
nop
nop
jle 0x405cac
nop
nop
nop
nop
imul edi, edx, 0x575651ec
call fcn.00405f20
test dword [edx + 0x6afd85d7], edi
add byte [eax], al
adc dword [ecx + edi*4 + 8], 0x41
pushfd
adc al, 0xe1
mov esi, gs
add byte [ecx], ah
mov eax, dword [0x410384]
test eax, eax
jne 0x405e2e
mov dword [0xbc0384], 0x45000001
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, ebx
test esi, esi
je 0x405db3
mov eax, dword [0x5a7b41]
test eax, eax
jne 0x405d89
push eax
add al, 0x10
pop eax
lodsb al, byte [esi]
add byte [edx + 4], ch
call fcn.0040a940
add dword [esp + ecx + 0x5c0358a3], 0
mov ebx, 0xaf630fc0
add byte [eax], al
add byte [ebp + 0x5651cd4d], cl
lea ecx, [ebp - 0x33]
push ecx
push esi
call eax
mov eax, dword [ebp - 0x7b]
int 0x74
sbb eax, 0x8bfc558b
inc ebp
or al, 0x52
lodsd eax, dword [esi]
push eax
add eax, 0x354828
mov ecx, dword [ebp + 8]
add esp, 0x3a
push esi
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
pushal
adc eax, 0x406254
mov ebx, eax
push 0xffffffffffffffff
push ebx
call dword [0x86c124]
push eax
sub byte [ebp - 0x74ffffc5], al
jge 0x405dde
and edx, 0xc
jae 0x405e3f
je 0x405e02
lea esi, [eax*4 + 0x8804]
push esi
call dword [sym.imp.MSVCRT.dll_malloc]
adc eax, sym.imp.MSVCRT.dll_malloc
rol esi, 1
add al, 0x89
pop es
and eax, 0x43c12481
add byte [ebx - 0x744b74c1], cl
push esi
mov ebp, dword [ebx - 0x3f]
jmp 0x8be650fe
push ebx
aas
adc eax, 0x54405e50
mov esi, dword [0x66400a28]
shr ebx, 1
mov ecx, dword [eax]
sbb dword [ebp - 0xe98b37], eax
aad 0x8b
cmp byte [0xc757d6], al
add dword [eax], 0
push esp
leave
adc eax, 0x404f30
and dword [eax], 4
xor eax, eax
pop edi
pop esi
mov esp, ebp
mov ebx, 0x6a000cc2
add edi, edi
adc eax, sym.imp.KERNEL32.dll_SetLastError
jmp 0xffcd5db3
add cl, ch
outsb dx, byte [esi]
dec dword [edi + edi*8 - 0x6f6f6f70]
nop
nop
das
mov edx, 0xf9909090
nop
push ebp
mov ebp, esp
jle 0x405e47
inc ebp
or al, 0x15
or ebx, dword [ebp + 0x10]
push esi
test ebx, ebx
lcall 0, 0x1bba77d
add byte [esi - 0x64], ah
pushf
cmp byte [eax], al
jne 0x405e74
cmp word [eax + 2], 0xffcf
je 0x405e79
inc ebx
add eax, 2
jmp 0x405e66
cld
inc ebp
or al, 0x98
rol byte [edx], 0xd1
clc
mov dword [eax + edx], ecx
lea eax, [ebx*4 + 4]
push eax
call dword [0x40ed5c]
mov edi, eax
mov eax, dword [ebp + 0x10]
lea esi, [eax + eax*2 + 0x77]
push esi
mov dword [0x5c15fffc], esi
rol dword [eax], 0x83
or edx, dword [esi - 0x76032f73]
pop es
sub eax, 0x74511056
mov edi, ebp
or al, 0x52
push eax
call 0x4eac1a
mov edx, dword [ebp - 4]
mov eax, dword [edi]
popal
push esi
mov eax, 0xf220c7ff
inc eax
add dh, ah
add edi, ebp
add byte [eax], al
push eax
les ecx, [eax]
cmp edi, dword [ecx + 0x297e0789]
xor ecx, dword [ebx - 1]
lea eax, [edi + 4]
mov dword [ebp + 0xc], ecx
inc ecx
push edi
push eax
cld
add edx, 0xffffff92
sti
adc byte [eax + esi], ah
lea edx, [esi]
push cs
test dl, dl
mov dword [ebp + esi*2 - 0x7e], ecx
mov edx, dword [ebp + 0xc]
add eax, 4
dec edx
mov dword [esi + 0xc], ebx
jecxz 0x405ee3
mov eax, dword [ebp + 8]
invalid