Function at 0x445118
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 0x445121
mov eax, dword [ebp - 4]
add esp, 0xfffff540
push ebx
push esi
push edi
mov esi, ecx
mov byte [ebp - 0x22a], dl
mov byte [ebp - 0x229], al
mov edi, 0x4a5e34
mov eax, 0x496938
call fcn.00482ea0
test esi, esi
jne 0x44519d
mov eax, 0x4ad5bc
call fcn.0045eafc
test eax, eax
jne 0x44519d
push 0x30
mov eax, 0x65
call fcn.00410804
push eax
mov eax, 0x14c
call fcn.00410804
push eax
push dword [0x4ad5a8]
call sub.USER32.DLL_MessageBoxA
mov edx, dword [ebp - 0x228]
mov dword fs:[0], edx
mov eax, edx
jmp 0x4459e9
xor eax, eax
call fcn.0044f618
mov dword [0x4b0564], 0
mov dword [0x4b0568], 0
mov dword [0x4b055c], 0
mov dword [0x4b0560], 0
call fcn.00447c1c
mov dword [ebp - 0x230], eax
mov word [ebp - 0x218], 8
lea eax, [ebp - 0x10c]
call fcn.00460058
add dword [ebp - 0x20c], 6
mov word [ebp - 0x218], 0x14
mov word [ebp - 0x218], 0x20
lea eax, [ebp - 0x204]
call fcn.0040e004
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 0x445283
lea esi, [ebp - 0x204]
mov eax, 0x4ad5bc
xor edx, edx
call fcn.0045ea58
jmp 0x445266
lea ecx, [ebp - 0xa74]
lea edx, [ebp - 0xe74]
mov eax, esi
call fcn.0040e1d4
lea edx, [ebp - 0xe74]
mov eax, 0x4ad5bc
call fcn.0045ea58
test al, al
je 0x445283
cmp dword [0x4afc18], 0
je 0x445253
mov word [ebp - 0x218], 0x14
jmp 0x445307
call fcn.00447c1c
mov dword [ebp - 0x238], eax
mov word [ebp - 0x218], 0x14
push 1
push 1
push 0
push 1
lea ecx, [ebp - 0x10c]
mov edx, 2
mov eax, esi
call fcn.00463128
xor ebx, ebx
mov bl, al
cmp ebx, 1
sbb ebx, ebx
neg ebx
test bl, bl
jne 0x4453b5
cmp dword [ebp - 8], 0
jne 0x4453b5
cmp dword [esi + 0x30], 1
jne 0x4453b5
mov eax, esi
call fcn.0040e394
lea ecx, [ebp - 0x240]
lea edx, [ebp - 0x23c]
mov eax, esi
call fcn.0040e324
test al, al
je 0x4453b5
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x23c]
call fcn.00409c88
call fcn.004099cc
test al, al
jne 0x4453b5
lea edx, [ebp - 0x10c]
push edx
push 0
push 0
push 0
push 0
xor ecx, ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x23c]
call fcn.004632f8
lea eax, [ebp - 0x10c]
call fcn.00460438
mov esi, dword [ebp - 8]
test bl, bl
jne 0x4453ce
test esi, esi
jne 0x445467
cmp dword [ebp + 0x10], 0
jne 0x445467
test bl, bl
jne 0x445402
call fcn.00447c1c
cmp eax, dword [ebp - 0x238]
jne 0x445402
push 0x30
mov eax, 0x35f
call fcn.00410804
push eax
mov eax, 0x35e
call fcn.00410804
push eax
push dword [0x4ad5a8]
call sub.USER32.DLL_MessageBoxA
mov eax, 0x4adb14
xor edx, edx
call fcn.00441f48
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040e120
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00436ce4
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040e120
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x4459e9
mov al, byte [ebp - 0x22a]
mov byte [edi + 0x198e], al
xor edx, edx
mov dword [edi + 0x1944], edx
xor ecx, ecx
mov dword [edi + 0x1968], ecx
mov dword [edi + 0x1e50], 1
call fcn.0043adc8
cmp byte [ebp - 0x22a], 0
mov byte [0x4b300d], 0
jne 0x4455e4
mov byte [ebp - 0x241], 0
cmp esi, 1
jne 0x44552c
lea ecx, [ebp - 0x1aa4]
lea eax, [ebp - 0x10c]
xor edx, edx
call fcn.0046036c
lea ebx, [ebp - 0x1aa4]
push 1
push 0
lea ecx, [ebp - 0x3304]
lea eax, [ebp - 0x10c]
xor edx, edx
call fcn.0046036c
lea eax, [ebp - 0x3304]
lea ecx, [ebp - 0x26d4]
add eax, 0x400
xor edx, edx
push eax
lea eax, [ebp - 0x10c]
call fcn.0046036c
lea edx, [ebp - 0x26d4]
mov eax, 0x4adfd0
pop ecx
call fcn.00457b40
mov eax, 0x4adfd0
call fcn.00459038
test eax, eax
setne dl
and edx, 1
mov byte [ebp - 0x241], dl
jmp 0x44554a
lea ecx, [ebp - 0x3704]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3704]
call fcn.0040a924
mov ebx, eax
cmp byte [ebx], 0
jne 0x445554
mov ebx, 0x495d58
mov al, byte [ebp - 0x229]
push eax
mov eax, 0x4b300d
mov dl, byte [ebp - 0x241]
push edx
mov edx, 0x495a5d
mov cl, byte [ebp + 0xc]
push ecx
mov ecx, ebx
call fcn.004459f4
cmp byte [ebp - 0x229], 0
je 0x4455e4
mov eax, esi
call fcn.0043acd4
test al, al
jne 0x4455e4
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040e120
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00436ce4
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040e120
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x4459e9
cmp dword [ebp + 0x10], 0
je 0x4455fa
push 0x4b300d
push dword [ebp + 0x10]
call fcn.00482a00
add esp, 8
test esi, esi
jne 0x445657
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040e120
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00436ce4
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040e120
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x4459e9
mov dword [0x4b0558], esi
cmp dword [0x4afc10], 0
jne 0x445670
mov dword [0x4afc10], 2
xor ebx, ebx
jmp 0x445884
mov eax, dword [edi + 0x328c]
call fcn.0040e19c
mov eax, dword [edi + 0x3284]
call fcn.0040e19c
mov byte [ebp - 0x3b04], 0
cmp dword [ebp + 0x14], 0
je 0x4456ad
lea edx, [ebp - 0x3b04]
mov ecx, 0x400
mov eax, dword [ebp + 0x14]
call fcn.0040e250
cmp byte [ebp - 0x3b04], 0
je 0x4456be
lea edx, [ebp - 0x3b04]
jmp 0x4456c3
mov edx, 0x495b9e
mov eax, dword [edi + 0x3284]
call fcn.0040e1cc
lea ecx, [ebp - 0x4734]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.0046036c
lea eax, [ebp - 0x4734]
lea edx, [edi + 0x2684]
call fcn.00409cf4
lea ecx, [ebp - 0x5364]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.0046036c
lea eax, [ebp - 0x5364]
lea edx, [edi + 0x2a84]
add eax, 0x400
call fcn.00409d3c
mov byte [ebp - 0x5764], 0
cmp byte [0x4b300d], 0
je 0x44578e
push 0x4b300d
lea ecx, [ebp - 0x5b64]
push ecx
call fcn.00482a00
add esp, 8
lea eax, [ebp - 0x5764]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x5b64]
xor ecx, ecx
xor edx, edx
call fcn.004095e0
lea eax, [ebp - 0x5b64]
push eax
call fcn.00484424
pop ecx
inc eax
jne 0x44578e
lea edx, [ebp - 0x5b64]
mov eax, 0x1f7
push edx
call fcn.00410804
push eax
call fcn.00447a48
add esp, 8
jmp 0x445895
lea eax, [edi + 0x2684]
call fcn.0040a924
push eax
cmp byte [edi + 0x198e], 0
je 0x4457aa
mov eax, 0x20b
jmp 0x4457af
mov eax, 0x20a
call fcn.00410804
push eax
lea edx, [ebp - 0x5d64]
push edx
call fcn.00486578
add esp, 0xc
lea eax, [ebp - 0x5d64]
call fcn.0046c1ec
call fcn.0046b7e4
push 1
push 0
lea ecx, [edi + 0x2a84]
lea edx, [edi + 0x2684]
mov eax, 0x4adfd0
call fcn.00457b40
mov edx, dword [0x4ae1d8]
mov dword [edi + 0x1e68], edx
mov eax, 0x4adfd0
xor edx, edx
call fcn.00454abc
cmp byte [ebp - 0x5764], 0
je 0x44581c
lea ecx, [ebp - 0x5764]
push ecx
call fcn.00484424
pop ecx
lea eax, [ebx + 1]
push eax
push dword [ebp - 8]
mov eax, 0x35d
call fcn.00410804
push eax
lea edx, [ebp - 0x5e64]
push edx
call fcn.00486578
add esp, 0x10
lea edx, [ebp - 0x5e64]
mov eax, 0x4adb14
call fcn.00441f48
lea ecx, [ebp - 0x6a94]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.0046036c
lea ecx, [ebp - 0x6a94]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4b055c], eax
adc dword [0x4b0560], edx
call fcn.0046c454
inc ebx
cmp esi, ebx
jle 0x445895
cmp dword [0x4afc18], 0
je 0x445677
cmp dword [0x4afc10], 2
jne 0x4458a5
xor eax, eax
mov dword [0x4afc10], eax
cmp byte [ebp + 8], 0
je 0x4458b6
push dword [0x4ad5b4]
call sub.USER32.DLL_DestroyWindow
mov eax, 0x4adb14
xor edx, edx
call fcn.00441f48
mov byte [0x4adb40], 0
mov eax, 0x4adb14
call fcn.00441fd8
cmp byte [ebp - 0x22a], 0
je 0x44591f
cmp dword [0x4afc1c], 0
jne 0x445995
call fcn.00447c1c
cmp eax, dword [ebp - 0x230]
jne 0x445995
push 0x40
mov eax, 0x3a7
call fcn.00410804
push eax
mov eax, 0x3a8
call fcn.00410804
push eax
push dword [0x4ad5a8]
call sub.USER32.DLL_MessageBoxA
jmp 0x445995
cmp byte [ebp - 0x231], 0
je 0x445995
cmp dword [0x4afc1c], 0
jne 0x445954
cmp byte [0x4b3415], 0
je 0x445954
push 1
push 0x495a5d
push 0
push 0x4b300d
push 0x495f07
push 0
call sub.SHELL32.DLL_ShellExecuteA
mov byte [ebp - 0x6e94], 0
lea edx, [ebp - 0x7ac4]
mov eax, 0x4ad5bc
call fcn.0045eba4
test al, al
je 0x445985
lea edx, [ebp - 0x7ac4]
push edx
lea ecx, [ebp - 0x6e94]
push ecx
call fcn.00482a00
add esp, 8
lea edx, [ebp - 0x6e94]
mov eax, 0x4ad5bc
call fcn.00459fd8
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040e120
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00436ce4
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040e120
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10