Function at 0x47d624
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push ebp
push esi
mov ebx, edx
mov esi, ecx
push edi
push 4
pop edi
mov eax, dword [esi + ebx*4 + 0x174]
test eax, eax
jne 0x47d668
lea eax, [esp + 0x10]
xor ebp, ebp
push eax
push ebp
push 0x24
pop edx
mov ecx, pe_nt_image_headers32
call fcn.0046c097
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + ebx*4 + 0x174], eax
mov dword [eax + 0x44], ecx
mov dword [ecx + 0x1c], edi
jmp 0x47d6f0
push dword [eax + 0x7c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esi + ebx*4 + 0x174]
call fcn.00477543
push pe_nt_image_headers32
xor ebp, ebp
push ebp
push dword [esi + ebx*4 + 0x174]
call fcn.0059de40
mov edx, dword [esi + ebx*4 + 0x174]
add esp, 0xc
mov ecx, edx
neg ecx
sbb ecx, ecx
lea eax, [edx + 0x124]
and ecx, eax
xor eax, eax
mov dword [edx + 0x44], ecx
mov edi, dword [esi + ebx*4 + 0x174]
push 7
pop ecx
mov edi, dword [edi + 0x44]
rep stosd dword es:[edi], eax
mov eax, dword [esi + ebx*4 + 0x174]
mov ecx, dword [eax + 0x44]
mov edx, ecx
neg edx
sbb edx, edx
lea eax, [ecx + 0x20]
and edx, eax
mov eax, ebp
je 0x47d6d9
mov eax, dword [edx - 4]
push eax
lea eax, [ecx + 0x20]
neg ecx
push ebp
sbb ecx, ecx
and ecx, eax
push ecx
call fcn.0059de40
add esp, 0xc
push 4
pop edi
mov edx, dword [esp + 0x18]
push ebp
push 0x40
push 1
mov eax, dword [esi + edx*4 + 0x14c]
push ebp
mov dword [eax + 0x74], ebx
lea eax, [ebx + 1]
mov dword [esi + 0x19c], eax
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x2c], 0x50
mov ecx, dword [esi + ebx*4 + 0x174]
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x1c], 0x47d5f2
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x20], fcn.0047ad81
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x24], fcn.00477929
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x40], edx
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x78], edi
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov ecx, dword [esi + ebx*4 + 0x174]
push 0x10
mov dword [ecx + 0x7c], eax
mov eax, dword [esi + ebx*4 + 0x174]
pop ecx
push 0x1c
pop edx
mov dword [eax + 0x30], esi
mov eax, dword [esp + 0x1c]
cmp word [eax], 0x17
cmove ecx, edx
push ecx
mov ecx, dword [esi + ebx*4 + 0x174]
push eax
mov ecx, dword [ecx + 0x44]
call section..text
mov eax, dword [esi + ebx*4 + 0x174]
mov ecx, 0x15e0
mov dword [eax + 0x58], ecx
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0x5c], ecx
push dword [esi + 0x144]
call fcn.00565b50
mov ecx, dword [esi + ebx*4 + 0x174]
push esi
push dword [0x764f80]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + ebx*4 + 0x174]
push dword [eax + 0x34]
call fcn.00566960
mov ebp, 0x1610
push ebp
push 0x764a6c
push 1
push 0x1000
call fcn.005ce020
mov ecx, dword [esi + ebx*4 + 0x174]
add esp, 0x28
mov dword [ecx + 0xec], eax
test eax, eax
je 0x47d852
mov eax, dword [esi + ebx*4 + 0x174]
mov dword [eax + 0xf4], 0x1000
mov ecx, dword [esi + ebx*4 + 0x174]
call fcn.0047758a
mov ecx, edi
call fcn.0046febf
mov ecx, dword [esi + ebx*4 + 0x174]
pop edi
pop esi
pop ebp
mov dword [ecx + 0xe0], eax
pop ebx
pop ecx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edx, 0x764a88
push esi
push ebp
xor ecx, ecx
call fcn.0047145c
push ebp
push 0x764aa4
push 0x764ac0
call fcn.004010b4
add esp, 0x18
push esi
call fcn.005aae60
int3