Function at 0x44c4a8
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 7
add esp, 0xfffff004
push eax
dec eax
jne 0x44c4b1
mov eax, dword [ebp - 4]
add esp, 0xfffff73c
push ebx
push esi
push edi
mov esi, ecx
mov byte [ebp - 0x22a], dl
mov byte [ebp - 0x229], al
mov edi, 0x4b9978
mov eax, 0x4a7af8
call fcn.00498090
test esi, esi
jne 0x44c52d
mov eax, 0x4c4e38
call fcn.0045de4c
test eax, eax
jne 0x44c52d
push 0x30
mov eax, 0x65
call fcn.004125b4
push eax
mov eax, 0x14c
call fcn.004125b4
push eax
push dword [0x4c4e24]
call sub.USER32.DLL_MessageBoxA
mov edx, dword [ebp - 0x228]
mov dword fs:[0], edx
mov eax, edx
jmp 0x44cddb
xor eax, eax
call fcn.00449adc
mov dword [0x4c8128], 0
mov dword [0x4c812c], 0
mov dword [0x4c8120], 0
mov dword [0x4c8124], 0
call fcn.00486b48
mov dword [ebp - 0x230], eax
mov word [ebp - 0x218], 8
lea eax, [ebp - 0x10c]
call fcn.004606e0
add dword [ebp - 0x20c], 6
mov word [ebp - 0x218], 0x14
mov word [ebp - 0x218], 0x20
lea eax, [ebp - 0x204]
call fcn.0040fa54
add dword [ebp - 0x20c], 4
mov word [ebp - 0x218], 0x14
test esi, esi
sete dl
and edx, 1
mov byte [ebp - 0x231], dl
mov word [ebp - 0x218], 0x2c
cmp byte [ebp - 0x231], 0
je 0x44c617
lea esi, [ebp - 0x204]
mov eax, 0x4c4e38
xor ecx, ecx
xor edx, edx
call fcn.0045dd34
jmp 0x44c5f8
lea ecx, [ebp - 0xa78]
lea edx, [ebp - 0xe78]
mov eax, esi
call fcn.0040fbe0
lea edx, [ebp - 0xe78]
mov eax, 0x4c4e38
xor ecx, ecx
call fcn.0045dd34
test al, al
je 0x44c617
cmp dword [0x4c77d4], 0
je 0x44c5e5
mov word [ebp - 0x218], 0x14
jmp 0x44c69b
call fcn.00486b48
mov dword [ebp - 0x238], eax
mov word [ebp - 0x218], 0x14
test esi, esi
je 0x44c6bd
cmp dword [ebp + 0x14], 0
je 0x44c6bd
xor ebx, ebx
jmp 0x44c6c2
mov ebx, 1
push 1
push ebx
push 0
lea eax, [ebp - 0x239]
push 1
push eax
mov eax, esi
lea ecx, [ebp - 0x10c]
mov edx, 2
call fcn.00464808
xor edx, edx
mov dl, al
cmp edx, 1
sbb ecx, ecx
neg ecx
mov ebx, ecx
test bl, bl
jne 0x44c764
cmp dword [ebp - 8], 0
jne 0x44c764
cmp dword [esi + 0x30], 1
jne 0x44c764
mov eax, esi
call fcn.0040fda0
lea ecx, [ebp - 0x244]
lea edx, [ebp - 0x240]
mov eax, esi
call fcn.0040fd30
test al, al
je 0x44c764
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
call fcn.0040ab44
call fcn.0040a888
test al, al
jne 0x44c764
lea edx, [ebp - 0x10c]
push edx
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
call fcn.004649f4
lea eax, [ebp - 0x10c]
call fcn.00460ab0
mov esi, dword [ebp - 8]
test bl, bl
jne 0x44c77d
test esi, esi
jne 0x44c816
cmp dword [ebp + 0x10], 0
jne 0x44c816
test bl, bl
jne 0x44c7b1
call fcn.00486b48
cmp eax, dword [ebp - 0x238]
jne 0x44c7b1
push 0x30
mov eax, 0x35f
call fcn.004125b4
push eax
mov eax, 0x35e
call fcn.004125b4
push eax
push dword [0x4c4e24]
call sub.USER32.DLL_MessageBoxA
mov eax, 0x4c53a8
xor edx, edx
call fcn.0047c814
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x44cddb
mov al, byte [ebp - 0x22a]
mov byte [edi + 0x21ce], al
xor edx, edx
mov dword [edi + 0x2164], edx
xor ecx, ecx
mov dword [edi + 0x2190], ecx
mov dword [edi + 0x2690], 1
call fcn.0044c2a4
cmp byte [ebp - 0x22a], 0
mov byte [0x4c8234], 0
jne 0x44c993
mov byte [ebp - 0x245], 0
cmp esi, 1
jne 0x44c8db
lea ecx, [ebp - 0x1aa8]
lea eax, [ebp - 0x10c]
xor edx, edx
call fcn.004609e4
lea ebx, [ebp - 0x1aa8]
push 1
push 0
lea ecx, [ebp - 0x3308]
lea eax, [ebp - 0x10c]
xor edx, edx
call fcn.004609e4
lea eax, [ebp - 0x3308]
lea ecx, [ebp - 0x26d8]
add eax, 0x400
xor edx, edx
push eax
lea eax, [ebp - 0x10c]
call fcn.004609e4
lea edx, [ebp - 0x26d8]
mov eax, 0x4c5b84
pop ecx
call fcn.00455f70
mov eax, 0x4c5b84
call fcn.00457594
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x245], dl
jmp 0x44c8f9
lea ecx, [ebp - 0x3708]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3708]
call fcn.0040bd0c
mov ebx, eax
cmp byte [ebx], 0
jne 0x44c903
mov ebx, 0x4a7a41
mov al, byte [ebp - 0x229]
push eax
mov eax, 0x4c8234
mov dl, byte [ebp - 0x245]
push edx
mov edx, 0x4a7900
mov cl, byte [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.0044cde4
cmp byte [ebp - 0x229], 0
je 0x44c993
mov eax, esi
call fcn.0044aedc
test al, al
jne 0x44c993
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x44cddb
cmp dword [ebp + 0x10], 0
je 0x44c9a9
push 0x4c8234
push dword [ebp + 0x10]
call fcn.00497c60
add esp, 8
test esi, esi
jne 0x44ca06
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x44cddb
mov dword [0x4c811c], esi
cmp dword [0x4c77c8], 0
jne 0x44ca1f
mov dword [0x4c77c8], 2
xor ebx, ebx
jmp 0x44cc56
mov eax, dword [edi + 0x4b0c]
call fcn.0040fba8
mov eax, dword [edi + 0x4b00]
call fcn.0040fba8
mov byte [ebp - 0x3b08], 0
cmp dword [ebp + 0x14], 0
je 0x44ca5c
lea edx, [ebp - 0x3b08]
mov ecx, 0x400
mov eax, dword [ebp + 0x14]
call fcn.0040fc5c
cmp byte [ebp - 0x3b08], 0
je 0x44ca6d
lea edx, [ebp - 0x3b08]
jmp 0x44ca72
mov edx, 0x4a7901
mov eax, dword [edi + 0x4b00]
call fcn.0040fbd8
lea ecx, [ebp - 0x4738]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea eax, [ebp - 0x4738]
lea edx, [edi + 0x3f00]
call fcn.0040abb0
lea ecx, [ebp - 0x5368]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea eax, [ebp - 0x5368]
lea edx, [edi + 0x4300]
add eax, 0x400
call fcn.0040abf8
mov byte [ebp - 0x5768], 0
cmp byte [0x4c8234], 0
je 0x44cb46
cmp dword [edi + 0x20c8], 5
je 0x44cb46
push 0x4c8234
lea ecx, [ebp - 0x5b68]
push ecx
call fcn.00497c60
add esp, 8
lea eax, [ebp - 0x5768]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x5b68]
xor ecx, ecx
xor edx, edx
call fcn.0040a2a8
lea eax, [ebp - 0x5b68]
push eax
call fcn.004995f4
pop ecx
inc eax
jne 0x44cb46
lea edx, [ebp - 0x5b68]
mov eax, 0x1f7
push edx
call fcn.004125b4
push eax
call fcn.00486908
add esp, 8
jmp 0x44cc67
cmp byte [edi + 0x21ce], 0
mov al, 0x54
jne 0x44cb54
add eax, 4
lea edx, [edi + 0x3f00]
call fcn.00474d04
push 1
push 0
lea ecx, [edi + 0x4300]
lea edx, [edi + 0x3f00]
mov eax, 0x4c5b84
call fcn.00455f70
mov ecx, dword [0x4c5d8c]
mov dword [edi + 0x2ab0], ecx
mov byte [edi + 0x32c0], 1
cmp byte [edi + 0x21ce], 0
je 0x44cbbf
mov eax, 0x4c5b84
call fcn.004530d8
test al, 1
jne 0x44cbbf
mov eax, 0x3ac
call fcn.004125b4
push eax
lea edx, [edi + 0x3f00]
push edx
call fcn.0047d1f0
add esp, 8
jmp 0x44cbd1
mov eax, 0x4c5b84
xor ecx, ecx
mov dl, byte [ebp - 0x239]
call fcn.0045246c
mov byte [edi + 0x32c0], 0
cmp byte [ebp - 0x5768], 0
je 0x44cbee
lea eax, [ebp - 0x5768]
push eax
call fcn.004995f4
pop ecx
lea edx, [ebx + 1]
push edx
push dword [ebp - 8]
mov eax, 0x35d
call fcn.004125b4
push eax
lea edx, [ebp - 0x5c68]
push edx
call fcn.0049abc0
add esp, 0x10
lea edx, [ebp - 0x5c68]
mov eax, 0x4c53a8
call fcn.0047c814
lea ecx, [ebp - 0x6898]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea ecx, [ebp - 0x6898]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4c8120], eax
adc dword [0x4c8124], edx
call fcn.00474b5c
inc ebx
cmp esi, ebx
jle 0x44cc67
cmp dword [0x4c77d4], 0
je 0x44ca26
cmp dword [0x4c77c8], 2
jne 0x44cc77
xor eax, eax
mov dword [0x4c77c8], eax
cmp byte [ebp + 8], 0
je 0x44cc88
push dword [0x4c4e30]
call sub.USER32.DLL_DestroyWindow
cmp byte [edi + 0x2696], 0
je 0x44cca8
cmp dword [0x4c77d4], 0
jne 0x44cca8
cmp dword [0x4c77d8], 0
jne 0x44cca8
call fcn.00464264
mov eax, 0x4c53a8
xor edx, edx
call fcn.0047c814
mov byte [0x4c53d4], 0
mov eax, 0x4c53a8
call fcn.0047c8d4
cmp byte [ebp - 0x22a], 0
je 0x44cd11
cmp dword [0x4c77d8], 0
jne 0x44cd87
call fcn.00486b48
cmp eax, dword [ebp - 0x230]
jne 0x44cd87
push 0x40
mov eax, 0x3a7
call fcn.004125b4
push eax
mov eax, 0x3a8
call fcn.004125b4
push eax
push dword [0x4c4e24]
call sub.USER32.DLL_MessageBoxA
jmp 0x44cd87
cmp byte [ebp - 0x231], 0
je 0x44cd87
cmp dword [0x4c77d8], 0
jne 0x44cd46
cmp byte [0x4c8639], 0
je 0x44cd46
push 1
push 0x4a7900
push 0
push 0x4c8234
push 0x4a7916
push 0
call sub.SHELL32.DLL_ShellExecuteA
mov byte [ebp - 0x6c98], 0
lea edx, [ebp - 0x78c8]
mov eax, 0x4c4e38
call fcn.0045def8
test al, al
je 0x44cd77
lea edx, [ebp - 0x78c8]
push edx
lea ecx, [ebp - 0x6c98]
push ecx
call fcn.00497c60
add esp, 8
lea edx, [ebp - 0x6c98]
mov eax, 0x4c4e38
call fcn.00458834
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10