Function at 0x426a60
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov eax, ecx
mov esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
push edi
test eax, eax
je 0x426c6f
mov ebx, dword [0x43acb8]
cmp ebx, 0x43acb8
je 0x426b3d
cmp dword [ebx + 0x10], 1
jne 0x426acb
push 0
push dword [ebx + 8]
lea edi, [ebx + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x426acb
mov ecx, dword [ebx]
mov esi, ebx
mov ebx, ecx
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov dword [ecx + 4], eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.00408e0e
add esp, 4
jmp 0x426acd
mov ebx, dword [ebx]
cmp ebx, 0x43acb8
jne 0x426a92
mov ebx, dword [0x43acb8]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp ebx, 0x43acb8
je 0x426b3d
lea edi, [eax + 0x1244]
mov ecx, edi
lea eax, [ebx + 0x3e8]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x426b26
test dx, dx
je 0x426b22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x426b26
add eax, 4
add ecx, 4
test dx, dx
jne 0x426b00
xor eax, eax
jmp 0x426b2b
sbb eax, eax
or eax, 1
test eax, eax
je 0x426bf0
mov ebx, dword [ebx]
cmp ebx, 0x43acb8
jne 0x426af1
cmp esi, 0xffffffff
je 0x426c6f
push 0x5f0
call fcn.0040890c
add esp, 4
mov ebx, eax
push 0x5f0
push 0
push ebx
call fcn.004023d0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
movzx eax, byte [ecx + 0x1675]
mov dword [ebx + 0x14], eax
lea eax, [ecx + 0x1244]
push 0x104
push eax
lea eax, [ebx + 0x3e8]
push eax
call fcn.0040915b
lea edi, [ebx + 0x200]
add esp, 0xc
mov dword [edi], 0xffffffff
lea eax, [esp + 0x18]
mov dword [edi + 4], 0xffffffff
mov esi, edi
mov ecx, 0x76
add edi, 8
rep movsd dword es:[edi], dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x1c]
xor edi, edi
mov esi, dword [esp + 0x14]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 8], 0
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], esi
cmp eax, 3
jne 0x426c78
cmp esi, eax
ja case.default.0x426be9
jmp dword [esi*4 + 0x426c9c]
mov edi, 1
cmp esi, 0xffffffff
jne 0x426bcc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x426720
jmp 0x426c15
mov eax, 0x4268f0
jmp 0x426c15
mov eax, dword [esp + 0x14]
push 0
push 4
push dword [esp + 0x18]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xfffffffffffffffe
push eax
mov dword [ebx + 8], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp dword [ebx + 8], 0
je 0x426c48
cmp eax, 0xffffffff
jne 0x426c78
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
mov esi, eax
call fcn.00408e0e
add esp, 4
neg esi
push esi
push str.Error_create_thread
push dword [0x43ad48]
call fcn.00426320
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x426c92
mov eax, dword [0x43acbc]
mov dword [ebx], 0x43acb8
mov dword [ebx + 4], eax
mov dword [eax], ebx
mov dword [0x43acbc], ebx
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret