Function at 0x44cf3c
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 0x44cf45
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, 0x4b5fc4
mov eax, 0x4a5270
call fcn.00494df8
test esi, esi
jne 0x44cfc1
mov eax, 0x4c1454
call fcn.00468bbc
test eax, eax
jne 0x44cfc1
push 0x30
mov eax, 0x65
call fcn.00411fe8
push eax
mov eax, 0x14c
call fcn.00411fe8
push eax
push dword [0x4c1440]
call sub.USER32.DLL_MessageBoxA
mov edx, dword [ebp - 0x22c]
mov dword fs:[0], edx
mov eax, edx
jmp 0x44d859
xor eax, eax
call fcn.00457054
mov dword [0x4c4748], 0
mov dword [0x4c474c], 0
mov dword [0x4c4740], 0
mov dword [0x4c4744], 0
call fcn.0044e3dc
mov dword [ebp - 0x234], eax
mov word [ebp - 0x21c], 8
lea eax, [ebp - 0x110]
call fcn.0046b394
add dword [ebp - 0x210], 6
mov word [ebp - 0x21c], 0x14
mov word [ebp - 0x21c], 0x20
lea eax, [ebp - 0x208]
call fcn.0040f5c0
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 0x44d0ab
lea esi, [ebp - 0x208]
mov eax, 0x4c1454
xor ecx, ecx
xor edx, edx
call fcn.00468aa4
jmp 0x44d08c
lea ecx, [ebp - 0xa78]
lea edx, [ebp - 0xe78]
mov eax, esi
call fcn.0040f74c
lea edx, [ebp - 0xe78]
mov eax, 0x4c1454
xor ecx, ecx
call fcn.00468aa4
test al, al
je 0x44d0ab
cmp dword [0x4c3df0], 0
je 0x44d079
mov word [ebp - 0x21c], 0x14
jmp 0x44d12f
call fcn.0044e3dc
mov dword [ebp - 0x23c], eax
mov word [ebp - 0x21c], 0x14
test esi, esi
je 0x44d151
cmp dword [ebp + 0x14], 0
je 0x44d151
xor ebx, ebx
jmp 0x44d156
mov ebx, 1
push 1
push ebx
push 0
push 1
lea ecx, [ebp - 0x110]
mov edx, 2
mov eax, esi
call fcn.0046f0dc
and eax, 0xff
cmp eax, 1
sbb edx, edx
neg edx
mov ebx, edx
test bl, bl
jne 0x44d1f2
cmp dword [ebp - 0xc], 0
jne 0x44d1f2
cmp dword [esi + 0x30], 1
jne 0x44d1f2
mov eax, esi
call fcn.0040f90c
lea ecx, [ebp - 0x244]
lea edx, [ebp - 0x240]
mov eax, esi
call fcn.0040f89c
test al, al
je 0x44d1f2
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
call fcn.0040a90c
call fcn.0040a650
test al, al
jne 0x44d1f2
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.0046f2ac
lea eax, [ebp - 0x110]
call fcn.0046b788
mov esi, dword [ebp - 0xc]
test bl, bl
jne 0x44d20b
test esi, esi
jne 0x44d2a4
cmp dword [ebp + 0x10], 0
jne 0x44d2a4
test bl, bl
jne 0x44d23f
call fcn.0044e3dc
cmp eax, dword [ebp - 0x23c]
jne 0x44d23f
push 0x30
mov eax, 0x35f
call fcn.00411fe8
push eax
mov eax, 0x35e
call fcn.00411fe8
push eax
push dword [0x4c1440]
call sub.USER32.DLL_MessageBoxA
mov eax, 0x4c19c4
xor edx, edx
call fcn.004492f8
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f698
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f698
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44d859
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.00441e6c
cmp byte [ebp - 0x22e], 0
mov byte [0x4c5248], 0
jne 0x44d421
mov byte [ebp - 0x245], 0
cmp esi, 1
jne 0x44d369
lea ecx, [ebp - 0x1aa8]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046b6bc
lea ebx, [ebp - 0x1aa8]
push 1
push 0
lea ecx, [ebp - 0x3308]
lea eax, [ebp - 0x110]
xor edx, edx
call fcn.0046b6bc
lea eax, [ebp - 0x3308]
lea ecx, [ebp - 0x26d8]
add eax, 0x400
xor edx, edx
push eax
lea eax, [ebp - 0x110]
call fcn.0046b6bc
lea edx, [ebp - 0x26d8]
mov eax, 0x4c219c
pop ecx
call fcn.00460e08
mov eax, 0x4c219c
call fcn.0046241c
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x245], dl
jmp 0x44d387
lea ecx, [ebp - 0x3708]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3708]
call fcn.0040ba30
mov ebx, eax
cmp byte [ebx], 0
jne 0x44d391
mov ebx, 0x4a40bb
mov al, byte [ebp - 0x22d]
push eax
mov eax, 0x4c5248
mov dl, byte [ebp - 0x245]
push edx
mov edx, 0x4a3d11
mov cl, byte [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.0044d864
cmp byte [ebp - 0x22d], 0
je 0x44d421
mov eax, esi
call fcn.00441cf7
test al, al
jne 0x44d421
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f698
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f698
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44d859
cmp dword [ebp + 0x10], 0
je 0x44d437
push 0x4c5248
push dword [ebp + 0x10]
call fcn.004949c8
add esp, 8
test esi, esi
jne 0x44d494
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f698
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f698
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
jmp 0x44d859
mov dword [0x4c473c], esi
cmp dword [0x4c3de4], 0
jne 0x44d4ad
mov dword [0x4c3de4], 2
xor ebx, ebx
jmp 0x44d6d4
mov eax, dword [edi + 0x4afc]
call fcn.0040f714
mov eax, dword [edi + 0x4af0]
call fcn.0040f714
mov byte [ebp - 0x3b08], 0
cmp dword [ebp + 0x14], 0
je 0x44d4ea
lea edx, [ebp - 0x3b08]
mov ecx, 0x400
mov eax, dword [ebp + 0x14]
call fcn.0040f7c8
cmp byte [ebp - 0x3b08], 0
je 0x44d4fb
lea edx, [ebp - 0x3b08]
jmp 0x44d500
mov edx, 0x4a3eb5
mov eax, dword [edi + 0x4af0]
call fcn.0040f744
lea ecx, [ebp - 0x4738]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b6bc
lea eax, [ebp - 0x4738]
lea edx, [edi + 0x3ef0]
call fcn.0040a978
lea ecx, [ebp - 0x5368]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b6bc
lea eax, [ebp - 0x5368]
lea edx, [edi + 0x42f0]
add eax, 0x400
call fcn.0040a9c0
mov byte [ebp - 0x5768], 0
cmp byte [0x4c5248], 0
je 0x44d5d4
cmp dword [edi + 0x20c0], 5
je 0x44d5d4
push 0x4c5248
lea ecx, [ebp - 0x5b68]
push ecx
call fcn.004949c8
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.0040a090
lea eax, [ebp - 0x5b68]
push eax
call fcn.0049635c
pop ecx
inc eax
jne 0x44d5d4
lea edx, [ebp - 0x5b68]
mov eax, 0x1f7
push edx
call fcn.00411fe8
push eax
call fcn.0044e1d4
add esp, 8
jmp 0x44d6e5
lea eax, [edi + 0x3ef0]
call fcn.0040ba30
push eax
mov eax, 0x20b
cmp byte [edi + 0x21c6], 0
jne 0x44d5ef
dec eax
call fcn.00411fe8
push eax
lea edx, [ebp - 0x6168]
push edx
call fcn.00497928
add esp, 0xc
lea eax, [ebp - 0x6168]
call fcn.0047e4c0
call fcn.0047d960
push 1
push 0
lea ecx, [edi + 0x42f0]
lea edx, [edi + 0x3ef0]
mov eax, 0x4c219c
call fcn.00460e08
mov edx, dword [0x4c23a4]
xor ecx, ecx
mov dword [edi + 0x2aa8], edx
xor edx, edx
mov byte [edi + 0x32b4], 1
mov eax, 0x4c219c
call fcn.0045d418
mov byte [edi + 0x32b4], 0
cmp byte [ebp - 0x5768], 0
je 0x44d66c
lea eax, [ebp - 0x5768]
push eax
call fcn.0049635c
pop ecx
lea edx, [ebx + 1]
push edx
push dword [ebp - 0xc]
mov eax, 0x35d
call fcn.00411fe8
push eax
lea edx, [ebp - 0x6268]
push edx
call fcn.00497928
add esp, 0x10
lea edx, [ebp - 0x6268]
mov eax, 0x4c19c4
call fcn.004492f8
lea ecx, [ebp - 0x6e98]
lea eax, [ebp - 0x110]
mov edx, ebx
call fcn.0046b6bc
lea ecx, [ebp - 0x6e98]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4c4740], eax
adc dword [0x4c4744], edx
call fcn.0047e7cc
inc ebx
cmp esi, ebx
jle 0x44d6e5
cmp dword [0x4c3df0], 0
je 0x44d4b4
cmp dword [0x4c3de4], 2
jne 0x44d6f5
xor eax, eax
mov dword [0x4c3de4], eax
cmp byte [ebp + 8], 0
je 0x44d706
push dword [0x4c144c]
call sub.USER32.DLL_DestroyWindow
cmp byte [edi + 0x268e], 0
je 0x44d726
cmp dword [0x4c3df0], 0
jne 0x44d726
cmp dword [0x4c3df4], 0
jne 0x44d726
call fcn.0046ed60
mov eax, 0x4c19c4
xor edx, edx
call fcn.004492f8
mov byte [0x4c19f0], 0
mov eax, 0x4c19c4
call fcn.004493b8
cmp byte [ebp - 0x22e], 0
je 0x44d78f
cmp dword [0x4c3df4], 0
jne 0x44d805
call fcn.0044e3dc
cmp eax, dword [ebp - 0x234]
jne 0x44d805
push 0x40
mov eax, 0x3a7
call fcn.00411fe8
push eax
mov eax, 0x3a8
call fcn.00411fe8
push eax
push dword [0x4c1440]
call sub.USER32.DLL_MessageBoxA
jmp 0x44d805
cmp byte [ebp - 0x235], 0
je 0x44d805
cmp dword [0x4c3df4], 0
jne 0x44d7c4
cmp byte [0x4c564d], 0
je 0x44d7c4
push 1
push 0x4a3d11
push 0
push 0x4c5248
push 0x4a4805
push 0
call sub.SHELL32.DLL_ShellExecuteA
mov byte [ebp - 0x7298], 0
lea edx, [ebp - 0x7ec8]
mov eax, 0x4c1454
call fcn.00468c68
test al, al
je 0x44d7f5
lea edx, [ebp - 0x7ec8]
push edx
lea ecx, [ebp - 0x7298]
push ecx
call fcn.004949c8
add esp, 8
lea edx, [ebp - 0x7298]
mov eax, 0x4c1454
call fcn.0046364c
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f698
dec dword [ebp - 0x210]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x210], 4
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0040f698
mov ecx, dword [ebp - 0x22c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10