Function at 0x424284
Capabilities:
Allocate thread local storage

Disassembly:
push ebx
mov eax, 0x430080
push edi
push esi
sub esp, 0x18
call fcn.00428084
mov edx, 0x1f
mov eax, 0x4c023c
call fcn.00427748
test eax, eax
je 0x4242b0
add esp, 0x18
xor eax, eax
pop esi
pop edi
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x4c02bc], eax
cmp eax, 0xffffffff
jne 0x4242ca
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c0284
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c028c
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c0294
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c029c
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c0114
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c0174
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c01d4
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c02a4
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c02ac
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
sub esp, 0xc
mov edx, 0x4c02b4
xor eax, eax
call fcn.00425b70
push 0
xor ecx, ecx
mov edx, 0x4c0064
xor eax, eax
sub esp, 0xc
call fcn.00425b70
push 4
mov ecx, 0x1000
sub esp, 0xc
mov edx, 0x200
mov eax, 0x4c027c
call fcn.00425cc0
call fcn.00427082
add esp, 0xc0
test eax, eax
je 0x4243cd
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
call fcn.004241e5
call fcn.00426295
test eax, eax
je 0x4243e5
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
call fcn.004277d0
cmp eax, 0xffffffff
jne 0x424407
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
call fcn.004278b6
cmp eax, 0xffffffff
jne 0x424429
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
mov eax, dword [0x4c02c0]
call fcn.004283b0
cmp eax, 0xffffffff
jne 0x424450
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov ecx, dword [0x4c0258]
lea edx, [esp + 0x10]
mov eax, 0x10
call fcn.00427541
test eax, eax
je 0x424482
mov dword [0x4c0258], 0
mov eax, 0x460528
call fcn.00427f50
mov esi, eax
test eax, eax
je 0x4244c8
mov cl, byte [eax]
cmp cl, 0x6f
je 0x42449e
cmp cl, 0x4f
jne 0x4244c8
mov eax, esi
mov al, byte [eax + 1]
cmp al, 0x6e
je 0x4244ab
cmp al, 0x4e
jne 0x4244c8
mov ebx, esi
mov edx, 0x460530
lea eax, [ebx + 2]
call fcn.0042734c
cmp byte [ebx + eax + 2], 0
jne 0x4244c8
or byte [0x4c023c], 1
mov eax, 0x4c00f8
mov ebx, 0x4c0158
mov edi, 0x4c01b8
call fcn.004241a6
mov eax, ebx
call fcn.004241a6
mov eax, edi
call fcn.004241a6
mov dword [0x4c0124], ebx
mov dword [0x4c0184], edi
mov eax, 0x1000
call fcn.0041e0c0
mov dword [0x4c00f8], eax
test eax, eax
jne 0x424521
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
mov ebx, dword [0x4c00f8]
mov eax, 0x1000
mov dword [0x4c0144], ebx
call fcn.0041e0c0
mov dword [0x4c0158], eax
test eax, eax
jne 0x424558
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
mov ebx, dword [0x4c0158]
mov eax, 0x1000
mov dword [0x4c01a4], ebx
call fcn.0041e0c0
mov dword [0x4c01b8], eax
test eax, eax
jne 0x42458f
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00426920
add esp, 0x18
or eax, 0xffffffff
pop esi
pop edi
pop ebx
ret
add esp, 0x18
mov ebx, dword [0x4c01b8]
pop esi
mov dword [0x430224], 0x460534
mov dword [0x4c0204], ebx
pop edi
mov dword [0x430228], 0x460538
xor eax, eax
mov dword [0x430078], 1
pop ebx
ret