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

Disassembly:
push ebp
lea ebp, [esp - 0x1934]
mov eax, 0x1934
call fcn.0049e430
push 0xffffffffffffffff
push 0x4af719
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1a88
call fcn.0049e430
mov eax, dword [0x4c0390]
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 0x483bbb
mov ecx, 0x4dfee0
call fcn.0043ebe0
test eax, eax
jne 0x483bbb
push 0x30
push 0x65
call fcn.0045bde0
push eax
push 0x14c
call fcn.0045bde0
push eax
mov ecx, dword [0x4dc1c8]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x484269
push edi
call fcn.0047b410
mov dword [0x4dbcb0], edi
mov dword [0x4dbcb4], edi
mov dword [0x4dc168], edi
mov dword [0x4dc16c], edi
call fcn.00486ab0
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x140]
call fcn.0043cf00
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x238]
call fcn.00465890
mov byte [ebp - 4], 1
cmp esi, edi
sete al
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 2
test al, al
je 0x483c52
lea esi, [ebp - 0x238]
mov dword [ebp - 0x34], esi
push edi
push edi
mov ecx, 0x4dfee0
call fcn.0043ea50
push edi
lea edx, [ebp]
push edx
mov ecx, 0x4dfee0
call fcn.0043ea50
test al, al
je 0x483c52
cmp dword [0x4dc178], edi
jne 0x483c52
lea eax, [ebp + 0x400]
push eax
lea ecx, [ebp]
push ecx
mov ecx, esi
call fcn.00465600
jmp 0x483c23
mov dword [ebp - 4], 1
call fcn.00486ab0
mov dword [ebp - 0x2c], eax
cmp esi, edi
je 0x483c6d
cmp ebx, edi
mov byte [ebp - 0x14], 0
jne 0x483c71
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.0045e3e0
test al, al
sete bl
test bl, bl
jne 0x483cf6
cmp dword [ebp - 0x3c], edi
jne 0x483cf6
cmp dword [esi + 0x30], 1
jne 0x483cf6
mov ecx, esi
call fcn.00465490
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.004656d0
test al, al
je 0x483cf6
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0042f9f0
push eax
call fcn.0042f9a0
test al, al
jne 0x483cf6
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.0045dec0
lea ecx, [ebp - 0x140]
call fcn.0043cdf0
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x14], esi
test bl, bl
jne 0x48423d
cmp esi, edi
jne 0x483d11
cmp dword [ebp - 0x20], edi
je 0x48420f
mov bl, byte [ebp + 0x1940]
mov byte [0x4e585a], bl
mov dword [0x4e57fc], edi
mov dword [0x4e5820], edi
mov dword [0x4e5d1c], 1
call fcn.00482090
mov byte [0x4f8070], 0
test bl, bl
jne 0x483e16
mov byte [ebp - 0x1c], bl
cmp esi, 1
jne 0x483daf
push edi
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x140]
call fcn.0043cd40
mov esi, eax
push edi
push 1
push edi
lea ecx, [ebp - 0x1a98]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cd40
add eax, 0x400
push eax
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043cd40
push eax
mov ecx, 0x4e0c08
call fcn.004145d0
mov ecx, 0x4e0c08
call fcn.004136d0
test eax, eax
setne al
mov byte [ebp - 0x1c], al
jmp 0x483dcf
lea ecx, [ebp + 0x1530]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp + 0x1530]
push edx
call fcn.0044db30
mov esi, eax
cmp byte [esi], 0
jne 0x483dd9
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 0x4f8070
call fcn.00482c00
test bl, bl
je 0x483e10
mov edx, dword [ebp - 0x14]
push edx
call fcn.00483970
test al, al
je 0x484248
mov bl, byte [ebp + 0x1940]
mov edx, dword [ebp - 0x20]
cmp edx, edi
je 0x483e2c
mov ecx, 0x4f8070
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483e22
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x484248
mov dword [0x4dbd4c], eax
cmp dword [0x4dbc60], edi
jne 0x483e4e
mov dword [0x4dbc60], 2
xor edi, edi
test eax, eax
jbe 0x4840b8
cmp dword [0x4dc178], 0
jne 0x4840b8
mov ecx, dword [0x4e8198]
call fcn.00465590
mov ecx, dword [0x4e818c]
call fcn.00465590
mov byte [ebp + 0xc30], 0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x483ea9
push 0x400
lea eax, [ebp + 0xc30]
push eax
call fcn.00465ad0
cmp byte [ebp + 0xc30], 0
lea eax, [ebp + 0xc30]
jne 0x483eae
mov eax, 0x4b175c
push eax
mov ecx, dword [0x4e818c]
call fcn.00465910
push 0x4e758c
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cd40
push eax
call fcn.0042fa70
push 0x4e798c
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043cd40
add eax, 0x400
push eax
call fcn.0042fb00
mov byte [ebp + 0x1030], 0
xor eax, eax
mov word [ebp + 0x430], ax
cmp byte [0x4f8070], al
je 0x483f71
cmp dword [0x4e5768], 5
je 0x483f71
mov ecx, 0x4f8070
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483f27
push 0x400
lea ecx, [ebp + 0x430]
push ecx
lea edx, [ebp + 0x1030]
push edx
call fcn.0047e400
push 0
push 0
lea eax, [ebp + 0x1530]
push eax
call fcn.00430250
lea ecx, [ebp + 0x1530]
push ecx
call fcn.004ac458
add esp, 4
cmp eax, 0xffffffff
je 0x484094
push 0x4e758c
cmp byte [0x4e585a], 0
sete dl
lea edx, [edx*4 + 0x54]
push edx
call fcn.00480e40
push 0
push 1
push 0x4e798c
push 0x4e758c
mov ecx, 0x4e0c08
call fcn.004145d0
mov eax, dword [0x4e0e10]
mov dword [0x4e613c], eax
mov byte [0x4e694c], 1
cmp byte [0x4e585a], 0
je 0x483fe7
mov ecx, 0x4e0c08
call fcn.00411260
test al, 1
jne 0x483fe7
push 0x3ac
call fcn.0045bde0
push eax
push 0x4e758c
call fcn.00445390
add esp, 8
jmp 0x483ff7
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, 0x4e0c08
call fcn.00416240
mov byte [0x4e694c], 0
cmp byte [ebp + 0x1030], 0
jne 0x484011
cmp word [ebp + 0x430], 0
je 0x484024
lea edx, [ebp + 0x430]
push edx
lea eax, [ebp + 0x1030]
push eax
call fcn.0047e3b0
lea esi, [edi + 1]
push esi
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x35d
call fcn.0045bde0
push eax
lea edx, [ebp + 0x1430]
push edx
call fcn.0049deb5
add esp, 0x10
lea eax, [ebp + 0x1430]
push eax
mov ecx, 0x4dc1d0
call fcn.00464e40
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cd40
mov edx, dword [eax + 0xc00]
add dword [0x4dc168], edx
mov eax, dword [eax + 0xc04]
adc dword [0x4dc16c], eax
call fcn.00480cd0
mov edi, esi
cmp edi, dword [ebp - 0x14]
jb 0x483e58
jmp 0x4840b8
lea ecx, [ebp + 0x1530]
push ecx
push 0x1f7
call fcn.0045bde0
push eax
call fcn.0048e100
add esp, 8
mov ecx, 0x4c9364
call fcn.00427d40
cmp dword [0x4dbc60], 2
jne 0x4840cb
mov dword [0x4dbc60], 0
cmp byte [ebp + 0x1954], 0
je 0x4840e1
mov edx, dword [0x4db83c]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp byte [0x4e5d22], 0
je 0x484101
cmp dword [0x4dc178], 0
jne 0x484101
cmp dword [0x4db840], 0
jne 0x484101
call fcn.0047e930
push 0
mov ecx, 0x4dc1d0
call fcn.00464e40
mov byte [0x4dc1fc], 0
mov ecx, 0x4dc1d0
call fcn.00464f70
test bl, bl
je 0x484163
cmp dword [0x4db840], 0
jne 0x4841d5
call fcn.00486ab0
cmp dword [ebp - 0x24], eax
jne 0x4841d5
push 0x40
push 0x3a7
call fcn.0045bde0
push eax
push 0x3a8
call fcn.0045bde0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4841d5
cmp byte [ebp - 0x15], 0
je 0x4841d5
cmp dword [0x4db840], 0
jne 0x484196
cmp byte [0x4f806c], 0
je 0x484196
push 1
push 0x4b1914
push 0
push 0x4f8070
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov byte [ebp + 0x1530], 0
lea ecx, [ebp]
push ecx
mov ecx, 0x4dfee0
call fcn.0043ed10
test al, al
je 0x4841c2
lea ecx, [ebp]
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4841b8
push 0
lea edx, [ebp + 0x1530]
push edx
mov ecx, 0x4dfee0
call fcn.00440fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465510
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4841fb
push eax
call fcn.0049dbfd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00465510
jmp 0x484269
call fcn.00486ab0
cmp eax, dword [ebp - 0x2c]
jne 0x48423d
push 0x30
push 0x35f
call fcn.0045bde0
push eax
push 0x35e
call fcn.0045bde0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
mov ecx, 0x4dc1d0
call fcn.00464e40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465510
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.004144e0
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.0049dea6
add ebp, 0x1934
mov esp, ebp
pop ebp
ret 0x1c