Function at 0x409f33
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a8
mov eax, dword [0x46600c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
push 0x5c
mov edi, ecx
mov dword [ebp - 0x428], 7
pop esi
xor ebx, ebx
xor eax, eax
push 2
mov ecx, dword [edi + 0x78]
mov dword [ebp - 0x42c], ebx
mov word [ebp - 0x43c], ax
pop edx
test ecx, ecx
je 0x409f86
cmp dword [edi + 0x7c], 8
lea eax, [edi + 0x68]
jb 0x409f7e
mov eax, dword [eax]
cmp word [eax], si
jne 0x409f86
mov dword [edi + 0x64], edx
cmp dword [edi + 0x64], edx
jne 0x409fdd
lea edx, [edi + 0x68]
lea ecx, [ebp - 0x484]
call fcn.00403388
push eax
lea ecx, [ebp - 0x43c]
call fcn.004023ff
lea ecx, [ebp - 0x484]
call fcn.0040203f
cmp dword [ebp - 0x42c], ebx
jne 0x40a132
lea ecx, [ebp - 0x454]
call fcn.004121f0
lea edx, [ebp - 0x43c]
lea ecx, [ebp - 0x454]
call fcn.0040dd90
jmp 0x40a127
mov esi, 0x4597ec
cmp dword [edi + 0x64], ebx
jne 0x40a01b
push 0x26
lea edx, [ebp - 0x43c]
pop ecx
call fcn.00403380
mov edx, 0x4597cc
lea ecx, [ebp - 0x43c]
call fcn.0040c220
push esi
call fcn.0043f51e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x43c]
call fcn.004025c2
jmp 0x40a085
lea eax, [ebp - 0x424]
mov esi, 0x208
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x40a05e
cmp eax, esi
jae 0x40a05e
xor eax, eax
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x424]
push eax
call fcn.0043f51e
pop ecx
push eax
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0040206a
jmp 0x40a085
lea ecx, [ebp - 0x454]
call fcn.004121f0
lea edx, [ebp - 0x43c]
lea ecx, [ebp - 0x454]
call fcn.0040dd90
lea ecx, [ebp - 0x454]
call fcn.0040203f
cmp dword [edi + 0x78], ebx
je 0x40a132
lea eax, [edi + 0x68]
push eax
lea ecx, [ebp - 0x454]
call fcn.00402436
mov esi, 0x45a598
lea ecx, [ebp - 0x454]
mov edx, esi
call fcn.0040c190
mov edx, 0x4597cc
lea ecx, [ebp - 0x43c]
call fcn.0040c220
push 0x4597ec
call fcn.0043f51e
pop ecx
push eax
push 0x4597ec
lea ecx, [ebp - 0x43c]
call fcn.004025c2
cmp dword [ebp - 0x440], 8
lea eax, [ebp - 0x454]
push dword [ebp - 0x444]
cmovae eax, dword [ebp - 0x454]
lea ecx, [ebp - 0x43c]
push eax
call fcn.004025c2
mov edx, esi
lea ecx, [ebp - 0x43c]
call fcn.0040c220
mov esi, 0x4597ec
push esi
call fcn.0043f51e
pop ecx
push eax
push esi
lea ecx, [ebp - 0x43c]
call fcn.004025c2
lea ecx, [ebp - 0x454]
call fcn.0040203f
cmp dword [edi + 0x64], 1
lea esi, [edi + 0x2c4]
lea eax, [edi + 0x68]
je 0x40a147
lea eax, [ebp - 0x43c]
push eax
mov ecx, esi
call fcn.00401f8e
cmp dword [ebp - 0x42c], ebx
je 0x40a31d
cmp byte [edi + 0x80], bl
je 0x40a31d
cmp dword [edi + 0x78], ebx
je 0x40a31d
cmp dword [edi + 0x2d4], ebx
je 0x40a31d
lea ecx, [ebp - 0x4a4]
call fcn.004051da
push 0x45a570
lea ecx, [ebp - 0x454]
call fcn.00401fbc
lea eax, [ebp - 0x454]
push eax
push ecx
lea ecx, [ebp - 0x4a4]
call fcn.0040528e
lea ecx, [ebp - 0x454]
mov bl, al
call fcn.0040203f
test bl, bl
je 0x40a310
and dword [ebp - 0x45c], 0
xor eax, eax
and dword [ebp - 0x444], eax
push 7
pop ecx
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x440], ecx
lea ecx, [ebp - 0x454]
push esi
mov word [ebp - 0x46c], ax
mov word [ebp - 0x454], ax
call fcn.00401f8e
lea ecx, [ebp - 0x454]
call fcn.0040c2e0
push 0x25
push 0x3a
pop edx
lea ecx, [ebp - 0x454]
call fcn.0040c150
add esp, 4
push 0x25
push 0x5c
pop edx
call fcn.0040c150
lea ecx, [ebp - 0x484]
mov dword [esp], 0x45a570
call fcn.00401fbc
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x484]
push eax
push ecx
lea ecx, [ebp - 0x4a4]
call fcn.004052e3
test al, al
je 0x40a279
cmp dword [ebp - 0x45c], 0
je 0x40a279
lea edx, [ebp - 0x46c]
lea ecx, [ebp - 0x43c]
call fcn.0040bfe0
test al, al
jne 0x40a279
xor ebx, ebx
inc ebx
jmp 0x40a27b
xor bl, bl
lea ecx, [ebp - 0x484]
call fcn.0040203f
test bl, bl
je 0x40a2fa
push 0x3ec
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
test ebx, ebx
je 0x40a2e8
cmp byte [ebp + 8], 0
je 0x40a2e8
cmp dword [ebp - 0x458], 8
lea ecx, [ebp - 0x46c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
cmovae ecx, dword [ebp - 0x46c]
push ecx
push 0
push 0x143
push ebx
call esi
cmp dword [ebp - 0x428], 8
lea eax, [ebp - 0x43c]
cmovae eax, dword [ebp - 0x43c]
push eax
push 0
push 0x143
push ebx
call esi
lea eax, [ebp - 0x46c]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00401f8e
lea ecx, [ebp - 0x454]
call fcn.0040203f
lea ecx, [ebp - 0x46c]
call fcn.0040203f
lea ecx, [ebp - 0x4a4]
call fcn.0040527e
xor ebx, ebx
lea esi, [edi + 0x240]
lea ecx, [ebp - 0x484]
lea edx, [edi + 0x18]
cmp dword [edi + 0x28], ebx
jne 0x40a337
lea edx, [ebp - 0x43c]
call fcn.00403388
push eax
mov ecx, esi
call fcn.004023ff
lea ecx, [ebp - 0x484]
call fcn.0040203f
lea ecx, [ebp - 0x43c]
call fcn.0040203f
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043b572
leave
ret 4