Function at 0x1027dad
Capabilities:
Get common file path

Disassembly:
push 0x34
push 0x1003170
call fcn.01032098
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
mov dword [ebp - 4], ebx
push ebx
lea eax, [ebp - 0x20]
push eax
mov esi, dword [ebp + 0x10]
push dword [esi + 0x89c]
call dword [esi + 0x890]
mov dword [ebp - 0x3c], eax
cmp eax, ebx
jge 0x1027d65
mov dword [ebp - 0x1c], 1
jmp 0x1027dc2
mov ecx, dword [ebp - 0x20]
mov eax, 0x100
cmp ecx, eax
jbe 0x1027d76
mov ecx, eax
mov dword [ebp - 0x20], ecx
or dword [ebp - 4], reloc.msvcrt.dll___p__fmode
cmp ecx, ebx
jne 0x1027d8a
mov dword [ebp - 0x1c], 1
jmp 0x1028020
imul ecx, ecx, 0x208
push ecx
call fcn.01035a36
mov dword [ebp - 0x30], eax
cmp eax, ebx
je 0x1028020
xor edi, edi
inc edi
mov dword [ebp - 4], edi
push eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x89c]
call dword [esi + 0x890]
mov dword [ebp - 0x3c], eax
cmp eax, ebx
jge 0x1027dcb
mov dword [ebp - 0x1c], edi
or dword [ebp - 4], reloc.msvcrt.dll___p__fmode
jmp 0x1028020
or dword [ebp - 4], reloc.msvcrt.dll___p__fmode
push dword [esi + 0x89c]
push dword [ebp - 0x20]
push dword [ebp - 0x30]
call fcn.01027c39
test eax, eax
jne 0x1027dfe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
cmp eax, 0xd
jne 0x1028020
mov dword [ebp - 0x1c], edi
jmp 0x1028020
mov eax, dword [ebp - 0x20]
shl eax, 2
push eax
call fcn.01035a36
mov edi, eax
mov dword [ebp - 0x2c], edi
cmp edi, ebx
je 0x1027fe7
mov ecx, dword [ebp - 0x20]
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x20], ebx
jbe 0x102805c
mov edi, dword [ebp - 0x30]
add edi, 0x204
mov dword [ebp - 0x24], ebx
xor esi, esi
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x38], ebx
jbe 0x1027e95
mov dword [ebp - 0x28], ebx
mov eax, dword [ecx + 0x34]
mov edx, dword [ebp - 0x28]
add eax, edx
cmp dword [eax + 0x24], 1
jne 0x1027e7d
mov ecx, dword [ebp + 0x10]
add ecx, 0x640
push ecx
push dword [eax + 0x2c]
call dword [sym.imp.msvcrt.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x1027e7a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax]
cmp eax, dword [edi]
je 0x1027e89
mov ecx, dword [ebp + 8]
inc esi
add dword [ebp - 0x28], 0x38
cmp esi, dword [ecx + 0x38]
jb 0x1027e43
jmp 0x1027e95
imul esi, esi, 0x38
mov eax, dword [ebp + 8]
add esi, dword [eax + 0x34]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jne 0x1027ed6
mov ecx, dword [edi]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp + 0xc]
push dword [eax + 0xc]
push 6
push ecx
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp + 0x10]
lea ecx, reloc.msvcrt.dll___p__fmode
push ecx
add eax, 0x438
push eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
lea eax, [ebp - 0x34]
push eax
push 0x1041638
call fcn.0103486d
jmp 0x1027edc
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x34], eax
push 0x98
call fcn.01035a36
mov esi, eax
cmp esi, ebx
je 0x1027fe7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], esi
mov dword [esi + 8], 0x454e494c
mov eax, dword [edi]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x10], eax
mov eax, dword [edi]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ebx
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x1c], eax
lea eax, reloc.msvcrt.dll___p__fmode
push eax
call fcn.01035adb
mov dword [esi + 0x24], eax
mov dword [esi + 0x44], ebx
mov dword [esi + 0x2c], 0x20100000
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x1027f52
mov eax, dword [eax + 0x10]
jmp 0x1027f57
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
call fcn.01035adb
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, ebx
je 0x1027f74
push dword [ecx + 0x1c]
call fcn.01035adb
mov ecx, dword [ebp - 0x24]
jmp 0x1027f76
xor eax, eax
mov dword [esi + 0x28], eax
cmp dword [esi + 0x3c], ebx
je 0x1027fe7
cmp ecx, ebx
je 0x1027f87
mov eax, dword [ecx + 0x14]
jmp 0x1027f8d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
push eax
call fcn.01035adb
mov dword [esi + 0x40], eax
cmp eax, ebx
je 0x1027fe7
mov dword [esi + 0x50], ebx
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x1027fa9
mov eax, dword [eax + 8]
jmp 0x1027fac
push 6
pop eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x54], ebx
mov dword [esi + 0x78], ebx
mov eax, dword [reloc.msvcrt.dll___p__fmode]
mov dword [esi], reloc.msvcrt.dll___p__fmode
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [reloc.msvcrt.dll___p__fmode], esi
mov eax, dword [ebp + 0x14]
inc dword [eax]
inc dword [ebp - 0x38]
add edi, 0x208
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x20]
jb 0x1027e33
jmp 0x102805c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
jmp 0x1028020
mov edi, dword [ebp - 0x2c]
cmp edi, ebx
je 0x1028057
xor esi, esi
cmp dword [ebp - 0x20], ebx
jbe 0x1028057
lea eax, [edi + esi*4]
cmp dword [eax], ebx
je 0x1028051
mov ecx, dword [eax]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ecx], edx
mov dword [edx + 4], ecx
mov ecx, dword [eax]
mov dword [ecx], ebx
mov ecx, dword [eax]
mov dword [ecx + 4], ebx
push dword [eax]
call fcn.01024bf7
inc esi
cmp esi, dword [ebp - 0x20]
jb 0x102802e
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
push dword [ebp - 0x2c]
call fcn.01035abf
push dword [ebp - 0x30]
call fcn.01035abf
cmp dword [ebp - 0x1c], ebx
je 0x102807a
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
cmp dword [ebp - 0x1c], ebx
sete al
call fcn.010320d3
ret 0x10