Function at 0x4ab450
Capabilities:
Create thread
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e9f8c
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x7ce4e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x150], ebx
call fcn.00499a50
lea edi, [ebx + 0x124]
mov dword [ebp - 4], 0
mov ecx, edi
call fcn.00499a50
lea ecx, [ebp - 0x138]
mov dword [ebx + 0x248], 0
call fcn.00499a50
mov byte [ebp - 0x144], 0
mov dword [ebp - 0x148], 0
lea edx, [ebp - 0x138]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x148]
call fcn.004a40b0
test al, al
jne 0x4ab537
mov edi, dword [ebp - 0x148]
test edi, edi
je 0x4ab761
mov esi, edi
mov edi, dword [esi + 0x124]
test esi, esi
je 0x4ab52e
mov dword [esi], vtable.t_str.0
cmp byte [esi + 0x11c], 0
jne 0x4ab520
mov ecx, dword [esi + 8]
lea eax, [esi + 0xc]
cmp ecx, eax
je 0x4ab520
push ecx
call fcn.005cff1c
add esp, 4
push 0x128
push esi
call fcn.005be247
add esp, 8
test edi, edi
jne 0x4ab4f2
jmp 0x4ab761
cmp byte [ebp - 0x1c], 0
lea ecx, [ebp - 0x12c]
mov eax, 0x786008
cmove ecx, dword [ebp - 0x130]
add ecx, 4
mov dword [ebp - 0x13c], ecx
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x140], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ab564
sub ecx, edx
sar ecx, 1
mov dword [ebx + 4], ecx
lea eax, [ecx + 1]
push eax
lea ecx, [ebx + 8]
mov dword [ebp - 0x14c], eax
call fcn.0049a590
cmp byte [ebx + 0x11c], 0
lea ecx, [ebx + 0xc]
jne 0x4ab597
mov ecx, dword [ebx + 8]
mov eax, dword [ebp - 0x14c]
add ecx, 4
add eax, eax
push eax
push dword [ebp - 0x140]
push ecx
call fcn.005c0660
add esp, 0xc
push 0x785c68
push 0x791e68
push ebx
call fcn.0049a160
add esp, 0xc
push 0x794670
push 0x791e68
push ebx
call fcn.0049a160
mov eax, dword [ebp - 0x13c]
add esp, 0xc
test eax, eax
mov ecx, 0x786008
cmovne ecx, eax
mov dword [ebp - 0x140], ecx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ab5f1
sub ecx, edx
sar ecx, 1
mov dword [edi + 4], ecx
lea eax, [ecx + 1]
push eax
lea ecx, [edi + 8]
mov dword [ebp - 0x13c], eax
call fcn.0049a590
cmp byte [edi + 0x11c], 0
lea ecx, [edi + 0xc]
jne 0x4ab624
mov ecx, dword [edi + 8]
mov eax, dword [ebp - 0x13c]
add ecx, 4
add eax, eax
push eax
push dword [ebp - 0x140]
push ecx
call fcn.005c0660
add esp, 0xc
push 0x785c68
push 0x791e68
push edi
call fcn.0049a160
add esp, 0xc
push str.sign.ini
push 0x791e68
push edi
call fcn.0049a160
add esp, 0xc
push 0x234
call fcn.005be217
add esp, 4
mov dword [ebp - 0x13c], eax
push str.Localcs_logsignature
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.004aae90
cmp byte [0x7f8e74], 0
mov dword [ebx + 0x24c], eax
jne 0x4ab717
cmp byte [0x7f8e77], 0
je 0x4ab717
cmp dword [0x7d7ff0], 0
je 0x4ab701
push 0xc
call fcn.005cff37
mov esi, eax
add esp, 4
cmp dword [0x7d7ff0], 0
mov dword [esi], 0x4abcc0
mov dword [esi + 4], ebx
jne 0x4ab6e0
mov dword [esi + 8], 0
push esi
call fcn.005cff1c
add esp, 4
xor eax, eax
jmp 0x4ab711
push dword [0x7d7ff8]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esi + 8], eax
test eax, eax
je 0x4ab6d3
lock inc dword [eax + 4]
push esi
push 0
push 0x4f7de0
jmp 0x4ab709
push ebx
push 0
push 0x4abcc0
call fcn.005d0341
add esp, 0xc
mov dword [ebx + 0x248], eax
mov edi, dword [ebp - 0x148]
test edi, edi
je 0x4ab761
mov esi, edi
mov edi, dword [esi + 0x124]
test esi, esi
je 0x4ab75d
mov dword [esi], vtable.t_str.0
cmp byte [esi + 0x11c], 0
jne 0x4ab74f
mov ecx, dword [esi + 8]
lea eax, [esi + 0xc]
cmp ecx, eax
je 0x4ab74f
push ecx
call fcn.005cff1c
add esp, 4
push 0x128
push esi
call fcn.005be247
add esp, 8
test edi, edi
jne 0x4ab721
cmp byte [ebp - 0x1c], 0
mov dword [ebp - 0x138], vtable.t_str.0
jne 0x4ab78a
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x12c]
cmp eax, ecx
je 0x4ab78a
push eax
call fcn.005cff1c
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005be209
mov esp, ebp
pop ebp
ret