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

Disassembly:
push ebp
lea ebp, [esp - 0x1934]
mov eax, 0x1934
call fcn.0049e650
push 0xffffffffffffffff
push 0x4af949
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1a88
call fcn.0049e650
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 0x48374b
mov ecx, 0x4dfef0
call fcn.0043eb50
test eax, eax
jne 0x48374b
push 0x30
push 0x65
call fcn.0045b8f0
push eax
push 0x14c
call fcn.0045b8f0
push eax
mov ecx, dword [0x4dc1c8]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x483df9
push edi
call fcn.0047af60
mov dword [0x4dbcb0], edi
mov dword [0x4dbcb4], edi
mov dword [0x4dc168], edi
mov dword [0x4dc16c], edi
call fcn.004866b0
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x140]
call fcn.0043ce50
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x238]
call fcn.004653d0
mov byte [ebp - 4], 1
cmp esi, edi
sete al
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 2
test al, al
je 0x4837e2
lea esi, [ebp - 0x238]
mov dword [ebp - 0x34], esi
push edi
push edi
mov ecx, 0x4dfef0
call fcn.0043e9c0
push edi
lea edx, [ebp]
push edx
mov ecx, 0x4dfef0
call fcn.0043e9c0
test al, al
je 0x4837e2
cmp dword [0x4dc178], edi
jne 0x4837e2
lea eax, [ebp + 0x400]
push eax
lea ecx, [ebp]
push ecx
mov ecx, esi
call fcn.00465140
jmp 0x4837b3
mov dword [ebp - 4], 1
call fcn.004866b0
mov dword [ebp - 0x2c], eax
cmp esi, edi
je 0x4837fd
cmp ebx, edi
mov byte [ebp - 0x14], 0
jne 0x483801
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.0045df10
test al, al
sete bl
test bl, bl
jne 0x483886
cmp dword [ebp - 0x3c], edi
jne 0x483886
cmp dword [esi + 0x30], 1
jne 0x483886
mov ecx, esi
call fcn.00464fd0
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.00465210
test al, al
je 0x483886
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0042f940
push eax
call fcn.0042f8e0
test al, al
jne 0x483886
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.0045d9f0
lea ecx, [ebp - 0x140]
call fcn.0043cd40
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x14], esi
test bl, bl
jne 0x483dcd
cmp esi, edi
jne 0x4838a1
cmp dword [ebp - 0x20], edi
je 0x483d9f
mov bl, byte [ebp + 0x1940]
mov byte [0x4e586a], bl
mov dword [0x4e580c], edi
mov dword [0x4e5830], edi
mov dword [0x4e5d2c], 1
call fcn.00481c20
mov byte [0x4f7ca0], 0
test bl, bl
jne 0x4839a6
mov byte [ebp - 0x1c], bl
cmp esi, 1
jne 0x48393f
push edi
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x140]
call fcn.0043cc90
mov esi, eax
push edi
push 1
push edi
lea ecx, [ebp - 0x1a98]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cc90
add eax, 0x400
push eax
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043cc90
push eax
mov ecx, 0x4e0c18
call fcn.00414420
mov ecx, 0x4e0c18
call fcn.00413520
test eax, eax
setne al
mov byte [ebp - 0x1c], al
jmp 0x48395f
lea ecx, [ebp + 0x1530]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp + 0x1530]
push edx
call fcn.0044d530
mov esi, eax
cmp byte [esi], 0
jne 0x483969
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 0x4f7ca0
call fcn.00482790
test bl, bl
je 0x4839a0
mov edx, dword [ebp - 0x14]
push edx
call fcn.00483500
test al, al
je 0x483dd8
mov bl, byte [ebp + 0x1940]
mov edx, dword [ebp - 0x20]
cmp edx, edi
je 0x4839bc
mov ecx, 0x4f7ca0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4839b2
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x483dd8
mov dword [0x4dbd4c], eax
cmp dword [0x4dbc60], edi
jne 0x4839de
mov dword [0x4dbc60], 2
xor edi, edi
test eax, eax
jbe 0x483c48
cmp dword [0x4dc178], 0
jne 0x483c48
mov ecx, dword [0x4e81b8]
call fcn.004650d0
mov ecx, dword [0x4e81ac]
call fcn.004650d0
mov byte [ebp + 0xc30], 0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x483a39
push 0x400
lea eax, [ebp + 0xc30]
push eax
call fcn.00465610
cmp byte [ebp + 0xc30], 0
lea eax, [ebp + 0xc30]
jne 0x483a3e
mov eax, 0x4b175c
push eax
mov ecx, dword [0x4e81ac]
call fcn.00465450
push 0x4e75ac
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cc90
push eax
call fcn.0042f9c0
push 0x4e79ac
push edi
lea edx, [ebp - 0xe68]
push edx
lea ecx, [ebp - 0x140]
call fcn.0043cc90
add eax, 0x400
push eax
call fcn.0042fa50
mov byte [ebp + 0x1030], 0
xor eax, eax
mov word [ebp + 0x430], ax
cmp byte [0x4f7ca0], al
je 0x483b01
cmp dword [0x4e5778], 5
je 0x483b01
mov ecx, 0x4f7ca0
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483ab7
push 0x400
lea ecx, [ebp + 0x430]
push ecx
lea edx, [ebp + 0x1030]
push edx
call fcn.0047df60
push 0
push 0
lea eax, [ebp + 0x1530]
push eax
call fcn.004301a0
lea ecx, [ebp + 0x1530]
push ecx
call fcn.004ac688
add esp, 4
cmp eax, 0xffffffff
je 0x483c24
push 0x4e75ac
cmp byte [0x4e586a], 0
sete dl
lea edx, [edx*4 + 0x54]
push edx
call fcn.004809b0
push 0
push 1
push 0x4e79ac
push 0x4e75ac
mov ecx, 0x4e0c18
call fcn.00414420
mov eax, dword [0x4e0e20]
mov dword [0x4e614c], eax
mov byte [0x4e695c], 1
cmp byte [0x4e586a], 0
je 0x483b77
mov ecx, 0x4e0c18
call fcn.004112d0
test al, 1
jne 0x483b77
push 0x3ac
call fcn.0045b8f0
push eax
push 0x4e75ac
call fcn.0048cce0
add esp, 8
jmp 0x483b87
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, 0x4e0c18
call fcn.00416070
mov byte [0x4e695c], 0
cmp byte [ebp + 0x1030], 0
jne 0x483ba1
cmp word [ebp + 0x430], 0
je 0x483bb4
lea edx, [ebp + 0x430]
push edx
lea eax, [ebp + 0x1030]
push eax
call fcn.0047df10
lea esi, [edi + 1]
push esi
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x35d
call fcn.0045b8f0
push eax
lea edx, [ebp + 0x1430]
push edx
call fcn.0049e0d5
add esp, 0x10
lea eax, [ebp + 0x1430]
push eax
mov ecx, 0x4dc1d0
call fcn.00464980
push edi
lea ecx, [ebp - 0xe68]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0043cc90
mov edx, dword [eax + 0xc00]
add dword [0x4dc168], edx
mov eax, dword [eax + 0xc04]
adc dword [0x4dc16c], eax
call fcn.00480840
mov edi, esi
cmp edi, dword [ebp - 0x14]
jb 0x4839e8
jmp 0x483c48
lea ecx, [ebp + 0x1530]
push ecx
push 0x1f7
call fcn.0045b8f0
push eax
call fcn.0048c7e0
add esp, 8
mov ecx, 0x4c9364
call fcn.00427c70
cmp dword [0x4dbc60], 2
jne 0x483c5b
mov dword [0x4dbc60], 0
cmp byte [ebp + 0x1954], 0
je 0x483c71
mov edx, dword [0x4db83c]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp byte [0x4e5d32], 0
je 0x483c91
cmp dword [0x4dc178], 0
jne 0x483c91
cmp dword [0x4db840], 0
jne 0x483c91
call fcn.0047e490
push 0
mov ecx, 0x4dc1d0
call fcn.00464980
mov byte [0x4dc1fc], 0
mov ecx, 0x4dc1d0
call fcn.00464ab0
test bl, bl
je 0x483cf3
cmp dword [0x4db840], 0
jne 0x483d65
call fcn.004866b0
cmp dword [ebp - 0x24], eax
jne 0x483d65
push 0x40
push 0x3a7
call fcn.0045b8f0
push eax
push 0x3a8
call fcn.0045b8f0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x483d65
cmp byte [ebp - 0x15], 0
je 0x483d65
cmp dword [0x4db840], 0
jne 0x483d26
cmp byte [0x4f7c9c], 0
je 0x483d26
push 1
push 0x4b1914
push 0
push 0x4f7ca0
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov byte [ebp + 0x1530], 0
lea ecx, [ebp]
push ecx
mov ecx, 0x4dfef0
call fcn.0043ec80
test al, al
je 0x483d52
lea ecx, [ebp]
lea edx, [ebp + 0x1530]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x483d48
push 0
lea edx, [ebp + 0x1530]
push edx
mov ecx, 0x4dfef0
call fcn.00440f30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465050
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x483d8b
push eax
call fcn.0049de1d
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00465050
jmp 0x483df9
call fcn.004866b0
cmp eax, dword [ebp - 0x2c]
jne 0x483dcd
push 0x30
push 0x35f
call fcn.0045b8f0
push eax
push 0x35e
call fcn.0045b8f0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
mov ecx, 0x4dc1d0
call fcn.00464980
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00465050
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.00414330
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.0049e0c6
add ebp, 0x1934
mov esp, ebp
pop ebp
ret 0x1c