Function at 0x4de190
Capabilities:
Get common file path

Disassembly:
sub esp, 0x42c
mov eax, dword [0x5fe940]
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x430]
imul eax, eax, 0xbec
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
lea esi, [edi + 0x2c]
add eax, 0x67e169
mov ebp, 3
mov cl, byte [eax - 1]
mov dl, byte [eax - 9]
xor dl, cl
mov byte [esp + 0x18], dl
mov dl, byte [eax - 8]
xor dl, cl
mov byte [esp + 0x19], dl
mov dl, byte [eax - 7]
xor dl, cl
mov byte [esp + 0x1a], dl
mov dl, byte [eax - 6]
xor dl, cl
mov cl, byte [eax]
mov byte [esp + 0x1b], dl
mov dl, byte [eax - 5]
xor dl, cl
mov byte [esp + 0x14], dl
mov dl, byte [eax - 4]
xor dl, cl
mov byte [esp + 0x15], dl
mov dl, byte [eax - 3]
xor dl, cl
mov byte [esp + 0x16], dl
mov dl, byte [eax - 2]
xor dl, cl
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x17], dl
cmp ecx, dword [esp + 0x14]
je 0x4de226
mov dword [0], 1
mov cl, byte [eax - 1]
mov dl, byte [eax - 9]
xor dl, cl
mov byte [esp + 0x20], dl
mov dl, byte [eax - 8]
xor dl, cl
mov byte [esp + 0x21], dl
mov dl, byte [eax - 7]
xor dl, cl
mov byte [esp + 0x22], dl
mov dl, byte [eax - 6]
xor dl, cl
mov byte [esp + 0x23], dl
mov ecx, dword [esp + 0x20]
test ecx, ecx
jle 0x4de2e8
mov cl, byte [eax - 0x21]
mov dl, byte [eax - 0x29]
xor dl, cl
mov byte [esp + 0x1c], dl
mov dl, byte [eax - 0x28]
xor dl, cl
mov byte [esp + 0x1d], dl
mov dl, byte [eax - 0x27]
xor dl, cl
mov byte [esp + 0x1e], dl
mov dl, byte [eax - 0x26]
xor dl, cl
mov cl, byte [eax - 0x20]
mov byte [esp + 0x1f], dl
mov dl, byte [eax - 0x25]
xor dl, cl
mov byte [esp + 0x10], dl
mov dl, byte [eax - 0x24]
xor dl, cl
mov byte [esp + 0x11], dl
mov dl, byte [eax - 0x23]
xor dl, cl
mov byte [esp + 0x12], dl
mov dl, byte [eax - 0x22]
xor dl, cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x13], dl
cmp ecx, dword [esp + 0x10]
je 0x4de2bb
mov dword [0], 1
mov cl, byte [eax - 0x21]
mov dl, byte [eax - 0x29]
xor dl, cl
mov byte [esp + 0xc], dl
mov dl, byte [eax - 0x28]
xor dl, cl
mov byte [esp + 0xd], dl
mov dl, byte [eax - 0x27]
xor dl, cl
mov byte [esp + 0xe], dl
mov dl, byte [eax - 0x26]
xor dl, cl
mov byte [esp + 0xf], dl
mov ecx, dword [esp + 0xc]
mov dword [esi], ecx
add eax, 0x110
add esi, 0xc
dec ebp
jne 0x4de1c5
mov esi, 1
lea edx, [esp + 0x234]
mov dword [edi + 8], esi
push edx
mov dword [edi + 0x14], esi
push 0x200
mov dword [edi + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.equip
call fcn.00436a80
mov eax, dword [edi + 0x38]
add esp, 4
test eax, eax
je 0x4de4b4
mov ecx, dword [0x6508a4]
imul eax, eax, 0x4ac
mov dl, byte [eax + ecx + 0x320]
lea eax, [eax + ecx + 0x31c]
mov cl, byte [eax + 0xc]
xor dl, cl
mov byte [esp + 0xc], dl
mov dl, byte [eax + 5]
xor dl, cl
mov byte [esp + 0xd], dl
mov dl, byte [eax + 6]
xor dl, cl
mov byte [esp + 0xe], dl
mov dl, byte [eax + 7]
xor dl, cl
mov cl, byte [eax + 0xd]
mov byte [esp + 0xf], dl
mov dl, byte [eax + 8]
xor dl, cl
mov byte [esp + 0x10], dl
mov dl, byte [eax + 9]
xor dl, cl
mov byte [esp + 0x11], dl
mov dl, byte [eax + 0xa]
xor dl, cl
mov byte [esp + 0x12], dl
mov dl, byte [eax + 0xb]
xor dl, cl
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x13], dl
cmp ecx, dword [esp + 0x10]
je 0x4de3a5
mov dword [0], esi
mov cl, byte [eax + 0xc]
mov dl, byte [eax + 4]
xor dl, cl
mov byte [esp + 0xc], dl
mov dl, byte [eax + 5]
xor dl, cl
mov byte [esp + 0xd], dl
mov dl, byte [eax + 6]
mov al, byte [eax + 7]
xor dl, cl
xor al, cl
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0xc]
mov dword [edi + 0x178], ecx
mov edx, dword [edi + 0x38]
mov eax, dword [0x6508a4]
imul edx, edx, 0x4ac
lea eax, [edx + eax + 0x42c]
lea edx, [esp + 0x34]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4de3f1
lea eax, [esp + 0x34]
sub eax, 6
lea ebp, [esp + 0x34]
xor esi, esi
sub ebp, 5
mov dword [esp + 0xc], eax
add edi, 0x80
push ebx
xor edx, edx
mov ecx, 0xa
mov eax, esi
div ecx
push ecx
mov ebx, edx
lea edx, [esp + 0x30]
push edx
push eax
call fcn.005a3705
lea eax, [esp + 0x44]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4de440
mov cl, byte [esp + 0x2c]
sub eax, edx
mov edx, dword [esp + 0x10]
mov byte [edx + eax], cl
push 0xa
lea eax, [esp + 0x30]
push eax
push ebx
call fcn.005a3705
lea eax, [esp + 0x44]
add esp, 0xc
lea ecx, [eax + 1]
jmp 0x4de470
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4de470
mov edx, dword [esp + 0x444]
sub eax, ecx
mov cl, byte [esp + 0x2c]
push edx
push 1
mov byte [eax + ebp], cl
push 1
lea eax, [esp + 0x44]
push eax
mov ecx, 0x879bc8
call fcn.0055cf20
mov dword [edi], eax
inc esi
add edi, 4
cmp esi, 6
jle 0x4de416
mov edi, dword [esp + 0x28]
mov esi, 1
pop ebx
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4de53a
mov ecx, dword [0x6508a4]
imul eax, eax, 0x4ac
lea eax, [eax + ecx + 0x42c]
lea edx, [esp + 0x34]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4de4d4
lea eax, [esp + 0x34]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4de4e5
push 0
push esi
sub eax, edx
push esi
lea edx, [esp + 0x40]
push edx
mov ecx, 0x879bc8
mov byte [esp + eax + 0x3f], 0x31
call fcn.0055cf20
mov dword [edi + 0xb4], eax
lea eax, [esp + 0x34]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4de513
push 0
sub eax, ecx
push esi
mov byte [esp + eax + 0x37], 0x32
push esi
lea eax, [esp + 0x40]
push eax
mov ecx, 0x879bc8
call fcn.0055cf20
mov dword [edi + 0xd0], eax
lea ecx, [esp + 0x234]
push ecx
call fcn.00436a80
mov ecx, dword [esp + 0x438]
add esp, 4
pop edi
pop esi
pop ebp
call fcn.005900c7
add esp, 0x42c
ret 8