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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [0x4b0780]
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.00426f70
sub esp, 8
mov dword [edi + 0x88], 0
lea ecx, [edi + 0x8c]
call fcn.004436a0
sub esp, 8
lea ecx, [edi + 0xac]
call fcn.00426f70
sub esp, 8
lea ecx, [edi + 0xcc]
call fcn.00443730
sub esp, 8
lea ecx, [edi + 0xec]
call fcn.00426f70
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 0x4143e0
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.0041abf0
lea eax, [esp + 0xcc]
push eax
lea ecx, [edi + 0x17c]
call fcn.00442230
cmp dword [esp + 0xe0], 0x10
jb 0x43fb53
push dword [esp + 0xcc]
call fcn.0048cf69
add esp, 4
push 0xe
push 0x4143e0
lea ecx, [esp + 0xd4]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], 0
mov byte [esp + 0xd4], 0
call fcn.0041abf0
lea eax, [esp + 0xcc]
push eax
lea ecx, [edi + 0x1ac]
call fcn.00442230
cmp dword [esp + 0xe0], 0x10
jb 0x43fbb0
push dword [esp + 0xcc]
call fcn.0048cf69
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 0x43fbdb
cmp byte [0x4b7268], 0
jne 0x43ff2f
int3
mov dword [edi + 0x1e0], 0
call esi
mov dword [edi + 0x1e0], eax
cmp eax, 0xffffffff
jne 0x43fc00
cmp byte [0x4b7268], 0
jne 0x43ff36
int3
mov dword [edi + 0x1e4], 0
call esi
mov dword [edi + 0x1e4], eax
cmp eax, 0xffffffff
jne 0x43fc25
cmp byte [0x4b7268], 0
jne 0x43ff3d
int3
sub esp, 8
lea ecx, [edi + 0x1e8]
call fcn.004439c0
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.0048e170
mov esi, dword [0x4b60cc]
mov dword [edi + 0x118], eax
mov dword [edi + 0x11c], edx
test esi, esi
je 0x43fef8
push 0x10
push 0x414434
lea ecx, [esp + 0xd4]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], 0
mov byte [esp + 0xd4], 0
call fcn.0041abf0
lea eax, [esp + 0xcc]
push eax
lea ecx, [esi + 0xc]
mov esi, dword [ecx]
lea eax, [esp + 0x10]
push eax
call fcn.00419ca0
cmp dword [eax], esi
setne bl
cmp dword [esp + 0xe0], 0x10
jb 0x43fd3a
push dword [esp + 0xcc]
call fcn.0048cf69
add esp, 4
test bl, bl
je 0x43fef8
push 0x10
push 0x414434
lea ecx, [esp + 0xec]
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], 0
mov byte [esp + 0xec], 0
call fcn.0041abf0
mov ecx, dword [0x4b60cc]
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.00418480
cmp dword [esp + 0xf8], 0x10
jb 0x43fda7
push dword [esp + 0xe4]
call fcn.0048cf69
add esp, 4
cmp dword [esp + 0xdc], 0
lea ecx, [esp + 0xcc]
jne 0x43fdc6
push 0xa
push 0x413eb8
call fcn.0041abf0
jmp 0x43fde5
push 1
push 0x413d3c
call fcn.00419e80
push 0xa
push 0x413eb8
lea ecx, [esp + 0xd4]
call fcn.00419e80
cmp dword [0x4b60d8], 2
jg 0x43fe90
mov ebx, 1
mov dword [esp + 0x18], 2
push ebx
push 2
lea ecx, [esp + 0x28]
call fcn.0041f3a0
mov dword [esp + 0xbc], 0x413f68
mov dword [esp + 0xc0], 0x4e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4e2
push 0x413f68
lea ecx, [esp + 0x20]
mov dword [esp + 0xcc], eax
call fcn.00420090
push 0x41406c
lea eax, [esp + 0xd0]
push eax
push 0x414054
push 0x414434
lea eax, [esp + 0x30]
push 0x414070
push eax
call fcn.0041bbb0
add esp, 8
push eax
call fcn.0041bbb0
add esp, 8
push eax
call fcn.0041bbb0
add esp, 8
push eax
call fcn.0041b930
add esp, 8
push eax
call fcn.0041bbb0
add esp, 8
jmp 0x43fe94
mov ebx, dword [esp + 0x14]
test bl, 1
je 0x43fea2
lea ecx, [esp + 0x18]
call fcn.0041fe10
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.00442230
push eax
mov ecx, edi
call fcn.00440680
lea ecx, [esp + 0xe4]
call fcn.00442470
cmp dword [esp + 0xe0], 0x10
jb 0x43fef8
push dword [esp + 0xcc]
call fcn.0048cf69
add esp, 4
mov ecx, edi
call fcn.00440a90
mov ecx, dword [edi + 0x38]
mov esi, eax
mov dword [edi + 0x38], 0
test ecx, ecx
je 0x43ff15
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.00490c9e
mov esp, ebp
pop ebp
ret
push 1
call fcn.0048e41d
push 1
call fcn.0048e41d
push 1
call fcn.0048e41d
int3