Function at 0x42f8a0
Capabilities:
Get common file path

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x328
mov ebp, dword [esp + 0x33c]
mov edi, dword [esp + 0x340]
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x324], eax
lea ebx, [esp + 0x220]
mov dword [esp + 0x214], ebx
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0x104
lea esi, [esp + 0x214]
mov ecx, edi
push esi
call fcn.004385c0
push dword [esp + 0x344]
push dword [esp + 0x21c]
push dword [esp + 0x21c]
push 0xfde9
push ebp
call fcn.00433200
add esp, 0x14
cmp dword [ebp], 0
jne 0x42fb78
xor ebp, ebp
push 2
push edi
call fcn.0042d350
add esp, 8
mov ebx, eax
test al, al
jne 0x42f94d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebp, eax
test eax, eax
je 0x42fa44
mov eax, dword [esp + 0x344]
add ebp, dword [eax + 4]
cmp ebp, dword [esp + 0x348]
jae 0x42f9a2
mov ebp, dword [esp + 0x33c]
mov dword [ebp], 0
mov eax, dword [0x568c58]
mov ecx, dword [0x5698e8]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 0xc]
jg 0x42fbb9
mov dword [ebp + 4], 0x567398
lea ebx, [esp + 0x220]
jmp 0x42fb78
cmp dword [esp + 0x218], 4
jb 0x42f9bb
mov eax, dword [esp + 0x214]
cmp dword [eax], 0x5c3f5c5c
je 0x42f960
test bl, bl
mov ebp, dword [esp + 0x33c]
lea ebx, [esp + 0x220]
jne 0x42f9e1
push esi
push ebp
call fcn.0042ec50
add esp, 8
cmp dword [ebp], 0
jne 0x42fb78
push 0
push esi
call fcn.0042c8c0
add esp, 8
push 2
push 1
push esi
call fcn.0042d4e0
add esp, 0xc
mov edi, dword [esp + 0x214]
mov esi, dword [esp + 0x218]
mov eax, esp
push 2
push esi
push edi
push eax
call fcn.0042b0b0
add esp, 0x10
cmp dword [esp], edi
jne 0x42fa23
xor eax, eax
cmp dword [esp + 0x10], esi
je 0x42fa8b
mov eax, dword [esp + 0xc]
cmp eax, 3
jb 0x42fa67
mov ecx, dword [esp + 8]
mov dl, byte [ecx]
cmp dl, 0x5c
je 0x42fa3c
cmp dl, 0x2f
jne 0x42fa73
cmp byte [ecx + 1], dl
sete dl
jmp 0x42fa75
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ebp, dword [esp + 0x340]
push ebp
call fcn.004295f0
add esp, 8
lea ebx, [esp + 0x220]
jmp 0x42fb78
test eax, eax
je 0x42fba8
mov ecx, dword [esp + 8]
xor edx, edx
cmp byte [ecx + eax - 1], 0x3a
sete cl
test dl, dl
jne 0x42fa87
xor eax, eax
test cl, cl
je 0x42fa8b
mov eax, dword [esp + 8]
lea edi, [esp + 0xc]
mov dword [esp], edi
mov dword [esp + 8], 0x208
mov dword [esp + 0xc], 0x5c3f5c5c
mov dword [esp + 4], 4
cmp byte [eax + 1], 0x3a
mov ebx, dword [esp + 0x214]
mov esi, dword [esp + 0x218]
jne 0x42fad5
lea eax, [esi + 4]
cmp eax, 0x209
jb 0x42fb28
mov ecx, esp
push 1
push eax
push edi
call fcn.00424880
jmp 0x42fb2c
mov dword [esp + 0x10], 0x5c434e55
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [eax + 4]
mov dword [esp + 4], edx
add eax, esi
add eax, 2
cmp ecx, eax
jae 0x42fb00
mov ecx, esp
push 1
push eax
push edi
call fcn.00424880
lea ebp, [esi - 2]
cmp esi, 2
je 0x42fb1d
add ebx, 2
mov eax, dword [esp]
add eax, dword [esp + 4]
push ebp
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, ebp
mov ebp, dword [esp + 0x33c]
jmp 0x42fb3e
test esi, esi
je 0x42fb3e
mov eax, dword [esp]
add eax, dword [esp + 4]
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ebx, [esp + 0x220]
add esi, dword [esp + 4]
mov dword [esp + 4], esi
push dword [esp + 0x344]
push esi
push dword [esp + 8]
push 0xfde9
push ebp
call fcn.00433200
add esp, 0x14
mov eax, dword [esp]
cmp eax, edi
je 0x42fb78
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [esp + 0x214]
cmp eax, ebx
je 0x42fb8d
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0x324]
xor ecx, esp
call fcn.00533ace
mov eax, ebp
add esp, 0x328
pop esi
pop edi
pop ebx
pop ebp
ret
xor edx, edx
xor ecx, ecx
test dl, dl
je 0x42fa81
jmp 0x42fa87
push 0x568c58
call fcn.00533bee
add esp, 4
cmp dword [0x568c58], 0xffffffff
jne 0x42f98f
push 0x433930
call fcn.00533f00
add esp, 4
push 0x568c58
call fcn.00533ba4
add esp, 4
jmp 0x42f98f