Function at 0x41989c
Capabilities:
Get common file path

Disassembly:
push ecx
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
lea eax, [ecx - 0x829]
add edx, 0x6fb
mov dword [esp + 8], eax
push esi
mov esi, dword [esp + 0x24]
mov ebx, ebp
push edi
lea edi, [ecx - 0x109d]
mov dword [esp + 0x1c], edx
xor ebx, 0x6d6
lea eax, [edx - 0x5aa]
xor ebp, 0x1c2
mov dword [esp + 0x14], ebx
add ecx, 0xfffff919
mov dword [esp + 0x2c], ecx
cmp ebp, eax
jge 0x419ae0
lea eax, [ebp + 0xae2]
cmp edi, eax
je 0x4199d3
lea eax, [ebx + 0x378]
push eax
lea eax, [ebx + 0x523]
push eax
lea eax, [ecx + 0xacd]
push eax
lea eax, [edi + 0xb9b]
push esi
push eax
call fcn.004178ec
mov dword [esp + 0x24], eax
add ebx, 0x3f6
mov eax, dword [esp + 0x30]
xor eax, 0x6d6
mov edx, eax
mov ecx, eax
xor edx, 0x1d3
xor ecx, 0x200
push edx
push ecx
push edx
add eax, 0x94b
push esi
push eax
call fcn.00418c30
mov eax, dword [0x493c3c]
add esp, 0x28
xor ebp, 0x104d
mov edx, dword [eax + 0x54]
jmp 0x4199ba
mov eax, dword [esi + 0x78]
sub eax, dword [esi + 0x58]
add eax, 0x5b406
xor dword [esi + 0x40], eax
mov ecx, dword [0x493c3c]
mov eax, dword [esi + 4]
add eax, dword [esi + 0x118]
xor eax, 0xacede0
sub dword [ecx + 0xe8], eax
mov eax, edx
mov ecx, dword [0x493c3c]
imul eax, edx
add dword [ecx + 0xf8], eax
mov eax, dword [esi + 0x58]
xor eax, 0xa3ce3
imul eax, dword [esi + 0xa0]
inc edx
mov dword [esi + 0xa0], eax
cmp edx, dword [0x49c77c]
jbe 0x41996b
xor ebx, 0x1ae0
xor edi, 0x1356
jmp 0x419ae0
mov eax, dword [0x493c3c]
mov ecx, dword [esi + 0x118]
or ecx, 0xf62
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 8]
xor eax, ecx
cmp edi, eax
jne 0x419a3d
mov ecx, dword [esi + 0x108]
mov eax, dword [esp + 0x2c]
xor ecx, edx
mov ebx, dword [esp + 0x10]
sub ecx, eax
cmp dword [esi + 0xa4], ecx
jbe 0x419a1e
or eax, edi
sub ebp, eax
mov eax, ebx
and eax, 0x12d8
or eax, edx
or dword [esi], eax
mov eax, dword [0x493c3c]
add dword [esp + 0x20], 3
mov eax, dword [eax + 8]
xor eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
je 0x419a07
mov ebx, dword [esp + 0x14]
mov eax, edx
imul eax, edx
and eax, dword [esi + 0x10c]
push eax
mov eax, dword [0x49c794]
imul eax, edx
push eax
mov eax, dword [0x49c728]
add eax, ebx
imul eax, eax, 0x1854
push eax
mov eax, dword [esi + 0xe8]
imul eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x108]
or eax, 0x162c
push eax
mov eax, dword [esi + 0xc4]
add ecx, 0x1356
add eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, dword [0x493c3c]
mov eax, dword [ecx + 0xf0]
and eax, dword [esi + 0x9c]
and eax, dword [0x49c81c]
push eax
mov eax, dword [ecx + 0x64]
or eax, dword [esi + 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov eax, dword [esi + 0x118]
imul eax, dword [esp + 0x1c]
mov ecx, dword [0x493c3c]
and eax, 0xb9b
or dword [ecx + 0x108], eax
cmp dword [esi + 0x2c], 0x17512
jb 0x419afd
mov eax, dword [esi + 0x10c]
add eax, dword [0x49c778]
sub dword [esi + 0xe8], eax
jmp 0x419b16
mov eax, dword [0x493c3c]
mov eax, dword [eax + 0x58]
sub eax, 0xa3cdc
imul eax, dword [0x49c818]
mov dword [0x49c818], eax
cmp dword [0x49c778], 0x1011b
ja 0x419b30
mov eax, dword [esi + 0x28]
xor eax, dword [0x49c79c]
sub dword [esi + 0x58], eax
jmp 0x419b3c
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x8c], eax
xor edi, 0xb02
mov eax, ebp
push edi
xor eax, 0x175b
xor ebx, 0x118f
push eax
mov eax, dword [esp + 0x18]
push esi
xor eax, 0x4fb
push eax
lea eax, [ebp - 0xe83]
push eax
lea eax, [ebp - 0x627]
push eax
push ebx
call fcn.00408763
add esp, 0x1c
add eax, 0xa9
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret