Function at 0x41d1d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8e0
push ebx
push esi
push edi
lea edi, [ebp - 0x8e0]
mov ecx, 0x238
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov byte [ebp - 0x400], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x3ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x804], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x803]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x844], 0
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x843]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x87c], 0
mov byte [ebp - 0x8a0], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x89f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, esp
push 0x400
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp esi, esp
call fcn.004479c0
lea ecx, [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x868]
push edx
push 0x85
push 0x4e0e94
call fcn.0042f5c0
add esp, 0x10
mov eax, dword [ebp - 0x86c]
xor edx, edx
mov ecx, 6
div ecx
mov dword [ebp - 0x874], eax
mov edx, dword [ebp - 0x874]
shl edx, 5
add edx, 0x10
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x880]
push eax
call fcn.00448d10
add esp, 4
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x880]
push ecx
push 0
mov edx, dword [ebp - 0x87c]
push edx
call fcn.00447a00
add esp, 0xc
mov dword [ebp - 0x870], 0
jmp 0x41d310
mov eax, dword [ebp - 0x870]
add eax, 1
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
cmp ecx, dword [ebp - 0x874]
jge 0x41d3fa
mov edx, dword [ebp - 0x870]
imul edx, edx, 6
mov eax, dword [ebp - 0x868]
add eax, edx
mov dword [ebp - 0x878], eax
push 0x20
push 0
lea ecx, [ebp - 0x864]
push ecx
call fcn.00447a00
add esp, 0xc
push 0x40
push 0
lea edx, [ebp - 0x844]
push edx
call fcn.00447a00
add esp, 0xc
mov eax, dword [ebp - 0x878]
xor ecx, ecx
mov cl, byte [eax + 5]
push ecx
mov edx, dword [ebp - 0x878]
xor eax, eax
mov al, byte [edx + 4]
push eax
mov ecx, dword [ebp - 0x878]
xor edx, edx
mov dl, byte [ecx + 3]
push edx
mov eax, dword [ebp - 0x878]
xor ecx, ecx
mov cl, byte [eax + 2]
push ecx
mov edx, dword [ebp - 0x878]
xor eax, eax
mov al, byte [edx + 1]
push eax
mov ecx, dword [ebp - 0x878]
xor edx, edx
mov dl, byte [ecx]
push edx
push str._02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x864]
push eax
call fcn.004482b0
add esp, 0x20
lea ecx, [ebp - 0x864]
push ecx
push 0x40
lea edx, [ebp - 0x844]
push edx
call fcn.0041bf90
add esp, 0xc
push 0x20
lea eax, [ebp - 0x844]
push eax
mov ecx, dword [ebp - 0x870]
shl ecx, 5
mov edx, dword [ebp - 0x87c]
add edx, ecx
push edx
call fcn.004474c0
add esp, 0xc
jmp 0x41d301
cmp dword [ebp - 0x868], 0
je 0x41d430
mov eax, dword [ebp - 0x868]
push eax
call fcn.00449750
add esp, 4
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x86c], 0
lea ecx, [ebp - 0x86c]
push ecx
lea edx, [ebp - 0x868]
push edx
mov eax, dword [ebp - 0x880]
push eax
mov ecx, dword [ebp - 0x87c]
push ecx
call fcn.0042f680
add esp, 0x10
lea edx, [ebp - 0x8a0]
push edx
call fcn.0041d160
add esp, 4
lea eax, [ebp - 0x8a0]
push eax
push 0x4d56b4
lea ecx, [ebp - 0x400]
push ecx
push str._s_s_s
lea edx, [ebp - 0x804]
push edx
call fcn.004482b0
add esp, 0x14
push 0x4d58c4
lea eax, [ebp - 0x804]
push eax
call fcn.00448290
add esp, 8
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
push ecx
mov edx, dword [ebp - 0x86c]
push edx
push 1
mov eax, dword [ebp - 0x868]
push eax
call fcn.00448930
add esp, 0x10
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.00448850
add esp, 4
cmp dword [ebp - 0x868], 0
je 0x41d4f4
mov edx, dword [ebp - 0x868]
push edx
call fcn.00449750
add esp, 4
mov dword [ebp - 0x868], 0
cmp dword [ebp - 0x87c], 0
je 0x41d516
mov eax, dword [ebp - 0x87c]
push eax
call fcn.00449750
add esp, 4
mov dword [ebp - 0x87c], 0
pop edi
pop esi
pop ebx
add esp, 0x8e0
cmp ebp, esp
call fcn.004479c0
mov esp, ebp
pop ebp
ret