Function at 0x4014e4
Capabilities:
Check for software breakpoints
Extract resource via kernel32 functions
Terminate process

Disassembly:
or dl, byte [ebx - 0x18]
jecxz 0x40147a
add byte [eax], al
push ebp
mov ebp, esp
add esp, 0xfffffccc
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 0x2349
push 0x68
push esi
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x40151e
mov eax, dword [ebp + 0x14]
push eax
call fcn.00401394
pop ecx
test eax, eax
jne 0x401564
xor eax, eax
jmp 0x4018ac
push ebx
push esi
call sub.KERNEL32.DLL_LoadResource
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x401535
xor eax, eax
jmp 0x4018ac
je 0x40153a
jne 0x40153a
jmp 0x4014c6
mov edx, dword [ebp - 4]
push edx
call sub.KERNEL32.DLL_LockResource
mov dword [0x44d378], eax
cmp dword [0x44d378], 0
jne 0x401558
xor eax, eax
jmp 0x4018ac
push ebx
push esi
call sub.KERNEL32.DLL_SizeofResource
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
push 0x1e0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
sub eax, 0x1e0
add eax, dword [0x44d378]
push eax
push edi
call fcn.004056fc
add esp, 0xc
mov edx, sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 8], edx
mov esi, dword [ebp - 8]
mov al, byte [esi]
cmp al, 0xcc
je 0x401609
mov ecx, 0x40c4bc
mov dword [ebp - 0xc], ecx
mov esi, dword [ebp - 0xc]
mov al, byte [esi]
cmp al, 0xcc
je 0x401609
mov eax, sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
mov al, byte [esi]
cmp al, 0xcc
je 0x401609
mov edx, sub.KERNEL32.DLL_FindResourceA
mov dword [ebp - 0x14], edx
mov esi, dword [ebp - 0x14]
mov al, byte [esi]
cmp al, 0xcc
je 0x401609
mov ecx, sub.KERNEL32.DLL_LoadResource
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x18]
mov al, byte [esi]
cmp al, 0xcc
je 0x401609
push edi
lea edi, [ebp - 0x220]
mov esi, 0x44d38e
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
lea eax, [ebp - 0x220]
push 0x128
push eax
lea edx, [edi + 0xb8]
push 0x64
push edx
call fcn.004039b8
add esp, 0x10
xor esi, esi
cmp dword [edi + 0x1d4], 0
je 0x40161c
push 0
call dword [0x450a10]
push 0x1e0
push edi
lea eax, [ebp - 0x200]
push eax
call fcn.004056fc
add esp, 0xc
push 0xffffffffffffffff
mov edx, dword [0x450c30]
push edx
call sub.KERNEL32.DLL_WaitForSingleObject
push 0x1e0
lea ecx, [ebp - 0x200]
push ecx
push edi
call fcn.004056fc
add esp, 0xc
lea eax, [ebp - 0x324]
push eax
push esi
call dword [0x450a1c]
test eax, eax
jne 0x40185f
lea edx, [ebp - 0x324]
push edx
lea ecx, [ebp - 0x1c]
push ecx
push 0x1df
call dword [0x450a18]
test eax, eax
jne 0x40185f
lea eax, [ebp - 0x324]
push eax
lea edx, [ebp - 0x1b]
push edx
push 0x1de
call dword [0x450a18]
test eax, eax
jne 0x40185f
lea ecx, [ebp - 0x324]
push ecx
lea eax, [ebp - 0x1a]
push eax
push 0x1dd
call dword [0x450a18]
test eax, eax
jne 0x40185f
lea edx, [ebp - 0x324]
push edx
lea ecx, [ebp - 0x19]
push ecx
push 0x1dc
call dword [0x450a18]
test eax, eax
jne 0x40185f
xor ebx, ebx
lea edx, [ebp - 0x334]
mov ecx, ebx
add edx, ebx
lea eax, [ebp - 0x324]
add cx, 0x1cc
push eax
push edx
push ecx
call dword [0x450a18]
test eax, eax
jne 0x40170c
inc ebx
cmp ebx, 0x10
jl 0x4016e4
mov al, byte [edi + 0x1dc]
mov byte [ebp - 0x1d], al
mov dl, byte [edi + 0x1dd]
mov byte [ebp - 0x1e], dl
lea edx, [ebp - 0x324]
mov cl, byte [edi + 0x1de]
mov byte [ebp - 0x1f], cl
lea ecx, [ebp - 0x20]
mov al, byte [edi + 0x1df]
mov byte [ebp - 0x20], al
push 0
push 0x10
push edx
push ecx
lea eax, [ebp - 0x1f]
push eax
lea edx, [ebp - 0x1e]
push edx
lea ecx, [ebp - 0x1d]
push ecx
lea eax, [ebp - 0x334]
push eax
call dword [0x450a14]
test eax, eax
jne 0x40185f
mov dl, byte [ebp - 0x1d]
cmp dl, byte [ebp - 0x19]
jne 0x401859
mov cl, byte [ebp - 0x1e]
cmp cl, byte [ebp - 0x1a]
jne 0x401859
mov al, byte [ebp - 0x1f]
cmp al, byte [ebp - 0x1b]
jne 0x401859
mov dl, byte [ebp - 0x20]
cmp dl, byte [ebp - 0x1c]
jne 0x401859
cmp dword [edi + 0x1d8], 0
jne 0x4017dd
xor ebx, ebx
push 0
lea eax, [ebp - 0x324]
push 0x10
lea esi, [edi + ebx*4]
push eax
mov eax, esi
add eax, 0x9b
mov edx, esi
add edx, 0x9a
push eax
mov ecx, esi
push edx
add ecx, 0x99
add esi, 0x98
push ecx
push esi
lea eax, [ebp - 0x334]
push eax
call dword [0x450a14]
inc ebx
cmp ebx, 8
jl 0x40179b
push 0x98
lea edx, [edi + 0x98]
push edx
push 0x64
push edi
call fcn.00403770
add esp, 0x10
mov ecx, dword [0x450c30]
push 0
push 1
push ecx
call sub.KERNEL32.DLL_ReleaseSemaphore
push 0x10
lea eax, [ebp - 0x334]
push eax
push 0x450e28
call fcn.004056fc
add esp, 0xc
mov al, byte [ebp - 0x19]
mov byte [0x450e24], al
mov dl, byte [ebp - 0x1a]
mov byte [0x450e25], dl
mov cl, byte [ebp - 0x1b]
mov byte [0x450e26], cl
mov bl, byte [ebp - 0x1c]
mov byte [0x450e27], bl
mov bl, byte [0x450e27]
push ebx
push ecx
push edx
push eax
push 0x450e28
call dword [0x4509f8]
mov eax, 1
jmp 0x4018ac
inc esi
jmp 0x40163f
push 0
push 1
mov edx, dword [0x450c30]
push edx
call sub.KERNEL32.DLL_ReleaseSemaphore
mov ecx, dword [edi + 0x1d0]
push ecx
lea eax, [edi + 0xb8]
push eax
add edi, 0xcc
push edi
push 0
call sub.USER32.DLL_MessageBoxA
call sub.KERNEL32.DLL_GetCurrentProcessId
push eax
push 0
push 1
call sub.KERNEL32.DLL_OpenProcess
mov ebx, eax
push 0
push ebx
call sub.KERNEL32.DLL_TerminateProcess
push ebx
call sub.KERNEL32.DLL_CloseHandle
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret