Function at 0x4078c0
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, 0x8120
call fcn.0040ad70
mov eax, dword [0x41a190]
xor eax, esp
mov dword [esp + 0x811c], eax
mov eax, dword [0x422d34]
mov dl, byte [0x422d3c]
push esi
push edi
push 0xfb
mov dword [esp + 0x8024], eax
mov esi, ecx
mov ecx, dword [0x422d38]
lea eax, [esp + 0x802d]
push 0
push eax
mov dword [esp + 0x8030], ecx
mov byte [esp + 0x8034], dl
call fcn.0040acf0
push 0x422cf8
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0x18
push 0x422cec
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
jne 0x407968
push 0x422ccc
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0xc
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x811c]
xor ecx, esp
call fcn.0040acd2
add esp, 0x8120
ret
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebp
push 0x4220e4
push edi
call ebx
push 0x422cb8
mov ebp, eax
push edi
mov dword [esp + 0x2c], ebp
call ebx
push 0x4220b8
push edi
mov dword [esp + 0x20], eax
call ebx
push 0x422c9c
push edi
mov dword [esp + 0x1c], eax
call ebx
push 0x4220f8
push edi
mov dword [esp + 0x24], eax
call ebx
test ebp, ebp
je 0x407b7e
cmp dword [esp + 0x14], 0
je 0x407b7e
test eax, eax
je 0x407b7e
lea ecx, [esp + 0x10]
push ecx
push 0x4000
lea edx, [esp + 0x4030]
push edx
call eax
test eax, eax
jne 0x4079e7
push 0x422c80
jmp 0x407b83
mov ebp, dword [esp + 0x10]
shr ebp, 2
mov ebx, 0
je 0x407ab6
lea esp, [esp]
mov eax, dword [esp + ebx*4 + 0x4028]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x407aa4
lea ecx, [esp + 0x10]
push ecx
push 4
lea edx, [esp + 0x28]
push edx
push edi
call dword [esp + 0x34]
test eax, eax
je 0x407aa4
mov ecx, dword [esp + 0x20]
push 0x104
lea eax, [esp + 0x802c]
push eax
push ecx
push edi
call dword [esp + 0x24]
mov eax, dword [esp + ebx*4 + 0x4028]
lea edx, [esp + 0x8028]
push edx
push eax
push 0x422c70
call fcn.00401580
add esp, 4
push eax
push esi
call fcn.004065a0
add esp, 0x10
lea ecx, [esp + 0x8028]
push ecx
mov ecx, esi
call fcn.00406460
lea edx, [esp + 0x8028]
push edx
mov ecx, esi
call fcn.00406de0
push 0x422200
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add ebx, 1
cmp ebx, ebp
jb 0x407a00
push 0x422c38
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0x1000
lea ecx, [esp + 0x30]
push ecx
call dword [esp + 0x24]
test eax, eax
jne 0x407aeb
push 0x422c18
jmp 0x407b83
mov ebx, dword [esp + 0x10]
shr ebx, 2
mov edi, 0
je 0x407b77
lea ecx, [ecx]
mov eax, dword [esp + edi*4 + 0x28]
push 0x104
lea edx, [esp + 0x802c]
push edx
push eax
call dword [esp + 0x28]
test eax, eax
je 0x407b70
mov edx, dword [esp + edi*4 + 0x28]
lea ecx, [esp + 0x8028]
push ecx
push edx
push 0x422c08
call fcn.00401580
add esp, 4
push eax
push esi
call fcn.004065a0
add esp, 0x10
lea eax, [esp + 0x8028]
push eax
mov ecx, esi
call fcn.00406270
lea ecx, [esp + 0x8028]
push ecx
mov ecx, esi
call fcn.00406de0
push 0x422200
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0xc
add edi, 1
cmp edi, ebx
jb 0x407b00
mov eax, 1
jmp 0x407b94
push 0x422be4
call fcn.00401580
push eax
push esi
call fcn.004065a0
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x812c]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.0040acd2
add esp, 0x8120
ret