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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [0x4b1810]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push edi
mov edi, ecx
mov dword [esp + 0x14], 0
push 0x7d0
push edi
call esi
push 0x7d0
lea eax, [edi + 0x18]
push eax
call esi
mov dword [edi + 0x30], 0
lea ecx, [edi + 0x68]
mov dword [edi + 0x34], 0
sub esp, 8
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov byte [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x64], 0xf
mov dword [edi + 0x60], 0
mov byte [edi + 0x50], 0
call fcn.00425e10
sub esp, 8
mov dword [edi + 0x88], 0
lea ecx, [edi + 0x8c]
call fcn.00442ad0
sub esp, 8
lea ecx, [edi + 0xac]
call fcn.00425e10
sub esp, 8
lea ecx, [edi + 0xcc]
call fcn.00442b60
sub esp, 8
lea ecx, [edi + 0xec]
call fcn.00425e10
mov dword [edi + 0x110], 0
lea ecx, [esp + 0xcc]
mov dword [edi + 0x114], 0
mov dword [edi + 0x118], 0
mov dword [edi + 0x11c], 0
mov dword [edi + 0x120], 0
mov dword [edi + 0x128], 0
mov dword [edi + 0x12c], 0
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 0
mov dword [edi + 0x14c], 0xf
mov dword [edi + 0x148], 0
mov byte [edi + 0x138], 0
mov dword [edi + 0x150], 0
mov dword [edi + 0x168], 0xf
mov dword [edi + 0x164], 0
mov byte [edi + 0x154], 0
mov dword [edi + 0x16c], 1
push 0xe
mov dword [edi + 0x170], 0
push 0x413ec8
mov dword [edi + 0x174], 0
mov dword [edi + 0x178], 0
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], 0
mov byte [esp + 0xd4], 0
call fcn.0041a5e0
lea eax, [esp + 0xcc]
push eax
lea ecx, [edi + 0x17c]
call fcn.00441660
cmp dword [esp + 0xe0], 0x10
jb 0x43ef83
push dword [esp + 0xcc]
call fcn.0048d7cb
add esp, 4
push 0xe
push 0x413ec8
lea ecx, [esp + 0xd4]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], 0
mov byte [esp + 0xd4], 0
call fcn.0041a5e0
lea eax, [esp + 0xcc]
push eax
lea ecx, [edi + 0x1ac]
call fcn.00441660
cmp dword [esp + 0xe0], 0x10
jb 0x43efe0
push dword [esp + 0xcc]
call fcn.0048d7cb
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [edi + 0x1dc], 0
call esi
mov dword [edi + 0x1dc], eax
cmp eax, 0xffffffff
jne 0x43f00b
cmp byte [0x4b82e4], 0
jne 0x43f35f
int3
mov dword [edi + 0x1e0], 0
call esi
mov dword [edi + 0x1e0], eax
cmp eax, 0xffffffff
jne 0x43f030
cmp byte [0x4b82e4], 0
jne 0x43f366
int3
mov dword [edi + 0x1e4], 0
call esi
mov dword [edi + 0x1e4], eax
cmp eax, 0xffffffff
jne 0x43f055
cmp byte [0x4b82e4], 0
jne 0x43f36d
int3
sub esp, 8
lea ecx, [edi + 0x1e8]
call fcn.00442df0
mov dword [edi + 0x208], 0
mov dword [edi + 0x20c], 0
mov dword [edi + 0x210], 0
mov dword [edi + 0x214], 0
mov dword [edi + 0x22c], 0xf
mov dword [edi + 0x228], 0
mov byte [edi + 0x218], 0
mov dword [edi + 0x230], 0
mov dword [edi + 0x234], 0
mov byte [edi + 0x238], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [edi + 0x120], eax
push 0x100
cdq
push 0x1b3
xor edx, 0xcbf29ce4
xor eax, 0x84222325
push edx
push eax
call fcn.0048e9d0
mov esi, dword [0x4b714c]
mov dword [edi + 0x118], eax
mov dword [edi + 0x11c], edx
test esi, esi
je 0x43f328
push 0x10
push 0x413ee0
lea ecx, [esp + 0xd4]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], 0
mov byte [esp + 0xd4], 0
call fcn.0041a5e0
lea eax, [esp + 0xcc]
push eax
lea ecx, [esi + 0xc]
mov esi, dword [ecx]
lea eax, [esp + 0x10]
push eax
call fcn.00419690
cmp dword [eax], esi
setne bl
cmp dword [esp + 0xe0], 0x10
jb 0x43f16a
push dword [esp + 0xcc]
call fcn.0048d7cb
add esp, 4
test bl, bl
je 0x43f328
push 0x10
push 0x413ee0
lea ecx, [esp + 0xec]
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], 0
mov byte [esp + 0xec], 0
call fcn.0041a5e0
mov ecx, dword [0x4b714c]
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.00417ea0
cmp dword [esp + 0xf8], 0x10
jb 0x43f1d7
push dword [esp + 0xe4]
call fcn.0048d7cb
add esp, 4
cmp dword [esp + 0xdc], 0
lea ecx, [esp + 0xcc]
jne 0x43f1f6
push 0xa
push 0x4139f0
call fcn.0041a5e0
jmp 0x43f215
push 1
push 0x413824
call fcn.00419870
push 0xa
push 0x4139f0
lea ecx, [esp + 0xd4]
call fcn.00419870
cmp dword [0x4b7158], 2
jg 0x43f2c0
mov ebx, 1
mov dword [esp + 0x18], 2
push ebx
push 2
lea ecx, [esp + 0x28]
call fcn.0041eb80
mov dword [esp + 0xbc], 0x413aa0
mov dword [esp + 0xc0], 0x4e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4e2
push 0x413aa0
lea ecx, [esp + 0x20]
mov dword [esp + 0xcc], eax
call fcn.0041f870
push 0x413ba4
lea eax, [esp + 0xd0]
push eax
push 0x413b8c
push 0x413ee0
lea eax, [esp + 0x30]
push 0x413ba8
push eax
call fcn.0041b5a0
add esp, 8
push eax
call fcn.0041b5a0
add esp, 8
push eax
call fcn.0041b5a0
add esp, 8
push eax
call fcn.0041b320
add esp, 8
push eax
call fcn.0041b5a0
add esp, 8
jmp 0x43f2c4
mov ebx, dword [esp + 0x14]
test bl, 1
je 0x43f2d2
lea ecx, [esp + 0x18]
call fcn.0041f5f0
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 2
push eax
push ecx
lea eax, [esp + 0xd4]
mov word [esp + 0x18], 0
push eax
lea ecx, [esp + 0xf0]
call fcn.00441660
push eax
mov ecx, edi
call fcn.0043fab0
lea ecx, [esp + 0xe4]
call fcn.004418a0
cmp dword [esp + 0xe0], 0x10
jb 0x43f328
push dword [esp + 0xcc]
call fcn.0048d7cb
add esp, 4
mov ecx, edi
call fcn.0043fec0
mov ecx, dword [edi + 0x38]
mov esi, eax
mov dword [edi + 0x38], 0
test ecx, ecx
je 0x43f345
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x114]
mov eax, edi
mov dword [edi + 0x38], esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00491511
mov esp, ebp
pop ebp
ret
push 1
call fcn.0048ec7d
push 1
call fcn.0048ec7d
push 1
call fcn.0048ec7d
int3