Function at 0x44d140
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 0x44d149
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, 0x4b6ec4
mov eax, 0x4a6198
call fcn.00495294
test esi, esi
jne 0x44d1c5
mov eax, 0x4c2354
call fcn.00468e84
test eax, eax
jne 0x44d1c5
push 0x30
mov eax, 0x65
call fcn.0041202c
push eax
mov eax, 0x14c
call fcn.0041202c
push eax
push dword [0x4c2340]
call sub.USER32.DLL_MessageBoxA
mov edx, dword [ebp - 0x22c]
mov dword fs:[0], edx
mov eax, edx
jmp 0x44da63
xor eax, eax
call fcn.004572bc
mov dword [0x4c5648], 0
mov dword [0x4c564c], 0
mov dword [0x4c5640], 0
mov dword [0x4c5644], 0
call fcn.0044e5e8
mov dword [ebp - 0x234], eax
mov word [ebp - 0x21c], 8
lea eax, [ebp - 0x110]
call fcn.0046b638
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 0x44d2af
lea esi, [ebp - 0x208]
mov eax, 0x4c2354
xor ecx, ecx
xor edx, edx
call fcn.00468d6c
jmp 0x44d290
lea ecx, [ebp - 0xa78]
lea edx, [ebp - 0xe78]
mov eax, esi
call fcn.0040f784
lea edx, [ebp - 0xe78]
mov eax, 0x4c2354
xor ecx, ecx
call fcn.00468d6c
test al, al
je 0x44d2af
cmp dword [0x4c4cf0], 0
je 0x44d27d
mov word [ebp - 0x21c], 0x14
jmp 0x44d333
call fcn.0044e5e8
mov dword [ebp - 0x23c], eax
mov word [ebp - 0x21c], 0x14
test esi, esi
je 0x44d355
cmp dword [ebp + 0x14], 0
je 0x44d355
xor ebx, ebx
jmp 0x44d35a
mov ebx, 1
push 1
push ebx
push 0
push 1
lea ecx, [ebp - 0x110]
mov edx, 2
mov eax, esi
call fcn.0046f370
and eax, 0xff
cmp eax, 1
sbb edx, edx
neg edx
mov ebx, edx
test bl, bl
jne 0x44d3f6
cmp dword [ebp - 0xc], 0
jne 0x44d3f6
cmp dword [esi + 0x30], 1
jne 0x44d3f6
mov eax, esi
call fcn.0040f944
lea ecx, [ebp - 0x244]
lea edx, [ebp - 0x240]
mov eax, esi
call fcn.0040f8d4
test al, al
je 0x44d3f6
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
call fcn.0040a938
call fcn.0040a67c
test al, al
jne 0x44d3f6
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.0046f540
lea eax, [ebp - 0x110]
call fcn.0046ba2c
mov esi, dword [ebp - 0xc]
test bl, bl
jne 0x44d40f
test esi, esi
jne 0x44d4a8
cmp dword [ebp + 0x10], 0
jne 0x44d4a8
test bl, bl
jne 0x44d443
call fcn.0044e5e8
cmp eax, dword [ebp - 0x23c]
jne 0x44d443
push 0x30
mov eax, 0x35f
call fcn.0041202c
push eax
mov eax, 0x35e
call fcn.0041202c
push eax
push dword [0x4c2340]
call sub.USER32.DLL_MessageBoxA
mov eax, 0x4c28c4
xor edx, edx
call fcn.004494f8
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.0043cc44
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 0x44da63
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.00442051
cmp byte [ebp - 0x22e], 0
mov byte [0x4c6148], 0
jne 0x44d625
mov byte [ebp - 0x245], 0
cmp esi, 1
jne 0x44d56d
lea ecx, [ebp - 0x1aa8]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046b960
lea ebx, [ebp - 0x1aa8]
push 1
push 0
lea ecx, [ebp - 0x3308]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046b960
lea eax, [ebp - 0x3308]
lea ecx, [ebp - 0x26d8]
add eax, 0x400
xor edx, edx
push eax
lea eax, [ebp - 0x110]
call fcn.0046b960
lea edx, [ebp - 0x26d8]
mov eax, 0x4c309c
pop ecx
call fcn.0046109c
mov eax, 0x4c309c
call fcn.004626b0
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x245], dl
jmp 0x44d58b
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 0x44d595
mov ebx, 0x4a4fe3
mov al, byte [ebp - 0x22d]
push eax
mov eax, 0x4c6148
mov dl, byte [ebp - 0x245]
push edx
mov edx, 0x4a4c39
mov cl, byte [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.0044da6c
cmp byte [ebp - 0x22d], 0
je 0x44d625
mov eax, esi
call fcn.00441ed3
test al, al
jne 0x44d625
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.0043cc44
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 0x44da63
cmp dword [ebp + 0x10], 0
je 0x44d63b
push 0x4c6148
push dword [ebp + 0x10]
call fcn.00494e64
add esp, 8
test esi, esi
jne 0x44d698
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.0043cc44
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 0x44da63
mov dword [0x4c563c], esi
cmp dword [0x4c4ce4], 0
jne 0x44d6b1
mov dword [0x4c4ce4], 2
xor ebx, ebx
jmp 0x44d8de
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 0x44d6ee
lea edx, [ebp - 0x3b08]
mov ecx, 0x400
mov eax, dword [ebp + 0x14]
call fcn.0040f800
cmp byte [ebp - 0x3b08], 0
je 0x44d6ff
lea edx, [ebp - 0x3b08]
jmp 0x44d704
mov edx, 0x4a4ddd
mov eax, dword [edi + 0x4af0]
call fcn.0040f77c
lea ecx, [ebp - 0x4738]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b960
lea eax, [ebp - 0x4738]
lea edx, [edi + 0x3ef0]
call fcn.0040a9a4
lea ecx, [ebp - 0x5368]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b960
lea eax, [ebp - 0x5368]
lea edx, [edi + 0x42f0]
add eax, 0x400
call fcn.0040a9ec
mov byte [ebp - 0x5768], 0
cmp byte [0x4c6148], 0
je 0x44d7d8
cmp dword [edi + 0x20c0], 5
je 0x44d7d8
push 0x4c6148
lea ecx, [ebp - 0x5b68]
push ecx
call fcn.00494e64
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.004967f8
pop ecx
inc eax
jne 0x44d7d8
lea edx, [ebp - 0x5b68]
mov eax, 0x1f7
push edx
call fcn.0041202c
push eax
call fcn.0044e3e0
add esp, 8
jmp 0x44d8ef
lea eax, [edi + 0x3ef0]
call fcn.0040ba60
push eax
cmp byte [edi + 0x21c6], 0
je 0x44d7f4
mov eax, 0x20b
jmp 0x44d7f9
mov eax, 0x20a
call fcn.0041202c
push eax
lea edx, [ebp - 0x6168]
push edx
call fcn.00497dc4
add esp, 0xc
lea eax, [ebp - 0x6168]
call fcn.0047e890
call fcn.0047dd2c
push 1
push 0
lea ecx, [edi + 0x42f0]
lea edx, [edi + 0x3ef0]
mov eax, 0x4c309c
call fcn.0046109c
mov edx, dword [0x4c32a4]
xor ecx, ecx
mov dword [edi + 0x2aa8], edx
xor edx, edx
mov byte [edi + 0x32b4], 1
mov eax, 0x4c309c
call fcn.0045d68c
mov byte [edi + 0x32b4], 0
cmp byte [ebp - 0x5768], 0
je 0x44d876
lea eax, [ebp - 0x5768]
push eax
call fcn.004967f8
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.00497dc4
add esp, 0x10
lea edx, [ebp - 0x6268]
mov eax, 0x4c28c4
call fcn.004494f8
lea ecx, [ebp - 0x6e98]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b960
lea ecx, [ebp - 0x6e98]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4c5640], eax
adc dword [0x4c5644], edx
call fcn.0047eb9c
inc ebx
cmp esi, ebx
jle 0x44d8ef
cmp dword [0x4c4cf0], 0
je 0x44d6b8
cmp dword [0x4c4ce4], 2
jne 0x44d8ff
xor eax, eax
mov dword [0x4c4ce4], eax
cmp byte [ebp + 8], 0
je 0x44d910
push dword [0x4c234c]
call sub.USER32.DLL_DestroyWindow
cmp byte [edi + 0x268e], 0
je 0x44d930
cmp dword [0x4c4cf0], 0
jne 0x44d930
cmp dword [0x4c4cf4], 0
jne 0x44d930
call fcn.0046eff4
mov eax, 0x4c28c4
xor edx, edx
call fcn.004494f8
mov byte [0x4c28f0], 0
mov eax, 0x4c28c4
call fcn.004495b8
cmp byte [ebp - 0x22e], 0
je 0x44d999
cmp dword [0x4c4cf4], 0
jne 0x44da0f
call fcn.0044e5e8
cmp eax, dword [ebp - 0x234]
jne 0x44da0f
push 0x40
mov eax, 0x3a7
call fcn.0041202c
push eax
mov eax, 0x3a8
call fcn.0041202c
push eax
push dword [0x4c2340]
call sub.USER32.DLL_MessageBoxA
jmp 0x44da0f
cmp byte [ebp - 0x235], 0
je 0x44da0f
cmp dword [0x4c4cf4], 0
jne 0x44d9ce
cmp byte [0x4c654d], 0
je 0x44d9ce
push 1
push 0x4a4c39
push 0
push 0x4c6148
push 0x4a572d
push 0
call sub.SHELL32.DLL_ShellExecuteA
mov byte [ebp - 0x7298], 0
lea edx, [ebp - 0x7ec8]
mov eax, 0x4c2354
call fcn.00468f30
test al, al
je 0x44d9ff
lea edx, [ebp - 0x7ec8]
push edx
lea ecx, [ebp - 0x7298]
push ecx
call fcn.00494e64
add esp, 8
lea edx, [ebp - 0x7298]
mov eax, 0x4c2354
call fcn.004638e8
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.0043cc44
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