Function at 0x45430c
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x454315
mov eax, dword [ebp - 4]
add esp, 0xffffffdc
push ebx
push esi
push edi
mov eax, 0x51a921
call fcn.004cfcb8
xor edx, edx
mov dword [ebp - 0x28], edx
mov word [ebp - 0x14], 8
mov word [ebp - 0x14], 8
mov byte [ebp - 0x2028], 0
lea eax, [ebp - 0x2028]
xor ebx, ebx
push eax
push 0x180
call sub.KERNEL32.dll_GetCurrentDirectoryA
push 0
push 0x28
lea edx, [ebp - 0x1028]
push edx
call fcn.004410b8
add esp, 0xc
test eax, eax
jle 0x454390
lea ecx, [ebp - 0x2028]
push ecx
lea eax, [ebp - 0x1028]
push eax
call fcn.004cd568
add esp, 8
test eax, eax
jne 0x454390
mov bl, 1
push 0
push 0x10
lea eax, [ebp - 0x1028]
push eax
call fcn.004410b8
add esp, 0xc
test eax, eax
jle 0x4543c3
lea edx, [ebp - 0x2028]
push edx
lea ecx, [ebp - 0x1028]
push ecx
call fcn.004cd568
add esp, 8
test eax, eax
jne 0x4543c3
mov bl, 1
test bl, bl
je 0x45443e
mov byte [ebp - 0x2028], 0
push 0
push 0x1c
lea eax, [ebp - 0x2028]
push eax
call fcn.004410b8
add esp, 0xc
lea edx, [ebp - 0x2028]
test edx, edx
je 0x45442a
lea ecx, [ebp - 0x2028]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x45442a
lea eax, [ebp - 0x2028]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x2029]
cmp edx, 0x5c
je 0x45442a
push 0x5d26eb
lea ecx, [ebp - 0x2028]
push ecx
call fcn.004cd308
add esp, 8
push 0x5d26ed
lea eax, [ebp - 0x2028]
push eax
call fcn.004cd308
add esp, 8
movsx edx, byte [ebp - 0x2027]
cmp edx, 0x3a
jne 0x45446e
mov cl, byte [ebp - 0x2026]
test cl, cl
je 0x45445e
mov al, byte [ebp - 0x2025]
test al, al
jne 0x45446e
mov esi, 0x5d26f3
lea edi, [ebp - 0x2028]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor ebx, ebx
xor eax, eax
lea edi, [ebp - 0x2028]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, 0x51691e
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x51691e]
test al, al
je 0x454526
mov edx, 0x51691e
test edx, edx
je 0x4544e6
push 0x51691e
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x4544e6
push 0x51691e
call fcn.004cd3e4
pop ecx
movsx ecx, byte [eax + 0x51691d]
cmp ecx, 0x5c
je 0x4544e6
push 0x5d26fc
push 0x51691e
call fcn.004cd308
add esp, 8
push 0x51691e
call fcn.004539c4
pop ecx
test al, al
je 0x454526
push 0x51691e
call fcn.004541d8
pop ecx
test al, al
je 0x454526
push 0x51691e
call fcn.00453604
pop ecx
test al, 1
je 0x454526
test al, 2
je 0x454526
mov dword [0x51a624], 3
jmp 0x45468e
push 0x51691e
call fcn.00453920
pop ecx
test eax, eax
je 0x4545ba
mov eax, 0x51691e
test eax, eax
je 0x45457a
push 0x51691e
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x45457a
push 0x51691e
call fcn.004cd3e4
pop ecx
movsx edx, byte [eax + 0x51691d]
cmp edx, 0x5c
je 0x45457a
push 0x5d26fe
push 0x51691e
call fcn.004cd308
add esp, 8
push 0x51691e
call fcn.004539c4
pop ecx
test al, al
je 0x4545ba
push 0x51691e
call fcn.004541d8
pop ecx
test al, al
je 0x4545ba
push 0x51691e
call fcn.00453604
pop ecx
test al, 1
je 0x4545ba
test al, 2
je 0x4545ba
mov dword [0x51a624], 4
jmp 0x45468e
mov esi, 0x5d2700
mov edi, 0x51691e
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x51691e
call fcn.004539c4
pop ecx
test al, al
je 0x45460b
push 0x51691e
call fcn.004541d8
pop ecx
test al, al
je 0x45460b
push 0x51691e
call fcn.00453604
pop ecx
test al, 1
je 0x45460b
test al, 2
je 0x45460b
mov bl, 1
mov dword [0x51a624], 6
jmp 0x45468e
push 0
push 0x1c
push 0x51691e
call fcn.004410b8
add esp, 0xc
test eax, eax
jle 0x45467f
mov eax, 0x51691e
test eax, eax
je 0x454661
push 0x51691e
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x454661
push 0x51691e
call fcn.004cd3e4
pop ecx
movsx edx, byte [eax + 0x51691d]
cmp edx, 0x5c
je 0x454661
push 0x5d2709
push 0x51691e
call fcn.004cd308
add esp, 8
push 0x5d270b
push 0x51691e
call fcn.004cd308
add esp, 8
mov dword [0x51a624], 5
jmp 0x45468e
mov esi, 0x5d2711
mov edi, 0x51691e
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x516a9e
call fcn.00453920
pop ecx
test eax, eax
je 0x454714
push 0x516a9e
call fcn.004539c4
pop ecx
test al, al
je 0x454714
mov dl, byte [0x516a9e]
test dl, dl
je 0x454714
mov ecx, 0x516a9e
test ecx, ecx
je 0x4546f7
push 0x516a9e
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x4546f7
push 0x516a9e
call fcn.004cd3e4
pop ecx
movsx eax, byte [eax + 0x516a9d]
cmp eax, 0x5c
je 0x4546f7
push 0x5d271a
push 0x516a9e
call fcn.004cd308
add esp, 8
push 0x516a9e
call fcn.00453a9c
pop ecx
mov dword [0x51a628], 4
test eax, eax
jne 0x4547d2
xor eax, eax
lea edi, [ebp - 0x2028]
or ecx, 0xffffffff
mov esi, 0x516a9e
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x516a9e
call fcn.004539c4
pop ecx
test al, al
je 0x4547ae
mov al, byte [0x516a9e]
test al, al
je 0x4547ae
mov edx, 0x516a9e
test edx, edx
je 0x454795
push 0x516a9e
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x454795
push 0x516a9e
call fcn.004cd3e4
pop ecx
movsx ecx, byte [eax + 0x516a9d]
cmp ecx, 0x5c
je 0x454795
push 0x5d271c
push 0x516a9e
call fcn.004cd308
add esp, 8
push 0x516a9e
call fcn.00453a9c
pop ecx
mov dword [0x51a628], 3
test eax, eax
jne 0x4547d2
mov esi, 0x5d271e
mov edi, 0x516a9e
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x516a9e
call fcn.00453a9c
pop ecx
mov dword [0x51a628], 6
dec eax
jne 0x4547de
mov byte [0x5186a9], 1
jmp 0x4547e5
mov byte [0x5186a9], 0
push 0x51691e
call sub.KERNEL32.dll_SetCurrentDirectoryA
test eax, eax
jne 0x454808
push 0x51691e
call fcn.00437b90
pop ecx
push 0x51691e
call sub.KERNEL32.dll_SetCurrentDirectoryA
test bl, bl
je 0x454817
push 0x51691e
call fcn.004537ac
pop ecx
push 0x5d272c
push 0x516a9e
push 0x5d2727
push 0x516c1e
call fcn.004d1ac0
add esp, 0x10
push 0x5d273d
push 0x516a9e
push 0x5d2738
push 0x51709e
call fcn.004d1ac0
add esp, 0x10
push 0x5d274e
push 0x51691e
push 0x5d2749
push 0x516f1e
call fcn.004d1ac0
add esp, 0x10
push 0x5d275f
push 0x51691e
push 0x5d275a
push 0x516d9e
call fcn.004d1ac0
add esp, 0x10
push 0x51691e
push 0x516a9e
call fcn.004cd568
add esp, 8
test eax, eax
je 0x4548c8
push 0x51691e
call fcn.00453604
pop ecx
test al, 1
je 0x4548c8
push 0x5d2770
push 0x516a9e
push 0x5d276b
push 0x516d9e
call fcn.004d1ac0
add esp, 0x10
push 0x5d277c
push 0x516a9e
push 0x5f8c7a
call fcn.00452854
add esp, 0xc
push 0x5d2784
push 0x516a9e
push 0x5f93fa
call fcn.00452854
add esp, 0xc
push 0x5d2789
push 0x516a9e
push 0x5f927a
call fcn.00452854
add esp, 0xc
push 0x5d2792
push 0x516a9e
push 0x5f867a
call fcn.00452854
add esp, 0xc
push 0x5d279a
push 0x516a9e
push 0x5f87fa
call fcn.00452854
add esp, 0xc
push 0x5f87fa
push 0
call fcn.00450fe0
add esp, 8
push 0x5f87fa
push 0
call fcn.0040b820
add esp, 8
push 0x51691e
call fcn.00453d2c
pop ecx
test eax, eax
je 0x454976
mov al, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4549ca
push 0x516a9e
call fcn.00453d2c
pop ecx
test eax, eax
je 0x454993
mov al, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4549ca
mov word [ebp - 0x14], 0
jmp 0x4549be
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
mov esp, ebp
mov edi, dword [ebp - 0x2034]
mov esi, dword [ebp - 0x2030]
mov ebx, dword [ebp - 0x202c]
pop ebp
ret