Function at 0x519dc0
Capabilities:
Get common file path
Read .ini file

Disassembly:
sub esp, 0xb38
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0xb34], eax
push ebx
push esi
push edi
mov edi, dword [esp + 0xb48]
xor ebx, ebx
push 0x103
lea eax, [esp + 0x19]
push ebx
push eax
mov byte [esp + 0x20], bl
call fcn.005dfd60
push 0x207
lea ecx, [esp + 0x331]
push ebx
push ecx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x338], bl
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x955]
push ebx
push edx
mov byte [esp + 0x95c], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x551]
push ebx
push eax
mov byte [esp + 0x558], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x661]
push ebx
push ecx
mov byte [esp + 0x668], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x771]
push ebx
push edx
mov byte [esp + 0x778], bl
call fcn.005dfd60
mov esi, dword [esp + 0xb94]
add esp, 0x48
cmp esi, ebx
je 0x51a79b
cmp byte [esi], bl
je 0x51a79b
cmp edi, ebx
je 0x51a79b
push 0x3c
push 1
push str.AVCRestoreInProgress
push 1
push ebx
call fcn.0050db70
lea edx, [esp + 0x938]
mov dword [esp + 0x10], eax
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x519ec0
lea eax, [esp + 0x938]
push ebp
push eax
call fcn.004e24e0
mov ebp, dword [esp + 0xb58]
add esp, 4
lea edx, [esp + 0x324]
cmp ebp, ebx
jne 0x519f37
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x519ef1
lea ecx, [esp + 0x324]
push ecx
call fcn.004e24e0
lea eax, [esp + 0x328]
add esp, 4
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x519f13
mov edx, dword [0x61f18c]
mov ecx, dword [0x61f190]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x519fe4
mov eax, edi
sub edx, edi
jmp 0x519f40
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x519f40
lea edx, [esp + 0x324]
push edx
call fcn.004e24e0
lea eax, [esp + 0x328]
add esp, 4
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x519f62
mov ecx, dword [0x61f18c]
mov edx, dword [0x61f190]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [eax], ecx
mov dword [eax + 4], edx
lea eax, [esp + 0x324]
push eax
lea ecx, [esp + 0x634]
push ecx
call esi
lea edx, [esp + 0x630]
push edx
call fcn.004e24e0
add esp, 4
push str.plugins
lea eax, [esp + 0x634]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
lea ecx, [esp + 0x738]
push ecx
call esi
lea edx, [esp + 0x734]
push edx
call fcn.004e24e0
add esp, 4
push str.plugins
lea eax, [esp + 0x738]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [edi], bl
jne 0x519ffa
lea ecx, [esp + 0x18]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
jmp 0x51a002
push edi
lea edx, [esp + 0x1c]
push edx
call esi
cmp ebp, ebx
pop ebp
jne 0x51a538
lea eax, [esp + 0x14]
push eax
call fcn.004e24e0
add esp, 4
cmp byte [esp + 0x320], bl
je 0x51a775
lea ecx, [esp + 0x320]
push ebx
push ecx
call fcn.004e8c10
add esp, 8
cmp eax, 1
jne 0x51a775
lea edx, [esp + 0x14]
push ebx
push edx
call fcn.004e8c10
add esp, 8
cmp eax, 1
jne 0x51a775
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
lea eax, [esp + 0x2c]
push eax
push 0x611904
lea ecx, [esp + 0x340]
push ecx
xor esi, esi
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
test eax, eax
jne 0x51a191
push 0x64e234
push 1
lea edx, [esp + 0x2c]
push edx
push str.._vc
lea eax, [esp + 0x340]
push eax
call fcn.005017d0
test eax, eax
je 0x51a775
push ebx
push ebx
push ebx
push ebx
push 0x627b80
mov esi, 1
push esi
lea eax, [esp + 0x2c]
push eax
push str.._et
lea ecx, [esp + 0x340]
push ecx
call fcn.005017d0
cmp eax, ebx
je 0x51a775
push ebx
push ebx
push ebx
push ebx
cmp esi, ebx
jne 0x51a1ab
push ebx
push 1
lea edx, [esp + 0x2c]
push edx
push 0x61f12c
lea eax, [esp + 0x340]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x2c]
push eax
push str..avs
lea ecx, [esp + 0x340]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0x2c]
push ecx
push str..klb
lea edx, [esp + 0x340]
push edx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea edx, [esp + 0x2c]
push edx
push str..vnd
lea eax, [esp + 0x340]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x2c]
push eax
push str..key
lea ecx, [esp + 0x340]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0x2c]
push ecx
push str..dt
lea edx, [esp + 0x340]
push edx
jmp 0x51a26e
push ebx
push 1
lea ecx, [esp + 0x2c]
push ecx
push str..set
lea edx, [esp + 0x340]
push edx
jmp 0x51a0c8
push 0x64e230
push 1
lea ecx, [esp + 0x2c]
push ecx
push str.._vx
lea edx, [esp + 0x340]
push edx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push 0x64e224
push 1
lea edx, [esp + 0x2c]
push edx
push str.._vs
lea eax, [esp + 0x340]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push 0x64e218
push 1
lea eax, [esp + 0x2c]
push eax
push str.._lb
lea ecx, [esp + 0x340]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push 0x64e20c
push 1
lea ecx, [esp + 0x2c]
push ecx
push str.._nd
lea edx, [esp + 0x340]
push edx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push 0x62575c
push 1
lea edx, [esp + 0x2c]
push edx
push str.._ey
lea eax, [esp + 0x340]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push 0x64e1f8
push 1
lea eax, [esp + 0x2c]
push eax
push str.._t
lea ecx, [esp + 0x340]
push ecx
call fcn.005017d0
lea edx, [esp + 0x528]
push edx
mov dword [esp + 0x10], 1
mov byte [esp + 0x52c], bl
call fcn.004ef9d0
cmp eax, 1
jne 0x51a775
lea eax, [esp + 0x528]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x530]
push edx
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x51a775
push 0x103
lea eax, [esp + 0x221]
push ebx
push eax
mov byte [esp + 0x228], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x129]
push ebx
push ecx
call fcn.005dfd60
add esp, 0x18
lea edx, [esp + 0x528]
push edx
lea eax, [esp + 0x220]
push eax
mov byte [esp + 0x120], bl
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x21c]
push ecx
call fcn.004e24e0
add esp, 4
push str.eserv.ini
lea edx, [esp + 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
push ebx
push ebx
lea eax, [esp + 0x22c]
push ebx
push eax
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x51a775
lea ecx, [esp + 0x21c]
push ecx
push 0x104
lea edx, [esp + 0x120]
push edx
push 0x60c81c
push str.FTPDownloadDir
push str.general
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0x118], bl
je 0x51a775
lea eax, [esp + 0x118]
push ebx
push eax
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a775
push ebx
push ebx
lea ecx, [esp + 0x120]
push 0x611904
push ecx
call fcn.00517250
push ebx
push ebx
lea edx, [esp + 0x130]
push str..set
push edx
call fcn.00517250
push ebx
push ebx
lea eax, [esp + 0x140]
push 0x61f12c
push eax
call fcn.00517250
push ebx
push ebx
lea ecx, [esp + 0x150]
push str..avs
push ecx
call fcn.00517250
add esp, 0x40
push ebx
push ebx
lea edx, [esp + 0x120]
push str..klb
push edx
call fcn.00517250
push ebx
push ebx
lea eax, [esp + 0x130]
push str..vnd
push eax
call fcn.00517250
push ebx
push ebx
lea ecx, [esp + 0x140]
push str..key
push ecx
call fcn.00517250
push ebx
push ebx
lea edx, [esp + 0x150]
push str..dt
push edx
call fcn.00517250
add esp, 0x40
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x130]
push eax
push 0x611904
lea ecx, [esp + 0x34]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea edx, [esp + 0x130]
push edx
push str..set
lea eax, [esp + 0x34]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0x130]
push ecx
push 0x61f12c
lea edx, [esp + 0x34]
push edx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x130]
push eax
push str..avs
lea ecx, [esp + 0x34]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea edx, [esp + 0x130]
push edx
push str..klb
lea eax, [esp + 0x34]
push eax
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0x130]
push ecx
push str..vnd
lea edx, [esp + 0x34]
push edx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x130]
push eax
push str..key
lea ecx, [esp + 0x34]
push ecx
call fcn.005017d0
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea edx, [esp + 0x130]
push edx
push str..dt
lea eax, [esp + 0x34]
push eax
jmp 0x51a770
lea ecx, [esp + 0x62c]
push ebx
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a775
lea edx, [esp + 0x730]
push ebx
push edx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a775
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x748]
push eax
push 0x66da58
lea ecx, [esp + 0x64c]
push ecx
call fcn.005017d0
test eax, eax
je 0x51a775
lea edx, [esp + 0x528]
push edx
mov dword [esp + 0x10], 1
mov byte [esp + 0x52c], bl
call fcn.004ef9d0
cmp eax, 1
jne 0x51a775
lea eax, [esp + 0x528]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x530]
push edx
call fcn.004dd670
add esp, 0xc
test eax, eax
jne 0x51a775
push 0x103
lea eax, [esp + 0x839]
push ebx
push eax
mov byte [esp + 0x840], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x129]
push ebx
push ecx
call fcn.005dfd60
add esp, 0x18
lea edx, [esp + 0x528]
push edx
lea eax, [esp + 0x838]
push eax
mov byte [esp + 0x120], bl
call esi
lea ecx, [esp + 0x834]
push ecx
call fcn.004e24e0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 4
push str.eserv.ini
lea edx, [esp + 0x838]
push edx
call edi
push 1
push ebx
push ebx
push ebx
lea eax, [esp + 0x844]
push ebx
push eax
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x51a775
push 0x103
lea ecx, [esp + 0x221]
push ebx
push ecx
mov byte [esp + 0x228], bl
call fcn.005dfd60
add esp, 0xc
lea edx, [esp + 0x834]
push edx
push 0x104
lea eax, [esp + 0x120]
push eax
push 0x60c81c
push str.FTPDownloadDir
push str.general
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0x118], bl
je 0x51a775
lea ecx, [esp + 0x118]
push ebx
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a70a
lea edx, [esp + 0x118]
push edx
lea eax, [esp + 0x220]
push eax
call esi
lea ecx, [esp + 0x21c]
push ecx
call fcn.004e24e0
add esp, 4
push str.plugins
lea edx, [esp + 0x220]
push edx
call edi
cmp byte [esp + 0x118], bl
je 0x51a775
lea eax, [esp + 0x118]
push ebx
push eax
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a775
lea ecx, [esp + 0x21c]
push ebx
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x51a775
push ebx
push ebx
lea edx, [esp + 0x224]
push 0x66da58
push edx
call fcn.00517250
add esp, 0x10
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea eax, [esp + 0x234]
push eax
push 0x66da58
lea ecx, [esp + 0x64c]
push ecx
call fcn.005017d0
lea edx, [esp + 0x10]
push edx
call fcn.004dca10
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb34]
xor ecx, esp
call fcn.005dfbbe
add esp, 0xb38
ret
mov ecx, dword [esp + 0xb40]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.005dfbbe
add esp, 0xb38
ret