Function at 0x1001c380
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x1002bdfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x530]
xor ebp, ebp
push edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
mov dword [esi + 0x1838], 0xffffffff
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebp
jmp 0x1001c3e0
mov esi, dword [esp + 0x18]
xor ebp, ebp
lea ebx, [ebx]
push 0x120
call sub.MFC71U.DLL_CWordArray::CWordArray
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
cmp ebx, ebp
mov dword [esp + 0x34], ebp
je 0x1001c424
mov edi, ebx
mov ebp, 0xa
mov ecx, edi
call fcn.10008f40
add edi, 0x1c
dec ebp
jne 0x1001c402
xor eax, eax
mov ecx, 0x48
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, ebx
mov dword [esp + 0x10], eax
xor ebp, ebp
jmp 0x1001c42a
mov dword [esp + 0x10], ebp
mov eax, ebp
cmp dword [esp + 0x14], ebp
mov dword [esp + 0x34], 0xffffffff
mov dword [eax + 0x11c], esi
lea ecx, [esi + 0x1e90]
jne 0x1001c49e
mov word [eax + 0x11a], bp
call fcn.1000bac0
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x1001c495
mov ecx, dword [edi + 8]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x1001c495
mov eax, dword [esp + 0x10]
add esi, ebx
lea edi, [ebx + eax]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
inc ebp
add ebx, 0x1c
jmp 0x1001c458
mov eax, dword [edi + 4]
test eax, eax
jne 0x1001c4f1
jmp 0x1001c509
mov word [eax + 0x11a], 1
call fcn.10020690
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x1001c495
mov ecx, dword [edi + 8]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x1001c495
mov edx, dword [esp + 0x10]
add esi, ebx
lea edi, [ebx + edx]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
inc ebp
add ebx, 0x1c
jmp 0x1001c4b4
mov edi, dword [edi + 8]
sub edi, eax
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x20]
push edx
push 0
mov word [ecx + 0x118], ax
mov eax, ecx
push eax
push 0x1001b960
push 0
push 0
call dword [sym.imp.MSVCR71.dll__beginthreadex]
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + ecx*4 + 0x24], eax
inc ecx
cmp ecx, 2
mov dword [esp + 0x14], ecx
jl 0x1001c3d4
push 0x4e20
push 1
lea ecx, [esp + 0x2c]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ebx, dword [esp + 0x18]
xor edi, edi
lea esi, [ebx + 0x1828]
cmp edi, dword [ebx + 0x1838]
je 0x1001c588
mov ecx, dword [esi]
test ecx, ecx
je 0x1001c588
mov edx, dword [ecx]
call dword [edx + 0x10]
push esi
call fcn.10027df0
add esp, 4
mov dword [esi], 0
inc edi
add esi, 4
cmp edi, 2
jl 0x1001c566
mov ecx, dword [ebx + 0x28]
pop edi
xor eax, eax
pop esi
cmp ecx, 2
mov ecx, dword [esp + 0x24]
pop ebp
sete al
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret