Function at 0x4273c5
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x455618
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
mov dword [ebp - 0x10], ecx
push str.GTHREAD::Start
lea ecx, [ebp - 0x170]
call fcn.004117cd
and dword [ebp - 4], 0
call fcn.00403ffc
lea eax, [ebp - 0x15b]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00426f4c
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x88]
call fcn.004084b1
test eax, eax
jne 0x42743c
mov dword [ebp - 0x30], 1
jmp 0x427440
and dword [ebp - 0x30], 0
mov al, byte [ebp - 0x30]
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15b]
call fcn.004066e8
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x427490
call fcn.00404086
push eax
lea ecx, [ebp - 0xb9]
call fcn.0040650c
mov byte [ebp - 4], 2
lea eax, [ebp - 0xb9]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00427029
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb9]
call fcn.004066e8
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x5b], 0
je 0x427520
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x10]
cmp eax, dword [ecx + 0x5b]
je 0x427520
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x10]
sub eax, dword [ecx + 0x57]
push eax
call fcn.004117bf
pop ecx
cmp eax, 0x3e8
jge 0x427520
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x10]
sub eax, dword [ecx + 0x57]
push eax
call fcn.004117bf
pop ecx
push eax
lea eax, [ebp - 0x149]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00426f4c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x90]
call fcn.00406b07
push eax
push str._GTHREAD___s__Warning_starting_thread_from_at_least_2_distinct_threads__within_1_second_interval___ld_ms__r_n
call fcn.00404807
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x149]
call fcn.004066e8
push 0
mov eax, dword [ebp - 0x10]
add eax, 0x14
push eax
lea ecx, [ebp - 0xd4]
call fcn.00425d32
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd4]
call fcn.0042147f
test eax, eax
jne 0x42776e
push str.Error
push str._TID_r_n
lea eax, [ebp - 0x12e]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [ebp - 0xef]
push eax
call fcn.00407857
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 5
push dword [ebp - 0x98]
lea eax, [ebp - 0xf8]
push eax
push str.__Current
lea eax, [ebp - 0x152]
push eax
push 0
push 0
mov eax, dword [ebp - 0x10]
push dword [eax + 0x5b]
lea eax, [ebp - 0xe6]
push eax
call fcn.00407857
add esp, 0x10
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 6
push dword [ebp - 0xa0]
lea eax, [ebp - 0x10a]
push eax
push str.__Start_called_from_two_or_more_threads_at_the_same_time__Starter_TID
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0xdd]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00426f4c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 7
push dword [ebp - 0xa8]
push str._r_n_GTHREAD__
lea eax, [ebp - 0x11c]
push eax
call fcn.00406b1f
add esp, 0xc
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xb0]
call fcn.00406c9e
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xac], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xac]
call fcn.00406b8d
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x94]
call fcn.00406c9e
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa4]
call fcn.00406b8d
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x9c]
call fcn.00406c9e
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x68]
call fcn.00406b07
push eax
call fcn.004047e3
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x12e]
call fcn.004066e8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xf8]
call fcn.004066e8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x152]
call fcn.004066e8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x10a]
call fcn.004066e8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x140]
call fcn.004066e8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x11c]
call fcn.004066e8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xdd]
call fcn.004066e8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe6]
call fcn.004066e8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xef]
call fcn.004066e8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.00425da0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x170]
call fcn.00411939
jmp 0x427b18
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x5b], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x57], eax
push 0
push 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
call dword [eax + 0x18]
mov eax, dword [ebp - 0x10]
and dword [eax + 0x31], 0
push 0
mov ecx, dword [ebp - 0x10]
call fcn.0042716a
mov eax, dword [ebp - 0x10]
and dword [eax + 0x39], 0
mov dword [ebp - 0x24], 4
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x5f], 0
je 0x4277c8
mov eax, dword [ebp - 0x24]
or eax, 0x10000
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
add eax, 0x25
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push 0x427d92
mov eax, dword [ebp - 0x10]
push dword [eax + 0x5f]
push 0
call fcn.0043dea4
add esp, 0x18
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4277fd
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x427a33
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x70], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00405ba3
pop ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jge 0x42783b
push str.Could_not_start_thread___beginthreadNT_
push dword [ebp - 0x28]
push str.GTHREAD
push 0x1e4
push str.D:projectsutil_srcgthread.cpp
call fcn.00405539
add esp, 0x14
push dword [ebp - 0x70]
lea eax, [ebp - 0x113]
push eax
call fcn.00415cbf
pop ecx
pop ecx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0xe
push dword [ebp - 0x80]
push str.Could_not_start_thread___beginthreadNT_:
lea eax, [ebp - 0x101]
push eax
call fcn.00406b1f
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x40]
call fcn.00406b07
push eax
push str.GTHREAD
push 0xd02
push 0x1e5
push str.D:projectsutil_srcgthread.cpp
call fcn.00405269
add esp, 0x14
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x101]
call fcn.004066e8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x113]
call fcn.004066e8
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x31], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x39], 1
movzx eax, byte [0x479580]
test eax, eax
jne 0x427a2e
cmp dword [0x47957c], 0
je 0x427a2e
mov byte [0x479580], 1
push 0x456610
lea ecx, [ebp - 0xc2]
call fcn.0040650c
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0xc2]
push eax
push 1
push 0
mov eax, dword [0x47957c]
push dword [eax + 0x40]
lea ecx, [ebp - 0x190]
call fcn.0041fdc7
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xc2]
call fcn.004066e8
and dword [ebp - 0x20], 0
jmp 0x427945
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [0x47957c]
mov eax, dword [eax]
mov ecx, dword [0x47957c]
call dword [eax + 8]
cmp dword [ebp - 0x20], eax
jge 0x427a1f
push dword [ebp - 0x20]
mov ecx, dword [0x47957c]
call fcn.00426804
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
call fcn.00426a79
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00426a68
push eax
lea eax, [ebp - 0x137]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00426f4c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x50]
call fcn.00406b07
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
call dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00426d82
push eax
push str._ld__ld__s__ld__ld
lea eax, [ebp - 0x125]
push eax
call fcn.004077a2
add esp, 0x1c
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x60]
call fcn.00406b07
push eax
push str.GTHREAD
push 0x1f1
push str.D:projectsutil_srcgthread.cpp
call fcn.00405307
add esp, 0x10
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x125]
call fcn.004066e8
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x137]
call fcn.004066e8
jmp 0x42793e
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x190]
call fcn.0042007b
jmp 0x427afa
push 2
push 1
push 2
mov eax, dword [ebp - 0x10]
add eax, 0x3d
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x3d], 0
jne 0x427a80
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x3d], 0xffffffff
jne 0x427a80
push 0x1f8
push str.D:projectsutil_srcgthread.cpp
push str._m_handle__m_handle_INVALID_HANDLE_VALUE_
call fcn.00404768
add esp, 0xc
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2c], 0
je 0x427aa1
cmp dword [ebp - 0x2c], 1
jne 0x427ab1
mov eax, dword [ebp - 0x10]
push dword [eax + 0x45]
mov ecx, dword [ebp - 0x10]
call fcn.004270c5
jmp 0x427afa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00405ba3
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jge 0x427ae6
push str.Could_not_resume_thread
push dword [ebp - 0x34]
push str.GTHREAD
push 0x204
push str.D:projectsutil_srcgthread.cpp
call fcn.00405539
add esp, 0x14
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x31], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x39], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.00425da0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x170]
call fcn.00411939
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret