Function at 0x467c40
Capabilities:
Create thread

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esi + 0x310], ebx
call fcn.00466120
push esi
push ebx
push 0xbb9
call fcn.00421f40
push esi
push ebx
push 0xbbb
call fcn.00421f40
push esi
push ebx
push 0xbbc
call fcn.00421f40
push esi
push ebx
push 0xbc0
call fcn.00421f40
mov eax, dword [esi + 0x2f0]
lea edi, [esi + 0x2f0]
add esp, 0x30
cmp eax, ebx
mov dword [esp + 0x10], edi
je 0x467cb4
push eax
call fcn.004208c0
add esp, 4
test eax, eax
je 0x467cb4
mov eax, dword [edi]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x20]
push 1
push ecx
mov ecx, 0x571c00
call fcn.0042c5f0
mov al, byte [esp + 0x18]
mov dword [esp + 0xc], ebx
cmp al, bl
jne 0x467d07
lea edx, [esp + 0xc]
push edx
push ebx
push esi
push 0x467be0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi], eax
mov eax, dword [0x56fbf0]
push edi
push 1
push eax
mov ecx, 0x56fbe8
call fcn.004588f0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret 4
lea ecx, [esp + 0xc]
push ecx
push ebx
push esi
push 0x467ae0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi], eax
mov eax, dword [0x56fbf0]
mov edx, dword [0x56fbf4]
mov esi, eax
sub edx, eax
sar edx, 2
cmp edx, 1
jae 0x467e2c
mov edx, dword [0x56fbec]
cmp edx, ebx
je 0x467d57
mov ecx, eax
sub ecx, edx
sar ecx, 2
cmp ecx, 1
jbe 0x467d57
mov ecx, eax
sub ecx, edx
sar ecx, 2
jmp 0x467d5c
mov ecx, 1
cmp edx, ebx
jne 0x467d64
xor eax, eax
jmp 0x467d69
sub eax, edx
sar eax, 2
add eax, ecx
cmp eax, ebx
mov dword [esp + 0x18], eax
jge 0x467d75
xor eax, eax
lea edx, [eax*4]
push ebp
push edx
call sub.MFC42.DLL_operatornew
mov ebx, dword [0x56fbec]
add esp, 4
mov ebp, eax
cmp ebx, esi
mov edi, ebp
je 0x467da8
push ebx
push edi
call fcn.00414950
add ebx, 4
add esp, 8
add edi, 4
cmp ebx, esi
jne 0x467d94
mov eax, dword [esp + 0x14]
mov ecx, 0x56fbe8
push eax
push 1
push edi
call fcn.00419b30
mov ecx, dword [0x56fbf0]
add edi, 4
push edi
push ecx
push esi
mov ecx, 0x56fbe8
call fcn.00480680
mov edx, dword [0x56fbf0]
mov eax, dword [0x56fbec]
push edx
push eax
mov ecx, 0x56fbe8
call fcn.0040d6e0
mov ecx, dword [0x56fbec]
push ecx
call sub.MFC42.DLL_operatordelete
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, 0x56fbe8
lea eax, [ebp + edx*4]
mov dword [0x56fbf4], eax
call fcn.0040d680
lea ecx, [ebp + eax*4 + 4]
mov dword [0x56fbec], ebp
pop ebp
pop edi
pop esi
mov dword [0x56fbf0], ecx
mov eax, 1
pop ebx
add esp, 8
ret 4
mov edx, eax
sub edx, esi
sar edx, 2
cmp edx, 1
jae 0x467e81
lea ecx, [esi + 4]
push ecx
push eax
push esi
mov ecx, 0x56fbe8
call fcn.00480680
mov eax, dword [0x56fbf0]
mov ecx, 1
mov edx, eax
push edi
sub edx, esi
sar edx, 2
sub ecx, edx
push ecx
push eax
mov ecx, 0x56fbe8
call fcn.00419b30
mov ecx, dword [0x56fbf0]
mov eax, esi
cmp esi, ecx
je 0x467ec2
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x467e74
jmp 0x467ec2
push eax
push eax
add eax, 0xfffffffc
mov ecx, 0x56fbe8
push eax
call fcn.00480680
mov eax, dword [0x56fbf0]
mov ecx, eax
add eax, 0xfffffffc
cmp esi, eax
je 0x467eae
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, esi
mov dword [ecx], edx
jne 0x467e9f
lea ecx, [esi + 4]
mov eax, esi
cmp esi, ecx
je 0x467ec2
mov edx, dword [edi]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x467eb7
mov eax, dword [0x56fbf0]
pop edi
add eax, 4
pop esi
mov dword [0x56fbf0], eax
mov eax, 1
pop ebx
add esp, 8
ret 4