Function at 0x42fb78
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
call fcn.00404980
test ebx, ebx
js 0x42fb9c
cmp dword [0x476070], 0
jne 0x42fba5
mov ecx, dword [edi + 0x30]
mov dword [0x476070], ecx
cmp byte [0x476074], 0
jne 0x42fbf2
mov edx, 0x476074
push edx
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
mov ecx, 0x476074
push 0x46f520
push ecx
call fcn.00460190
lea edx, [ebp - 0x114]
push 0xa
push edx
push dword [edi + 0x24]
call fcn.004621d0
add esp, 0xc
mov ecx, 0x476074
push eax
push ecx
call fcn.00460190
add esp, 0x10
push 0x476074
lea edx, [ebp - 0x104]
push edx
call fcn.004605d0
lea ecx, [ebp - 0x104]
push 0x46f528
push ecx
call fcn.00460190
lea edx, [ebp - 0x104]
push edx
call fcn.00460634
add esp, 0x14
lea esi, [eax - 1]
cmp dword [0x476070], 1
jg 0x42fc37
mov byte [ebp + esi - 0x104], 0
test ebx, ebx
jle 0x42fc58
push 0
push 0x1cbc
push edi
call fcn.00432948
and eax, 0xffff
mov dword [edi + 0x1cbc], eax
add esp, 0xc
jmp 0x42fc9a
test ebx, ebx
jns 0x42fc92
cmp dword [0x476070], 1
jle 0x42fc92
lea ecx, [ebp - 0x104]
push ecx
call fcn.0042de88
add esp, 4
cmp eax, 0xffffffff
mov dword [ebp - 0x11c], eax
jne 0x42fc89
mov byte [ebp + esi - 0x104], 0
jmp 0x42fc9a
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x42fc9a
test ebx, ebx
je 0x42fed6
mov dword [ebp + 0xc], ebx
xor ebx, ebx
lea edx, [ebp - 0x104]
push dword [ebp + 0xc]
push edx
mov dword [ebp - 0x118], ebx
push edi
call fcn.0042fedf
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fcc6
or ebx, 1
jmp 0x42fcd4
test esi, esi
jns 0x42fcd4
mov dword [ebp - 0x118], 1
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
lea edx, [edi + 0x71c]
push ecx
push edx
call fcn.00430698
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fcfb
or ebx, 2
jmp 0x42fd09
test esi, esi
jns 0x42fd09
or dword [ebp - 0x118], 2
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
lea edx, [edi + 0xa64]
push ecx
push edx
call fcn.0043131e
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fd30
or ebx, 4
jmp 0x42fd3e
test esi, esi
jns 0x42fd3e
or dword [ebp - 0x118], 4
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
push ecx
push dword [edi + 0x70c]
call fcn.004316ab
add esp, 0xc
mov esi, eax
cmp eax, 0xffffff9f
je 0x42fd96
test esi, esi
jle 0x42fd69
or ebx, 8
jmp 0x42fd77
test esi, esi
jns 0x42fd77
or dword [ebp - 0x118], 8
push dword [ebp + 0xc]
lea edx, [ebp - 0x104]
push edx
push dword [edi + 0x710]
call fcn.00431ac8
add esp, 0xc
mov esi, eax
cmp eax, 0xffffff9f
jne 0x42fd9f
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jle 0x42fdab
or ebx, 0x10
jmp 0x42fdb9
test esi, esi
jns 0x42fdb9
or dword [ebp - 0x118], 0x10
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
lea edx, [edi + 0xb58]
push ecx
push edx
call fcn.00431ee8
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fde0
or ebx, 0x20
jmp 0x42fdee
test esi, esi
jns 0x42fdee
or dword [ebp - 0x118], 0x20
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
lea edx, [edi + 0xc3c]
push ecx
push edx
call fcn.00431539
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fe15
or ebx, 0x40
jmp 0x42fe23
test esi, esi
jns 0x42fe23
or dword [ebp - 0x118], 0x40
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
lea edx, [edi + 0x828]
push ecx
push edx
call fcn.00430bfa
add esp, 0xc
mov esi, eax
test eax, eax
jle 0x42fe4a
or ebx, 0x80
jmp 0x42fe58
test esi, esi
jns 0x42fe58
or dword [ebp - 0x118], 0x80
xor ecx, ecx
test ebx, ebx
mov dword [edi + 0x1cbc], ecx
je 0x42fe81
cmp ebx, 0xff
jne 0x42fe73
mov ebx, 1
jmp 0x42fe78
mov ebx, 0xffffffff
pop edi
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jns 0x42fe9c
cmp dword [ebp - 0x118], ecx
je 0x42fe9c
mov edx, dword [ebp - 0x118]
mov dword [edi + 0x1cbc], edx
test ebx, ebx
jns 0x42fed6
cmp dword [0x476070], 1
jle 0x42fed6
cmp dword [ebp - 0x11c], 0xffffffff
jne 0x42fed6
mov eax, dword [edi + 0x70c]
xor edx, edx
mov dword [eax + 0x24], ecx
mov ebx, dword [edi + 0x710]
mov dword [ebx + 0x24], ecx
mov eax, dword [edi + 0x70c]
mov byte [eax], dl
mov ebx, dword [edi + 0x710]
mov byte [ebx], dl
pop edi
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret