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

Disassembly:
push ebp
lea ebp, [esp - 0x1934]
mov eax, 0x1934
call fcn.0049ebb0
push 0xffffffffffffffff
push 0x4afe79
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1a88
call fcn.0049ebb0
mov eax, dword [0x4c03a0]
xor eax, ebp
mov dword [ebp + 0x1930], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0x1944]
mov ebx, dword [ebp + 0x1948]
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp + 0x194c]
mov dword [ebp - 0x20], eax
xor edi, edi
cmp esi, edi
jne 0x483c8b
mov ecx, 0x4dff38
call fcn.0043ef50
test eax, eax
jne 0x483c8b
push 0x30
push 0x65
call fcn.0045be10
push eax
push 0x14c
call fcn.0045be10
push eax
mov ecx, dword [0x4dc210]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x484339
push edi
call fcn.0047b480
mov dword [0x4dbcf8], edi
mov dword [0x4dbcfc], edi
mov dword [0x4dc1b0], edi
mov dword [0x4dc1b4], edi
call fcn.00486bf0
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x140]
call fcn.0043d260
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x238]
call fcn.004658e0
mov byte [ebp - 4], 1
cmp esi, edi
sete al
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 2
test al, al
je 0x483d22
lea esi, [ebp - 0x238]
mov dword [ebp - 0x34], esi
push edi
push edi
mov ecx, 0x4dff38
call fcn.0043edc0
push edi
lea edx, [ebp]
push edx
mov ecx, 0x4dff38
call fcn.0043edc0
test al, al
je 0x483d22
cmp dword [0x4dc1c0], edi
jne 0x483d22
lea eax, [ebp + 0x400]
push eax
lea ecx, [ebp]
push ecx
mov ecx, esi
call fcn.00465650
jmp 0x483cf3
mov dword [ebp - 4], 1
call fcn.00486bf0
mov dword [ebp - 0x2c], eax
cmp esi, edi
je 0x483d3d
cmp ebx, edi
mov byte [ebp - 0x14], 0
jne 0x483d41
mov byte [ebp - 0x14], 1
lea edx, [ebp - 0x28]
push edx
push 1
push edi
mov eax, dword [ebp - 0x14]
push eax
push 1
lea ecx, [ebp - 0x140]
push ecx
push 3
push esi
call fcn.0045e440
test al, al
sete bl
test bl, bl
jne 0x483dc6
cmp dword [ebp - 0x3c], edi
jne 0x483dc6
cmp dword [esi + 0x30], 1
jne 0x483dc6
mov ecx, esi
call fcn.004654e0
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.00465720
test al, al
je 0x483dc6
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0042fd20
push eax
call fcn.0042fcd0
test al, al
jne 0x483dc6
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x140]
push eax
push edi
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0045df20
lea ecx, [ebp - 0x140]
call fcn.0043d140
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x14], esi
test bl, bl
jne 0x48430d
cmp esi, edi
jne 0x483de1
cmp dword [ebp - 0x20], edi
je 0x4842df
mov bl, byte [ebp + 0x1940]
mov byte [0x4e58b2], bl
mov dword [0x4e5854], edi
mov dword [0x4e5878], edi
mov dword [0x4e5d74], 1
call fcn.00482160
mov byte [0x4f7ce8], 0
test bl, bl
jne 0x483ee6
mov byte [ebp - 0x1c], bl
cmp esi, 1
jne 0x483e7f
push edi
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x140]
call fcn.0043d090
mov esi, eax
push edi
push 1
push edi
lea ecx, [ebp - 0x1a98]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043d090
add eax, 0x400
push eax
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043d090
push eax
mov ecx, 0x4e0c60
call fcn.00414490
mov ecx, 0x4e0c60
call fcn.00413560
test eax, eax
setne al
mov byte [ebp - 0x1c], al
jmp 0x483e9f
lea ecx, [ebp + 0x1530]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp + 0x1530]
push edx
call fcn.0044daf0
mov esi, eax
cmp byte [esi], 0
jne 0x483ea9
mov esi, str.Files
mov eax, dword [ebp + 0x1950]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ebx, dword [ebp + 0x193c]
push ebx
push esi
push 0x4b1914
push 0x4f7ce8
call fcn.00482cd0
test bl, bl
je 0x483ee0
mov edx, dword [ebp - 0x14]
push edx
call fcn.00483a40
test al, al
je 0x484318
mov bl, byte [ebp + 0x1940]
mov edx, dword [ebp - 0x20]
cmp edx, edi
je 0x483efc
mov ecx, 0x4f7ce8
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483ef2
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x484318
mov dword [0x4dbd04], eax
cmp dword [0x4dbca8], edi
jne 0x483f1e
mov dword [0x4dbca8], 2
xor edi, edi
test eax, eax
jbe 0x484188
cmp dword [0x4dc1c0], 0
jne 0x484188
mov ecx, dword [0x4e8200]
call fcn.004655e0
mov ecx, dword [0x4e81f4]
call fcn.004655e0
mov byte [ebp + 0xc30], 0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x483f79
push 0x400
lea eax, [ebp + 0xc30]
push eax
call fcn.00465b20
cmp byte [ebp + 0xc30], 0
lea eax, [ebp + 0xc30]
jne 0x483f7e
mov eax, 0x4b175c
push eax
mov ecx, dword [0x4e81f4]
call fcn.00465960
push 0x4e75f4
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043d090
push eax
call fcn.0042fda0
push 0x4e79f4
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043d090
add eax, 0x400
push eax
call fcn.0042fe30
mov byte [ebp + 0x1030], 0
xor eax, eax
mov word [ebp + 0x430], ax
cmp byte [0x4f7ce8], al
je 0x484041
cmp dword [0x4e57c0], 5
je 0x484041
mov ecx, 0x4f7ce8
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483ff7
push 0x400
lea ecx, [ebp + 0x430]
push ecx
lea edx, [ebp + 0x1030]
push edx
call fcn.0047e470
push 0
push 0
lea eax, [ebp + 0x1530]
push eax
call fcn.00430590
lea ecx, [ebp + 0x1530]
push ecx
call fcn.004acbe8
add esp, 4
cmp eax, 0xffffffff
je 0x484164
push 0x4e75f4
cmp byte [0x4e58b2], 0
sete dl
lea edx, [edx*4 + 0x54]
push edx
call fcn.00480ec0
push 0
push 1
push 0x4e79f4
push 0x4e75f4
mov ecx, 0x4e0c60
call fcn.00414490
mov eax, dword [0x4e0e68]
mov dword [0x4e6194], eax
mov byte [0x4e69a4], 1
cmp byte [0x4e58b2], 0
je 0x4840b7
mov ecx, 0x4e0c60
call fcn.004112e0
test al, 1
jne 0x4840b7
push 0x3ac
call fcn.0045be10
push eax
push 0x4e75f4
call fcn.0048d240
add esp, 8
jmp 0x4840c7
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, 0x4e0c60
call fcn.004160e0
mov byte [0x4e69a4], 0
cmp byte [ebp + 0x1030], 0
jne 0x4840e1
cmp word [ebp + 0x430], 0
je 0x4840f4
lea edx, [ebp + 0x430]
push edx
lea eax, [ebp + 0x1030]
push eax
call fcn.0047e420
lea esi, [edi + 1]
push esi
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x35d
call fcn.0045be10
push eax
lea edx, [ebp + 0x1430]
push edx
call fcn.0049e635
add esp, 0x10
lea eax, [ebp + 0x1430]
push eax
mov ecx, 0x4dc218
call fcn.00464e90
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043d090
mov edx, dword [eax + 0xc00]
add dword [0x4dc1b0], edx
mov eax, dword [eax + 0xc04]
adc dword [0x4dc1b4], eax
call fcn.00480d50
mov edi, esi
cmp edi, dword [ebp - 0x14]
jb 0x483f28
jmp 0x484188
lea ecx, [ebp + 0x1530]
push ecx
push 0x1f7
call fcn.0045be10
push eax
call fcn.0048cd40
add esp, 8
mov ecx, 0x4c93ac
call fcn.00428050
cmp dword [0x4dbca8], 2
jne 0x48419b
mov dword [0x4dbca8], 0
cmp byte [ebp + 0x1954], 0
je 0x4841b1
mov edx, dword [0x4db884]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp byte [0x4e5d7a], 0
je 0x4841d1
cmp dword [0x4dc1c0], 0
jne 0x4841d1
cmp dword [0x4db888], 0
jne 0x4841d1
call fcn.0047e9a0
push 0
mov ecx, 0x4dc218
call fcn.00464e90
mov byte [0x4dc244], 0
mov ecx, 0x4dc218
call fcn.00464fc0
test bl, bl
je 0x484233
cmp dword [0x4db888], 0
jne 0x4842a5
call fcn.00486bf0
cmp dword [ebp - 0x24], eax
jne 0x4842a5
push 0x40
push 0x3a7
call fcn.0045be10
push eax
push 0x3a8
call fcn.0045be10
push eax
mov eax, dword [0x4dc210]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4842a5
cmp byte [ebp - 0x15], 0
je 0x4842a5
cmp dword [0x4db888], 0
jne 0x484266
cmp byte [0x4f7ce4], 0
je 0x484266
push 1
push 0x4b1914
push 0
push 0x4f7ce8
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov byte [ebp + 0x1530], 0
lea ecx, [ebp]
push ecx
mov ecx, 0x4dff38
call fcn.0043f080
test al, al
je 0x484292
lea ecx, [ebp]
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x484288
push 0
lea edx, [ebp + 0x1530]
push edx
mov ecx, 0x4dff38
call fcn.004413b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465560
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4842cb
push eax
call fcn.0049e37d
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00465560
jmp 0x484339
call fcn.00486bf0
cmp eax, dword [ebp - 0x2c]
jne 0x48430d
push 0x30
push 0x35f
call fcn.0045be10
push eax
push 0x35e
call fcn.0045be10
push eax
mov eax, dword [0x4dc210]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
mov ecx, 0x4dc218
call fcn.00464e90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465560
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00401920
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1930]
xor ecx, ebp
call fcn.0049e626
add ebp, 0x1934
mov esp, ebp
pop ebp
ret 0x1c