Function at 0x41ab1a
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x43204b
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 0x41ab60
mov esi, dword [esp + 0x18]
xor ebp, ebp
lea ebx, [ebx]
push 0x120
call fcn.00423bf9
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
cmp ebx, ebp
mov dword [esp + 0x34], ebp
je 0x41aba4
mov edi, ebx
mov ebp, 0xa
mov ecx, edi
call fcn.0040f530
add edi, 0x1c
dec ebp
jne 0x41ab82
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 0x41abaa
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 + 0x1e88]
jne 0x41ac1e
mov word [eax + 0x11a], bp
call fcn.00418980
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x41ac15
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 0x41ac15
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 0x41abd8
mov eax, dword [edi + 4]
test eax, eax
jne 0x41ac71
jmp 0x41ac89
mov word [eax + 0x11a], 1
call fcn.0041f1c0
mov edi, eax
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov esi, dword [edi + 4]
test esi, esi
je 0x41ac15
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 0x41ac15
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 0x41ac34
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 0x41a100
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 0x41ab54
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 0x41ad08
mov ecx, dword [esi]
test ecx, ecx
je 0x41ad08
mov edx, dword [ecx]
call dword [edx + 0x10]
push esi
call fcn.0042a860
add esp, 4
mov dword [esi], 0
inc edi
add esi, 4
cmp edi, 2
jl 0x41ace6
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