Function at 0x4080c0
Capabilities:
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x598dac
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x5fd890]
xor eax, esp
mov dword [esp + 0x258], eax
push ebx
push esi
push edi
mov eax, dword [0x5fd890]
xor eax, esp
push eax
lea eax, [esp + 0x270]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x1ff
lea ecx, [esp + 0x69]
push 0
push ecx
mov dword [esp + 0x24], eax
mov byte [esp + 0x70], 0
call fcn.0056b700
add esp, 0xc
lea edx, [esp + 0x64]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0x64]
push eax
call fcn.00406dc0
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
push esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x27c], 0
call fcn.00404a60
push esi
mov byte [esp + 0x27c], 2
call fcn.00466c92
add esp, 4
push 0x11
push str.temp.install.xml
lea ecx, [esp + 0x18]
call fcn.00404550
push str.SoftInstallXml
lea ecx, [esp + 0x18]
call fcn.00404a60
push 0x84
lea ecx, [esp + 0x14]
push ecx
lea eax, [esp + 0x1c]
call fcn.0040b8d0
test al, al
mov eax, dword [esp + 0x14]
sete bl
add eax, 0xfffffff0
or edi, 0xffffffff
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4081c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4081fd
push 0x5cddb4
call fcn.0040bcf0
add esp, 4
mov dword [esp + 0x278], edi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x4081f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x4083c5
lea ecx, [esp + 0x1c]
call fcn.00453ca0
mov byte [esp + 0x278], 3
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00406d60
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
push 0
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x280], 4
call fcn.004548d0
test al, al
push esi
sete bl
mov byte [esp + 0x27c], 3
call fcn.00466c92
add esp, 4
test bl, bl
je 0x4082b6
push 0x5cdf8c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [esp + 0x278], 2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], vtable.TiXmlDocument.0
cmp eax, 0x6038c0
je 0x40827e
push eax
call fcn.00466c92
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.004539f0
mov dword [esp + 0x278], edi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
lock xadd dword [edx], edi
dec edi
test edi, edi
jg 0x4081f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x4083c5
lea ecx, [esp + 0x1c]
call fcn.004532f0
test eax, eax
jne 0x408300
push 0x5cdfb8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [esp + 0x278], 2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], vtable.TiXmlDocument.0
cmp eax, 0x6038c0
je 0x4082f2
push eax
call fcn.00466c92
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.004539f0
jmp 0x4081d2
push str.server
mov ecx, eax
call fcn.00453320
mov esi, eax
test esi, esi
je 0x408372
push str.addr
mov ecx, esi
call fcn.00453320
push str.port
mov ecx, esi
mov edi, eax
call fcn.00453320
mov ebx, eax
test edi, edi
je 0x40836f
test ebx, ebx
je 0x40836f
mov ecx, edi
call fcn.004533f0
mov ecx, ebx
mov esi, eax
call fcn.004533f0
mov edi, eax
test esi, esi
je 0x40836f
test edi, edi
je 0x40836f
push esi
mov esi, dword [esp + 0x1c]
lea ecx, [esi + 0x40c]
call fcn.0040c730
push edi
call fcn.00567219
add esp, 4
mov dword [esi + 0x410], eax
or edi, 0xffffffff
mov byte [esp + 0x278], 2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], vtable.TiXmlDocument.0
cmp eax, 0x6038c0
je 0x408396
push eax
call fcn.00466c92
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.004539f0
mov dword [esp + 0x278], edi
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x4083c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0x270]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.00565f92
mov esp, ebp
pop ebp
ret 4