Function at 0x481d1a
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x49f2bb
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 0x481d60
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 0x481da4
mov edi, ebx
mov ebp, 0xa
mov ecx, edi
call fcn.00458010
add edi, 0x1c
dec ebp
jne 0x481d82
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 0x481daa
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 0x481e1e
mov word [eax + 0x11a], bp
call fcn.00484780
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x481e15
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 0x481e15
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 0x481dd8
mov eax, dword [edi + 4]
test eax, eax
jne 0x481e71
jmp 0x481e89
mov word [eax + 0x11a], 1
call fcn.004862f0
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x481e15
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 0x481e15
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 0x481e34
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 0x481300
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 0x481d54
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 0x481f08
mov ecx, dword [esi]
test ecx, ecx
je 0x481f08
mov edx, dword [ecx]
call dword [edx + 0x10]
push esi
call fcn.0048ed00
add esp, 4
mov dword [esi], 0
inc edi
add esi, 4
cmp edi, 2
jl 0x481ee6
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