Function at 0x4000a4d0
Capabilities:
Allocate thread local storage

Disassembly:
mov edx, dword [0x404772ec]
mov eax, dword [0x404772e4]
mov ecx, dword [0x404772e8]
push ebx
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [0x404772d0]
push edi
xor ebx, ebx
mov dword [esp + 0x14], edx
mov edx, dword [0x404772dc]
mov edi, 0x7dff
mov dword [ebp + 4], edi
mov dword [ebp], vtable.SafeMachine::Emulator.0
mov dword [ebp + 8], 0xeeeeeeee
mov dword [ebp + 0xc], 0x7d00
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x5c], esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [ebp + 0x3c], eax
mov byte [ebp + 0x40], bl
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
call esi
mov dword [0x40075970], eax
cmp eax, 0xffffffff
jne 0x4000a572
mov dword [ebp + 4], edi
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
ret 4
call esi
mov dword [0x40075974], eax
cmp eax, 0xffffffff
je 0x4000a566
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push ebx
push 1
push ebx
call esi
mov dword [ebp + 0x48], eax
cmp eax, ebx
je 0x4000a566
push ebx
push ebx
push 1
push ebx
call esi
mov dword [ebp + 0x60], eax
cmp eax, ebx
je 0x4000a566
push 4
push 0x1000
call fcn.4000b5e0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp + 0x38], eax
cmp eax, ebx
jne 0x4000a5cb
pop edi
pop esi
mov dword [ebp + 4], 0x7d07
mov eax, ebp
pop ebp
pop ebx
ret 4
mov eax, dword [0x40477438]
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x24
push ebx
push eax
call edi
cmp eax, ebx
je 0x4000a5e9
mov esi, eax
call fcn.40001830
jmp 0x4000a5eb
xor eax, eax
mov dword [ebp + 0x20], eax
cmp eax, ebx
jne 0x4000a602
pop edi
pop esi
mov dword [ebp + 4], 0x7d05
mov eax, ebp
pop ebp
pop ebx
ret 4
mov eax, dword [eax + 4]
cmp eax, 0x7d00
je 0x4000a618
pop edi
mov dword [ebp + 4], eax
pop esi
mov eax, ebp
pop ebp
pop ebx
ret 4
mov ecx, dword [0x40477438]
push 0xc
push ebx
push ecx
call edi
cmp eax, ebx
je 0x4000a636
mov dword [eax], vtable.SafeMachine::List_class_SafeMachine::Thread_.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x4000a638
xor eax, eax
mov dword [ebp + 0x34], eax
cmp eax, ebx
je 0x4000a5f2
mov edx, dword [0x40477438]
push 0xdc
push ebx
push edx
call edi
mov ecx, eax
cmp ecx, ebx
je 0x4000a5f2
mov eax, dword [esp + 0x14]
push eax
push ebp
xor eax, eax
mov edi, ecx
call fcn.4000cb30
cmp eax, ebx
je 0x4000a5f2
mov ecx, dword [eax + 4]
mov dword [ebp + 4], ecx
cmp ecx, 0x7d00
jne 0x4000a7e0
push eax
push ebp
call fcn.4000b780
mov dword [ebp + 4], eax
cmp eax, 0x7d00
jne 0x4000a7e0
mov eax, 1
call fcn.40007410
cmp eax, ebx
je 0x4000a6a0
mov byte [eax], bl
jmp 0x4000a6a2
xor eax, eax
mov dword [ebp + 0x28], eax
cmp eax, ebx
je 0x4000a5f2
mov ecx, dword [0x40477438]
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 8
push ebx
push ecx
call esi
cmp eax, ebx
je 0x4000a6ca
mov dword [eax], ebp
mov dword [eax + 4], ebx
jmp 0x4000a6cc
xor eax, eax
mov dword [ebp + 0x24], eax
cmp eax, ebx
je 0x4000a5f2
mov edx, dword [0x40477438]
push 0x10
push ebx
push edx
call esi
mov edx, eax
cmp edx, ebx
je 0x4000a6f2
mov eax, ebp
call fcn.40001220
jmp 0x4000a6f4
xor eax, eax
mov dword [ebp + 0x2c], eax
cmp eax, ebx
je 0x4000a5f2
mov eax, dword [0x40477438]
push 0x30
push ebx
push eax
call esi
mov edi, eax
cmp edi, ebx
je 0x4000a719
mov eax, ebp
call fcn.4000dbb0
jmp 0x4000a71b
xor eax, eax
mov dword [ebp + 0x30], eax
cmp eax, ebx
je 0x4000a5f2
mov eax, dword [eax + 4]
mov dword [ebp + 4], eax
cmp eax, 0x7d00
jne 0x4000a7e0
mov ecx, dword [0x40477438]
push 0x10
push ebx
push ecx
call esi
mov ecx, eax
cmp ecx, ebx
je 0x4000a75a
mov eax, ebp
mov esi, ecx
call fcn.40010fe0
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
jmp 0x4000a75c
xor eax, eax
mov dword [ebp + 0x4c], eax
cmp eax, ebx
je 0x4000a5f2
mov eax, dword [eax + 4]
mov dword [ebp + 4], eax
cmp eax, 0x7d00
jne 0x4000a7e0
mov edx, dword [0x40477438]
push 0x28
push ebx
push edx
call esi
cmp eax, ebx
je 0x4000a793
mov esi, eax
call fcn.40013590
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
jmp 0x4000a795
xor eax, eax
mov dword [ebp + 0x50], eax
cmp eax, ebx
je 0x4000a5f2
mov eax, dword [eax]
mov dword [ebp + 4], eax
cmp eax, 0x7d00
jne 0x4000a7e0
mov eax, dword [0x40477438]
push 0x48
push ebx
push eax
call esi
cmp eax, ebx
je 0x4000a7c4
mov esi, eax
call fcn.40014ea0
jmp 0x4000a7c6
xor eax, eax
mov dword [ebp + 0x54], eax
cmp eax, ebx
je 0x4000a5f2
mov eax, dword [eax]
mov dword [ebp + 4], eax
cmp eax, 0x7d00
jne 0x4000a7e0
mov dword [ebp + 4], eax
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
ret 4