Function at 0x41c780
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, eax
mov eax, dword [0x514930]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 0x268]
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateThread]
xor edi, edi
cmp eax, edi
je 0x41c7fc
lea ecx, [ebp - 4]
mov dword [ebp - 4], edi
mov edx, dword [eax + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 4], 0x103
jne 0x41c7f6
mov eax, dword [esi + 0x268]
mov ecx, dword [eax + 0x2c]
push 0xffffffffffffffff
push ecx
call ebx
mov edx, dword [esi + 0x268]
mov eax, dword [edx + 0x2c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x268]
cmp ecx, edi
je 0x41c7f6
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x268], edi
mov eax, dword [esi + 0x26c]
cmp eax, edi
je 0x41c859
lea ecx, [ebp - 8]
mov dword [ebp - 8], edi
mov edx, dword [eax + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 8], 0x103
jne 0x41c853
mov eax, dword [esi + 0x26c]
mov ecx, dword [eax + 0x2c]
push 0xffffffffffffffff
push ecx
call ebx
mov edx, dword [esi + 0x26c]
mov eax, dword [edx + 0x2c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x26c]
cmp ecx, edi
je 0x41c853
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x26c], edi
mov eax, dword [esi + 0x270]
cmp eax, edi
je 0x41c8b6
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], edi
mov edx, dword [eax + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 0xc], 0x103
jne 0x41c8b0
mov eax, dword [esi + 0x270]
mov ecx, dword [eax + 0x2c]
push 0xffffffffffffffff
push ecx
call ebx
mov edx, dword [esi + 0x270]
mov eax, dword [edx + 0x2c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x270]
cmp ecx, edi
je 0x41c8b0
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x270], edi
mov eax, dword [esi + 0x274]
cmp eax, edi
je 0x41c913
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], edi
mov edx, dword [eax + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 0x10], 0x103
jne 0x41c90d
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x2c]
push 0xffffffffffffffff
push ecx
call ebx
mov edx, dword [esi + 0x274]
mov eax, dword [edx + 0x2c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x274]
cmp ecx, edi
je 0x41c90d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x274], edi
mov eax, dword [esi + 0x84]
cmp eax, edi
je 0x41c92c
push eax
call fcn.004403d1
add esp, 4
mov dword [esi + 0x84], edi
mov eax, dword [esi + 0x80]
mov dword [esi + 0x7c], edi
cmp eax, edi
je 0x41c948
push eax
call fcn.004403d1
add esp, 4
mov dword [esi + 0x80], edi
mov eax, dword [esi + 0x78]
cmp eax, edi
je 0x41c95b
push eax
call fcn.0045ecdf
add esp, 4
mov dword [esi + 0x78], edi
mov ecx, dword [esi + 0x168]
cmp ecx, edi
je 0x41c981
cmp dword [ecx - 4], edi
lea eax, [ecx - 4]
je 0x41c978
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 3
call eax
jmp 0x41c981
push eax
call fcn.004403d1
add esp, 4
mov ecx, dword [esi + 0x16c]
cmp ecx, edi
je 0x41c994
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esi + 0x170]
cmp ecx, edi
je 0x41c9a7
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esi + 0x174]
cmp ecx, edi
je 0x41c9ba
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esi + 0x178]
cmp ecx, edi
je 0x41c9cd
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [0x513764]
cmp ecx, edi
je 0x41ca01
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41c9f2
push eax
call fcn.004403d1
mov ecx, dword [0x513764]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513764], edi
mov ecx, dword [0x513768]
cmp ecx, edi
je 0x41ca35
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41ca26
push eax
call fcn.004403d1
mov ecx, dword [0x513768]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513768], edi
mov ecx, dword [0x51376c]
cmp ecx, edi
je 0x41ca69
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41ca5a
push eax
call fcn.004403d1
mov ecx, dword [0x51376c]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x51376c], edi
mov ecx, dword [0x513770]
cmp ecx, edi
je 0x41ca9d
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41ca8e
push eax
call fcn.004403d1
mov ecx, dword [0x513770]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513770], edi
mov ecx, dword [0x513774]
cmp ecx, edi
je 0x41cad1
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41cac2
push eax
call fcn.004403d1
mov ecx, dword [0x513774]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513774], edi
mov ecx, dword [0x513778]
cmp ecx, edi
je 0x41cb05
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41caf6
push eax
call fcn.004403d1
mov ecx, dword [0x513778]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513778], edi
mov ecx, dword [0x51377c]
cmp ecx, edi
je 0x41cb39
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41cb2a
push eax
call fcn.004403d1
mov ecx, dword [0x51377c]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x51377c], edi
mov ecx, dword [0x513780]
cmp ecx, edi
je 0x41cb6d
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41cb5e
push eax
call fcn.004403d1
mov ecx, dword [0x513780]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513780], edi
mov ecx, dword [0x513720]
cmp ecx, edi
je 0x41cbad
call fcn.0043ac90
lea esi, [ecx + 4]
mov ebx, eax
mov eax, dword [esi]
cmp eax, edi
je 0x41cb92
push eax
call fcn.004403d1
add esp, 4
mov dword [esi], edi
push ebx
call fcn.004403d1
mov ecx, dword [0x513720]
push ecx
call fcn.004403d1
add esp, 8
mov dword [0x513720], edi
mov ecx, dword [0x513784]
cmp ecx, edi
je 0x41cbe1
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
cmp eax, edi
je 0x41cbd2
push eax
call fcn.004403d1
mov ecx, dword [0x513784]
add esp, 4
mov dword [esi], edi
push ecx
call fcn.004403d1
add esp, 4
mov dword [0x513784], edi
mov eax, dword [0x514978]
sub eax, dword [0x514974]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
sar eax, 2
xor esi, esi
cmp eax, edi
jbe 0x41cc27
cmp esi, eax
jb 0x41cc04
call fcn.0045ddc6
mov edx, dword [0x514974]
mov eax, dword [edx + esi*4]
cmp eax, edi
je 0x41cc14
push eax
call ebx
mov eax, dword [0x514978]
sub eax, dword [0x514974]
inc esi
sar eax, 2
cmp esi, eax
jb 0x41cc04
call fcn.00431cf0
mov eax, dword [0x5134ec]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
cmp eax, edi
je 0x41cc44
push eax
call esi
mov dword [0x5134ec], edi
mov eax, dword [0x5134f0]
cmp eax, edi
je 0x41cc56
push eax
call esi
mov dword [0x5134f0], edi
mov eax, dword [0x51373c]
cmp eax, edi
je 0x41cc68
push eax
call ebx
mov dword [0x51373c], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret