Function at 0x30004115
Capabilities:
Allocate thread local storage

Disassembly:
push 0x21c
mov eax, 0x30042b40
call fcn.30013068
mov esi, ecx
mov dword [ebp - 0x10], esi
or dword [esi], 0xffffffff
push dword [0x30053bc8]
lea ecx, [esi + 4]
push 0x18
push 0x30004160
push 0x50
call main
and dword [ebp - 4], 0
call dword [sym.imp.kernel32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [esi], eax
je 0x30016d4d
mov eax, esi
call fcn.300130d6
ret
and dword [esi + 4], 0
and dword [esi + 8], 0
and dword [esi + 0xc], 0
pop esi
ret
mov eax, esi
pop esi
pop ebp
ret 4
push 0x30016d88
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
lea eax, [ebp - 0x228]
push eax
call main
add esp, 0xc
push 0x43
pop ecx
mov esi, eax
push 0x30049d54
lea eax, [ebp - 0x11c]
lea edi, [ebp - 0x11c]
push eax
rep movsd dword es:[edi], dword [esi]
call main
nop
nop
push esp
insb byte es:[edi], dx
jae 0x30016dcd
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], sp
popaw
imul ebp, dword [ebp + esi*2 + 0x72], 0xd0680065
insd dword es:[edi], dx
add dword [eax], esi
lea eax, [ebp - 0x218]
push 0x3a
push eax
call main
add esp, 0xc
push 0x43
pop ecx
mov esi, eax
push 0x30049d54
lea eax, [ebp - 0x10c]
lea edi, [ebp - 0x10c]
push eax
rep movsd dword es:[edi], dword [esi]
call main
nop
nop
nop
arpl word [edi + 0x75], bp
outsb dx, byte [esi]
je 0x30016e3b
pop edi
jo 0x30016e4e
jb 0x30016dfc
arpl word [ecx + 0x6e], sp
outsb dx, byte [esi]
outsd dx, dword [esi]
je 0x30016e03
popal
jo 0x30016e56
insb byte es:[edi], dx
jns 0x30016e09
outsd dx, dword [esi]
jo 0x30016e51
jb 0x30016e4f
je 0x30016e5f
jb 0x30016e12
daa
sub eax, 0x7420273e
outsd dx, dword [esi]
and byte [ecx + 0x6e], ah
and byte [ebp + 0x6d], ah
jo 0x30016e75
jns 0x30016e23
outsd dx, dword [esi]
bound ebp, qword [edx + 0x65]
arpl word [eax + 0x70], si
outsd dx, dword [esi]
and byte [eax + 0x6f], dh
imul ebp, dword [esi + 0x74], 0x56007265
push esi
push dword [esi + 8]
push eax
call main
push dword [esi + 4]
call main
pop ecx
jmp 0x3000d7fc
add byte [ecx - 0x17], bl
shr byte [ecx - 1], cl
jmp dword [ecx]
add byte [eax], dh
push 0x43
pop ecx
mov dword [ebp - 4], eax
push 0x30049d54
lea eax, [ebp - 0x218]
lea esi, [ebp - 0x10c]
lea edi, [ebp - 0x218]
mov byte [ebp - 0x108], 0
mov ch, 0xf4
invalid
call 0xf7016e58
test eax, edi
invalid
inc dword [eax]
push eax
rep movsd dword es:[edi], dword [esi]
call main
push 0x30016ea0
lea eax, [ebp - 0x218]
push 0x58
pop eax
push eax
call main
add esp, 0xc
push 0x43
pop ecx
mov esi, eax
push 0x30049d54
lea eax, [ebp - 0x10c]
lea edi, [ebp - 0x10c]
push eax
rep movsd dword es:[edi], dword [esi]
call main
nop
nop
nop
dec ecx
outsb dx, byte [esi]
jbe 0x30016f05
insb byte es:[edi], dx
imul esp, dword [eax + 0x72], 0x72756365
jae 0x30016f18
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
jne 0x30016f23
je 0x30016eb7
push esi
call main
pop ecx
jmp 0x300132d1
lea eax, [ebp - 0x330]
push eax
call main
add esp, 0xc
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x118]
rep movsd dword es:[edi], dword [esi]
push 0x30049d54
lea eax, [ebp - 0x118]
push eax
call main
push 0x30016f44
push 0x3d
jmp 0x30016eca
lea eax, [ebp - 0x43c]
push 0x3f
push eax
call main
add esp, 0xc
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x224]
rep movsd dword es:[edi], dword [esi]
push 0x30049d54
lea eax, [ebp - 0x224]
jmp 0x30016ef1