Function at 0x10019640
Capabilities:
Allocate thread local storage
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], 0
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push 0x7d0
lea eax, [edi + 4]
mov dword [edi], 0x10068a40
push eax
call esi
push 0x7d0
lea eax, [edi + 0x1c]
push eax
call esi
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov byte [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x74], 0xf
mov dword [edi + 0x70], 0
mov byte [edi + 0x60], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
mov dword [edi + 0x78], eax
push 0x24
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
call fcn.1003adf2
add esp, 4
test eax, eax
je 0x10019703
mov dword [eax], eax
lea ecx, [eax + 4]
test ecx, ecx
je 0x1001970c
mov dword [ecx], eax
mov dword [edi + 0x7c], eax
lea ecx, [edi + 0x78]
push 8
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov dword [edi + 0x78], 0x3f800000
call fcn.100038d0
push ecx
lea eax, [esp + 0xc]
mov dword [edi + 0x98], 0
push eax
lea ecx, [edi + 0x9c]
mov dword [esp + 0x10], 0
call fcn.1001c520
lea esi, [edi + 0xbc]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
mov dword [esi], eax
push 0x24
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.1003adf2
add esp, 4
test eax, eax
je 0x10019793
mov dword [eax], eax
lea ecx, [eax + 4]
test ecx, ecx
je 0x1001979c
mov dword [ecx], eax
mov dword [esi + 4], eax
mov ecx, esi
push 8
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0x3f800000
call fcn.100038d0
lea esi, [edi + 0xdc]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
mov dword [esi], eax
push 0x20
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.1003adf2
add esp, 4
test eax, eax
je 0x100197f5
mov dword [eax], eax
lea ecx, [eax + 4]
test ecx, ecx
je 0x100197fe
mov dword [ecx], eax
mov dword [esi + 4], eax
mov ecx, esi
push 8
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0x3f800000
call fcn.100038d0
lea esi, [edi + 0xfc]
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
mov dword [esi], eax
push 0x24
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.1003adf2
add esp, 4
test eax, eax
je 0x10019857
mov dword [eax], eax
lea ecx, [eax + 4]
test ecx, ecx
je 0x10019860
mov dword [ecx], eax
mov dword [esi + 4], eax
mov ecx, esi
push 8
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0x3f800000
call fcn.100038d0
mov dword [edi + 0x120], 0
lea ecx, [edi + 0x170]
mov dword [edi + 0x124], 0
mov dword [edi + 0x128], 0
mov dword [edi + 0x12c], 0
mov dword [edi + 0x130], 0
mov dword [edi + 0x138], 0
mov dword [edi + 0x13c], 0
mov dword [edi + 0x140], 0
mov dword [edi + 0x144], 0
mov dword [edi + 0x148], 0
mov dword [edi + 0x160], 0xf
mov dword [edi + 0x15c], 0
mov byte [edi + 0x14c], 0
mov dword [edi + 0x164], 1
mov dword [edi + 0x168], 0
mov dword [edi + 0x16c], 0
call fcn.1002cd20
lea ecx, [edi + 0x1b4]
call fcn.1002cd20
mov esi, dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [edi + 0x1f8], 0
call esi
mov dword [edi + 0x1f8], eax
cmp eax, 0xffffffff
jne 0x10019965
cmp byte [0x102aa130], 0
jne 0x10019ae9
int3
mov dword [edi + 0x1fc], 0
call esi
mov dword [edi + 0x1fc], eax
cmp eax, 0xffffffff
jne 0x1001998a
cmp byte [0x102aa130], 0
jne 0x10019af0
int3
mov dword [edi + 0x200], 0
call esi
mov dword [edi + 0x200], eax
cmp eax, 0xffffffff
jne 0x100199af
cmp byte [0x102aa130], 0
jne 0x10019af7
int3
lea esi, [edi + 0x204]
mov dword [esi], 0
push 0xc
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.1003adf2
add esp, 4
test eax, eax
je 0x100199d9
mov dword [eax], eax
lea ecx, [eax + 4]
test ecx, ecx
je 0x100199e2
mov dword [ecx], eax
mov dword [esi + 4], eax
mov ecx, esi
push 8
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0x3f800000
call fcn.100038d0
mov dword [edi + 0x224], 0
mov dword [edi + 0x228], 0
mov dword [edi + 0x22c], 0
mov dword [edi + 0x230], 0
mov dword [edi + 0x234], 0
mov dword [edi + 0x238], 0
mov dword [edi + 0x23c], 0
mov dword [edi + 0x240], 0
mov byte [edi + 0x244], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [edi + 0x130], eax
push 0x100
cdq
push 0x1b3
xor edx, 0xcbf29ce4
xor eax, 0x84222325
push edx
push eax
call fcn.1003b8e0
mov ecx, edi
mov dword [edi + 0x128], eax
mov dword [edi + 0x12c], edx
call fcn.1001baa0
mov ecx, dword [edi + 0x3c]
mov dword [edi + 0x3c], eax
test ecx, ecx
je 0x10019aac
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [0x102ab130]
mov dword [esp + 0xc], 0
test eax, eax
jne 0x10019ac2
call fcn.1002f200
lea ecx, [esp + 8]
mov dword [esp + 8], 0
push ecx
lea ecx, [esp + 0x10]
push ecx
push str.TraceLog
push edi
mov ecx, eax
call fcn.1002e880
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 1
call fcn.10044ba3
push 1
call fcn.10044ba3
push 1
call fcn.10044ba3
int3