Function at 0x44d1cc
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 0x44d1d5
mov eax, dword [ebp - 4]
add esp, 0xfffff13c
push ebx
push esi
push edi
mov esi, ecx
mov byte [ebp - 0x22e], dl
mov byte [ebp - 0x22d], al
mov edi, 0x4b6fc4
mov eax, 0x4a6270
call fcn.00495388
test esi, esi
jne 0x44d251
mov eax, 0x4c2454
call fcn.00468f10
test eax, eax
jne 0x44d251
push 0x30
mov eax, 0x65
call fcn.0041202c
push eax
mov eax, 0x14c
call fcn.0041202c
push eax
push dword [0x4c2440]
call sub.USER32.DLL_MessageBoxA
mov edx, dword [ebp - 0x22c]
mov dword fs:[0], edx
mov eax, edx
jmp 0x44daef
xor eax, eax
call fcn.00457348
mov dword [0x4c5748], 0
mov dword [0x4c574c], 0
mov dword [0x4c5740], 0
mov dword [0x4c5744], 0
call fcn.0044e674
mov dword [ebp - 0x234], eax
mov word [ebp - 0x21c], 8
lea eax, [ebp - 0x110]
call fcn.0046b718
add dword [ebp - 0x210], 6
mov word [ebp - 0x21c], 0x14
mov word [ebp - 0x21c], 0x20
lea eax, [ebp - 0x208]
call fcn.0040f5f8
add dword [ebp - 0x210], 4
mov word [ebp - 0x21c], 0x14
test esi, esi
sete dl
and edx, 1
mov byte [ebp - 0x235], dl
mov word [ebp - 0x21c], 0x2c
cmp byte [ebp - 0x235], 0
je 0x44d33b
lea esi, [ebp - 0x208]
mov eax, 0x4c2454
xor ecx, ecx
xor edx, edx
call fcn.00468df8
jmp 0x44d31c
lea ecx, [ebp - 0xa78]
lea edx, [ebp - 0xe78]
mov eax, esi
call fcn.0040f784
lea edx, [ebp - 0xe78]
mov eax, 0x4c2454
xor ecx, ecx
call fcn.00468df8
test al, al
je 0x44d33b
cmp dword [0x4c4df0], 0
je 0x44d309
mov word [ebp - 0x21c], 0x14
jmp 0x44d3bf
call fcn.0044e674
mov dword [ebp - 0x23c], eax
mov word [ebp - 0x21c], 0x14
test esi, esi
je 0x44d3e1
cmp dword [ebp + 0x14], 0
je 0x44d3e1
xor ebx, ebx
jmp 0x44d3e6
mov ebx, 1
push 1
push ebx
push 0
push 1
lea ecx, [ebp - 0x110]
mov edx, 2
mov eax, esi
call fcn.0046f464
and eax, 0xff
cmp eax, 1
sbb edx, edx
neg edx
mov ebx, edx
test bl, bl
jne 0x44d482
cmp dword [ebp - 0xc], 0
jne 0x44d482
cmp dword [esi + 0x30], 1
jne 0x44d482
mov eax, esi
call fcn.0040f944
lea ecx, [ebp - 0x244]
lea edx, [ebp - 0x240]
mov eax, esi
call fcn.0040f8d4
test al, al
je 0x44d482
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
call fcn.0040a938
call fcn.0040a67c
test al, al
jne 0x44d482
lea edx, [ebp - 0x110]
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.0046f634
lea eax, [ebp - 0x110]
call fcn.0046bb0c
mov esi, dword [ebp - 0xc]
test bl, bl
jne 0x44d49b
test esi, esi
jne 0x44d534
cmp dword [ebp + 0x10], 0
jne 0x44d534
test bl, bl
jne 0x44d4cf
call fcn.0044e674
cmp eax, dword [ebp - 0x23c]
jne 0x44d4cf
push 0x30
mov eax, 0x35f
call fcn.0041202c
push eax
mov eax, 0x35e
call fcn.0041202c
push eax
push dword [0x4c2440]
call sub.USER32.DLL_MessageBoxA
mov eax, 0x4c29c4
xor edx, edx
call fcn.00449584
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f6d0
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ccb8
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f6d0
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44daef
mov al, byte [ebp - 0x22e]
mov byte [edi + 0x21c6], al
xor edx, edx
mov dword [edi + 0x215c], edx
xor ecx, ecx
mov dword [edi + 0x2188], ecx
mov dword [edi + 0x2688], 1
call fcn.004420ce
cmp byte [ebp - 0x22e], 0
mov byte [0x4c6248], 0
jne 0x44d6b1
mov byte [ebp - 0x245], 0
cmp esi, 1
jne 0x44d5f9
lea ecx, [ebp - 0x1aa8]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046ba40
lea ebx, [ebp - 0x1aa8]
push 1
push 0
lea ecx, [ebp - 0x3308]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046ba40
lea eax, [ebp - 0x3308]
lea ecx, [ebp - 0x26d8]
add eax, 0x400
xor edx, edx
push eax
lea eax, [ebp - 0x110]
call fcn.0046ba40
lea edx, [ebp - 0x26d8]
mov eax, 0x4c319c
pop ecx
call fcn.00461128
mov eax, 0x4c319c
call fcn.0046273c
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x245], dl
jmp 0x44d617
lea ecx, [ebp - 0x3708]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3708]
call fcn.0040ba60
mov ebx, eax
cmp byte [ebx], 0
jne 0x44d621
mov ebx, 0x4a50bb
mov al, byte [ebp - 0x22d]
push eax
mov eax, 0x4c6248
mov dl, byte [ebp - 0x245]
push edx
mov edx, 0x4a4d11
mov cl, byte [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.0044daf8
cmp byte [ebp - 0x22d], 0
je 0x44d6b1
mov eax, esi
call fcn.00441f50
test al, al
jne 0x44d6b1
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f6d0
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ccb8
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f6d0
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44daef
cmp dword [ebp + 0x10], 0
je 0x44d6c7
push 0x4c6248
push dword [ebp + 0x10]
call fcn.00494f58
add esp, 8
test esi, esi
jne 0x44d724
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f6d0
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ccb8
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f6d0
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44daef
mov dword [0x4c573c], esi
cmp dword [0x4c4de4], 0
jne 0x44d73d
mov dword [0x4c4de4], 2
xor ebx, ebx
jmp 0x44d96a
mov eax, dword [edi + 0x4afc]
call fcn.0040f74c
mov eax, dword [edi + 0x4af0]
call fcn.0040f74c
mov byte [ebp - 0x3b08], 0
cmp dword [ebp + 0x14], 0
je 0x44d77a
lea edx, [ebp - 0x3b08]
mov ecx, 0x400
mov eax, dword [ebp + 0x14]
call fcn.0040f800
cmp byte [ebp - 0x3b08], 0
je 0x44d78b
lea edx, [ebp - 0x3b08]
jmp 0x44d790
mov edx, 0x4a4eb5
mov eax, dword [edi + 0x4af0]
call fcn.0040f77c
lea ecx, [ebp - 0x4738]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046ba40
lea eax, [ebp - 0x4738]
lea edx, [edi + 0x3ef0]
call fcn.0040a9a4
lea ecx, [ebp - 0x5368]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046ba40
lea eax, [ebp - 0x5368]
lea edx, [edi + 0x42f0]
add eax, 0x400
call fcn.0040a9ec
mov byte [ebp - 0x5768], 0
cmp byte [0x4c6248], 0
je 0x44d864
cmp dword [edi + 0x20c0], 5
je 0x44d864
push 0x4c6248
lea ecx, [ebp - 0x5b68]
push ecx
call fcn.00494f58
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.0040a0bc
lea eax, [ebp - 0x5b68]
push eax
call fcn.004968ec
pop ecx
inc eax
jne 0x44d864
lea edx, [ebp - 0x5b68]
mov eax, 0x1f7
push edx
call fcn.0041202c
push eax
call fcn.0044e46c
add esp, 8
jmp 0x44d97b
lea eax, [edi + 0x3ef0]
call fcn.0040ba60
push eax
cmp byte [edi + 0x21c6], 0
je 0x44d880
mov eax, 0x20b
jmp 0x44d885
mov eax, 0x20a
call fcn.0041202c
push eax
lea edx, [ebp - 0x6168]
push edx
call fcn.00497eb8
add esp, 0xc
lea eax, [ebp - 0x6168]
call fcn.0047e984
call fcn.0047de20
push 1
push 0
lea ecx, [edi + 0x42f0]
lea edx, [edi + 0x3ef0]
mov eax, 0x4c319c
call fcn.00461128
mov edx, dword [0x4c33a4]
xor ecx, ecx
mov dword [edi + 0x2aa8], edx
xor edx, edx
mov byte [edi + 0x32b4], 1
mov eax, 0x4c319c
call fcn.0045d718
mov byte [edi + 0x32b4], 0
cmp byte [ebp - 0x5768], 0
je 0x44d902
lea eax, [ebp - 0x5768]
push eax
call fcn.004968ec
pop ecx
lea edx, [ebx + 1]
push edx
push dword [ebp - 0xc]
mov eax, 0x35d
call fcn.0041202c
push eax
lea edx, [ebp - 0x6268]
push edx
call fcn.00497eb8
add esp, 0x10
lea edx, [ebp - 0x6268]
mov eax, 0x4c29c4
call fcn.00449584
lea ecx, [ebp - 0x6e98]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046ba40
lea ecx, [ebp - 0x6e98]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4c5740], eax
adc dword [0x4c5744], edx
call fcn.0047ec90
inc ebx
cmp esi, ebx
jle 0x44d97b
cmp dword [0x4c4df0], 0
je 0x44d744
cmp dword [0x4c4de4], 2
jne 0x44d98b
xor eax, eax
mov dword [0x4c4de4], eax
cmp byte [ebp + 8], 0
je 0x44d99c
push dword [0x4c244c]
call sub.USER32.DLL_DestroyWindow
cmp byte [edi + 0x268e], 0
je 0x44d9bc
cmp dword [0x4c4df0], 0
jne 0x44d9bc
cmp dword [0x4c4df4], 0
jne 0x44d9bc
call fcn.0046f0e8
mov eax, 0x4c29c4
xor edx, edx
call fcn.00449584
mov byte [0x4c29f0], 0
mov eax, 0x4c29c4
call fcn.00449644
cmp byte [ebp - 0x22e], 0
je 0x44da25
cmp dword [0x4c4df4], 0
jne 0x44da9b
call fcn.0044e674
cmp eax, dword [ebp - 0x234]
jne 0x44da9b
push 0x40
mov eax, 0x3a7
call fcn.0041202c
push eax
mov eax, 0x3a8
call fcn.0041202c
push eax
push dword [0x4c2440]
call sub.USER32.DLL_MessageBoxA
jmp 0x44da9b
cmp byte [ebp - 0x235], 0
je 0x44da9b
cmp dword [0x4c4df4], 0
jne 0x44da5a
cmp byte [0x4c664d], 0
je 0x44da5a
push 1
push 0x4a4d11
push 0
push 0x4c6248
push 0x4a5805
push 0
call sub.SHELL32.DLL_ShellExecuteA
mov byte [ebp - 0x7298], 0
lea edx, [ebp - 0x7ec8]
mov eax, 0x4c2454
call fcn.00468fbc
test al, al
je 0x44da8b
lea edx, [ebp - 0x7ec8]
push edx
lea ecx, [ebp - 0x7298]
push ecx
call fcn.00494f58
add esp, 8
lea edx, [ebp - 0x7298]
mov eax, 0x4c2454
call fcn.00463974
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f6d0
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ccb8
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f6d0
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10