Function at 0x1007ca10
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10183d50
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 0x828
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x828], eax
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x824], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x82c], ebx
cmp eax, ebx
je 0x1007cdd5
cmp edi, ebx
je 0x1007cdd5
mov byte [edi], bl
mov byte [eax], bl
mov eax, dword [0x101cb83c]
cmp eax, ebx
jne 0x1007ca99
mov ecx, str.PSAPI.DLL
call fcn.1005a380
mov dword [0x101cb83c], eax
cmp eax, ebx
je 0x1007cdd5
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [0x101cb828], ebx
jne 0x1007cab9
push str.EnumProcesses
push eax
call esi
mov dword [0x101cb828], eax
mov eax, dword [0x101cb83c]
cmp dword [0x101cb82c], ebx
jne 0x1007cad3
push str.EnumProcessModules
push eax
call esi
mov dword [0x101cb82c], eax
mov eax, dword [0x101cb83c]
cmp dword [0x101cb830], ebx
jne 0x1007caed
push str.GetModuleBaseNameA
push eax
call esi
mov dword [0x101cb830], eax
mov eax, dword [0x101cb83c]
cmp dword [0x101cb834], ebx
jne 0x1007cb07
push str.GetModuleFileNameExA
push eax
call esi
mov dword [0x101cb834], eax
mov eax, dword [0x101cb83c]
cmp dword [0x101cb838], ebx
jne 0x1007cb1c
push str.GetProcessImageFileNameA
push eax
call esi
mov dword [0x101cb838], eax
cmp dword [0x101cb828], ebx
je 0x1007cdbd
cmp dword [0x101cb830], ebx
je 0x1007cdbd
cmp dword [0x101cb82c], ebx
je 0x1007cdbd
cmp dword [0x101cb834], ebx
je 0x1007cdbd
mov eax, dword [ebp + 8]
cmp eax, ebx
jne 0x1007cb59
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
cmp ebx, 4
jbe 0x1007cdd5
cmp ebx, 0xffffffff
je 0x1007cdd5
mov eax, dword [0x101cb21c]
cmp eax, 4
jbe 0x1007cbdb
cmp eax, ebx
jne 0x1007cbdb
mov al, byte [0x101cb220]
test al, al
jne 0x1007cb90
cmp byte [0x101cb428], al
je 0x1007cbdb
test al, al
je 0x1007cbaa
mov ecx, 0x101cb220
mov edx, dword [ebp - 0x828]
jmp 0x1007cba0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x1007cba0
cmp byte [0x101cb428], 0
je 0x1007cbca
test edi, edi
je 0x1007cbca
mov ecx, 0x101cb428
mov edx, edi
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x1007cbc0
mov dword [ebp - 4], 0xfffffffe
mov eax, 1
jmp 0x1007ce05
push ebx
push 0x410
call fcn.1007c830
add esp, 8
mov esi, eax
mov dword [ebp - 0x82c], esi
test esi, esi
je 0x1007cdd5
lea eax, [ebp - 0x834]
push eax
push 4
lea ecx, [ebp - 0x830]
push ecx
push esi
call dword [0x101cb82c]
test eax, eax
je 0x1007cce1
push 0x104
mov edx, dword [ebp - 0x828]
push edx
mov eax, dword [ebp - 0x830]
push eax
push esi
call dword [0x101cb830]
push 0x104
push edi
mov ecx, dword [ebp - 0x830]
push ecx
push esi
call dword [0x101cb834]
cmp byte [edi], 0
je 0x1007cd74
mov dword [ebp - 0x824], 1
push 4
mov eax, 0x101691e0
mov ecx, edi
call fcn.1005a0e0
add esp, 4
test eax, eax
jne 0x1007cc79
lea edx, [edi + 4]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push edi
call fcn.100796e0
push 0x7e
push edi
call fcn.10128490
add esp, 8
test eax, eax
je 0x1007cd74
mov byte [ebp - 0x420], 0
push 0x3ff
push 0
lea eax, [ebp - 0x41f]
push eax
call fcn.1012e060
push edi
mov ecx, 0x400
lea eax, [ebp - 0x420]
call fcn.1005f350
add esp, 0x10
dec eax
cmp eax, 0x102
ja 0x1007cd74
lea ecx, [ebp - 0x420]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1007cd74
mov eax, dword [0x101cb838]
test eax, eax
je 0x1007cd74
push 0x104
push edi
push esi
call eax
cmp byte [edi], 0
je 0x1007cd74
mov dword [ebp - 0x824], 1
mov ecx, edi
call fcn.100741d0
push 0x7e
push edi
call fcn.10128490
add esp, 8
test eax, eax
je 0x1007cd5e
mov byte [ebp - 0x820], 0
push 0x3ff
push 0
lea edx, [ebp - 0x81f]
push edx
call fcn.1012e060
push edi
mov ecx, 0x400
lea eax, [ebp - 0x820]
call fcn.1005f350
add esp, 0x10
dec eax
cmp eax, 2
ja 0x1007cd5e
lea eax, [ebp - 0x820]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [edi], 0
je 0x1007cd74
mov ecx, dword [ebp - 0x828]
push ecx
mov ecx, edi
call fcn.100620f0
add esp, 4
lea edx, [ebp - 0x82c]
push edx
call fcn.10082e10
cmp dword [ebp - 0x824], 0
je 0x1007cdf8
mov dword [0x101cb21c], ebx
mov ecx, dword [ebp - 0x828]
mov edx, 0x101cb220
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x1007cda0
mov ecx, edi
mov edx, 0x101cb428
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x1007cdb1
jmp 0x1007cdf8
mov dword [0x101cb828], ebx
mov dword [0x101cb830], ebx
mov dword [0x101cb82c], ebx
mov dword [0x101cb834], ebx
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x1007ce05
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10127db1
mov esp, ebp
pop ebp
ret 8