Function at 0x413560
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52e9b6
mov eax, dword fs:[0]
push eax
mov eax, 0x13ac
call fcn.00516760
mov eax, dword [0x58e188]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x133c], ecx
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x1370], 1
mov dword [ebp - 0x134c], edi
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4135c7
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1354], esi
mov byte [ebp - 4], 1
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4135f7
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1338], eax
mov byte [ebp - 4], 2
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x413627
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1350], eax
mov byte [ebp - 4], 3
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x413657
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1348], eax
mov byte [ebp - 4], 4
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x413687
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1324], eax
mov byte [ebp - 4], 5
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4136b7
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1340], eax
mov byte [ebp - 4], 6
call fcn.0041b722
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4136e7
push 0x80004005
call fcn.00401040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1320], eax
push 0xffe
lea edx, [ebp - 0x131a]
xor ecx, ecx
push edi
push edx
mov byte [ebp - 4], 7
mov word [ebp - 0x131c], cx
call fcn.00515860
mov eax, dword [ebp + 8]
add esp, 0xc
push eax
push 0x800
lea ecx, [ebp - 0x131c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
mov dword [ebp - 0x13a4], eax
mov dword [ebp - 0x1344], edi
cmp eax, edi
jbe 0x414408
jmp 0x413750
mov edx, dword [ebp - 0x133c]
cmp byte [edx + 0x10c], 0
jne 0x414556
cmp word [ebp - 0x131c], 0
je 0x414408
mov eax, dword [ebp - 0x1344]
cmp word [ebp + eax*2 - 0x131c], 0
jne 0x4143e9
mov edi, eax
mov eax, dword [ebp + 8]
sub edi, dword [ebp - 0x134c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1334], esp
mov esi, esp
push eax
lea edi, [ebp + edi*2 - 0x131c]
mov dword [ebp - 0x134c], 0xffffffff
call fcn.00402000
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [ebp - 0x1330], esp
push str.InstName
mov byte [ebp - 4], 8
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x1328], esp
push edi
mov byte [ebp - 4], 9
call fcn.00402730
lea ecx, [ebp - 0x13a8]
push ecx
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1354]
mov byte [ebp - 4], 0xa
call fcn.004024c0
mov eax, dword [ebp - 0x13a8]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41382b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov esi, esp
push eax
call fcn.00402000
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [ebp - 0x1334], esp
push str.CheckType
mov byte [ebp - 4], 0xb
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x1330], esp
push edi
mov byte [ebp - 4], 0xc
call fcn.00402730
lea ecx, [ebp - 0x13b8]
push ecx
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1338]
mov byte [ebp - 4], 0xd
call fcn.004024c0
mov eax, dword [ebp - 0x13b8]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4138b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov esi, esp
push eax
call fcn.00402000
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [ebp - 0x1334], esp
push str.CheckPath
mov byte [ebp - 4], 0xe
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x1330], esp
push edi
mov byte [ebp - 4], 0xf
call fcn.00402730
lea ecx, [ebp - 0x1394]
push ecx
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1350]
mov byte [ebp - 4], 0x10
call fcn.004024c0
mov eax, dword [ebp - 0x1394]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x413943
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov esi, esp
push eax
call fcn.00402000
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [ebp - 0x1334], esp
push str.InstFile
mov byte [ebp - 4], 0x11
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x1330], esp
push edi
mov byte [ebp - 4], 0x12
call fcn.00402730
lea ecx, [ebp - 0x1398]
push ecx
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1324]
mov byte [ebp - 4], 0x13
call fcn.004024c0
mov eax, dword [ebp - 0x1398]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4139cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov esi, esp
push eax
call fcn.00402000
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [ebp - 0x1334], esp
push 0x5414d0
mov byte [ebp - 4], 0x14
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x1330], esp
push edi
mov byte [ebp - 4], 0x15
call fcn.00402730
lea ecx, [ebp - 0x13a0]
push ecx
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1340]
mov byte [ebp - 4], 0x16
call fcn.004024c0
mov eax, dword [ebp - 0x13a0]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x413a5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1324]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov esi, esp
push eax
call fcn.00402000
lea ecx, [ebp - 0x1390]
add esp, 4
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.00406240
add esp, 8
push eax
lea ecx, [ebp - 0x1324]
mov byte [ebp - 4], 0x17
call fcn.004024c0
mov eax, dword [ebp - 0x1390]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x413ac0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1324]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x413b22
lea edx, [ebp - 0x1324]
push edx
lea eax, [ebp - 0x13b0]
push 0x58f984
push eax
call fcn.00406dc0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1324]
mov byte [ebp - 4], 0x18
call fcn.004024c0
mov eax, dword [ebp - 0x13b0]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413b22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x1338]
push 0x5414cc
push ecx
mov dword [ebp - 0x1330], 0
call fcn.00402630
mov esi, dword [ebp - 0x1354]
mov ebx, dword [ebp - 0x1350]
add esp, 8
test al, al
je 0x413c91
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x413ff9
call fcn.0041b722
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4135bd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1380], eax
mov byte [ebp - 4], 0x19
call fcn.0041b722
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4135bd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1368], eax
lea ecx, [ebp - 0x1380]
push ecx
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0x1328], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0x1a
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
add esp, 8
lea edx, [ebp - 0x1368]
push edx
push ecx
lea eax, [ebx - 0x10]
mov dword [ebp - 0x1328], esp
mov edi, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
mov eax, dword [ebp - 0x1368]
mov ecx, dword [ebp - 0x1380]
push eax
push ecx
lea edx, [ebp - 0x114]
push str._InstallPackets____s__is_already_installed__path___s_
push edx
call fcn.00402df0
lea eax, [ebp - 0x114]
push eax
call fcn.0040d9d0
push esi
lea ecx, [ebp - 0x1320]
push 0x541478
push ecx
call fcn.00402570
mov edx, dword [ebp - 0x1320]
mov eax, dword [ebp - 0x133c]
push edx
add eax, 0x94
push 0
push eax
call fcn.00406c90
mov eax, dword [ebp - 0x1368]
add eax, 0xfffffff0
add esp, 0x34
mov byte [ebp - 4], 0x19
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413c86
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1380]
jmp 0x41437a
lea ecx, [ebp - 0x1338]
push 0x541474
push ecx
call fcn.00402630
add esp, 8
test al, al
je 0x413db9
push ebx
call fcn.00405780
add esp, 4
test eax, eax
je 0x413ff9
lea ecx, [ebp - 0x136c]
call fcn.004013c0
lea ecx, [ebp - 0x1364]
call fcn.004013c0
mov esi, dword [ebp - 0x1354]
lea edx, [ebp - 0x136c]
push edx
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0x1328], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
add esp, 8
lea eax, [ebp - 0x1364]
push eax
push ecx
lea eax, [ebx - 0x10]
mov dword [ebp - 0x1328], esp
mov edi, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
mov ecx, dword [ebp - 0x1364]
mov edx, dword [ebp - 0x136c]
push ecx
push edx
lea eax, [ebp - 0x114]
push str._InstallPackets____s__is_already_installed_path___s_
push eax
call fcn.00402df0
lea ecx, [ebp - 0x114]
push ecx
call fcn.0040d9d0
push esi
lea edx, [ebp - 0x1320]
push 0x541478
push edx
call fcn.00402570
mov eax, dword [ebp - 0x1320]
mov ecx, dword [ebp - 0x133c]
push eax
add ecx, 0x94
push 0
push ecx
call fcn.00406c90
mov eax, dword [ebp - 0x1364]
add eax, 0xfffffff0
add esp, 0x34
mov byte [ebp - 4], 0x1b
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x413dae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x136c]
jmp 0x41437a
lea ecx, [ebp - 0x1338]
push 0x541438
push ecx
call fcn.00402630
add esp, 8
test al, al
je 0x413ff9
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x1328], esp
mov dword [ebp - 0x1334], esp
push eax
call fcn.00402000
mov edx, dword [ebp - 0x1334]
add eax, 0x10
mov dword [edx], eax
mov ecx, esp
mov dword [ebp - 0x1334], esp
push str.CheckVersion
mov byte [ebp - 4], 0x1d
call fcn.00402730
push ecx
mov ecx, esp
mov dword [ebp - 0x132c], esp
push edi
mov byte [ebp - 4], 0x1e
call fcn.00402730
lea eax, [ebp - 0x13b4]
push eax
mov byte [ebp - 4], 7
call fcn.004060e0
add esp, 0x10
push eax
lea ecx, [ebp - 0x1348]
mov byte [ebp - 4], 0x1f
call fcn.004024c0
mov eax, dword [ebp - 0x13b4]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413e6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x138c]
push ebx
push ecx
call fcn.00407ee0
lea edx, [ebp - 0x138c]
push edx
lea eax, [ebp - 0x1348]
push eax
call fcn.004020a0
add esp, 0x10
test al, al
je 0x413fc6
lea ecx, [ebp - 0x1384]
call fcn.004013c0
lea ecx, [ebp - 0x137c]
call fcn.004013c0
lea ecx, [ebp - 0x1374]
call fcn.004013c0
lea ecx, [ebp - 0x1384]
push ecx
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0x132c], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0x23
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
add esp, 8
lea edx, [ebp - 0x137c]
push edx
push ecx
lea eax, [ebx - 0x10]
mov dword [ebp - 0x132c], esp
mov edi, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
add esp, 8
lea eax, [ebp - 0x1374]
push eax
mov eax, dword [ebp - 0x138c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x132c], esp
mov edi, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
mov ecx, dword [ebp - 0x1374]
mov edx, dword [ebp - 0x137c]
mov eax, dword [ebp - 0x1384]
push ecx
push edx
push eax
lea ecx, [ebp - 0x114]
push str._InstallPackets___s__is_already_installed__path___s__verion___s_
push ecx
call fcn.00402df0
lea edx, [ebp - 0x114]
push edx
call fcn.0040d9d0
push esi
lea eax, [ebp - 0x1320]
push 0x541478
push eax
mov dword [ebp - 0x1330], 1
call fcn.00402570
mov ecx, dword [ebp - 0x1320]
mov edx, dword [ebp - 0x133c]
push ecx
add edx, 0x94
push 0
push edx
call fcn.00406c90
add esp, 0x38
lea ecx, [ebp - 0x1374]
call fcn.0040db60
lea ecx, [ebp - 0x137c]
call fcn.0040db60
lea ecx, [ebp - 0x1384]
call fcn.0040db60
mov eax, dword [ebp - 0x138c]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x413fec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x1330], 0
jne 0x4143d8
mov ecx, dword [ebp - 0x1324]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41439c
call fcn.0041b722
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4135bd
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1388], eax
lea ecx, [ebp - 0x1388]
push ecx
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0x132c], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0x24
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.00406aa0
mov edx, dword [ebp - 0x1388]
push edx
lea eax, [ebp - 0x31c]
push str._InstallPackets__start_install___s_
push eax
call fcn.00402df0
lea ecx, [ebp - 0x31c]
push ecx
call fcn.0040d9d0
push esi
lea edx, [ebp - 0x1320]
push str._ws
push edx
call fcn.00402570
mov eax, dword [ebp - 0x1320]
mov edi, dword [ebp - 0x133c]
push eax
add edi, 0x94
push 0xff00
push edi
call fcn.00406c90
push 0x53f5d0
lea ecx, [ebp - 0x1324]
push ecx
lea edx, [ebp - 0x13ac]
push edx
call fcn.00404620
lea ecx, [ebp - 0x1340]
push ecx
push eax
lea edx, [ebp - 0x139c]
push edx
mov byte [ebp - 4], 0x25
call fcn.00406dc0
add esp, 0x48
mov ecx, dword [0x58f984]
mov eax, dword [eax]
push 1
push 0xffffffffffffffff
push ecx
push eax
mov byte [ebp - 4], 0x26
call fcn.00405900
mov ebx, eax
mov eax, dword [ebp - 0x139c]
add eax, 0xfffffff0
add esp, 0x10
mov byte [ebp - 4], 0x25
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414127
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x13ac]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x24
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41414d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x41424d
lea ecx, [ebp - 0x135c]
call fcn.004013c0
lea ecx, [ebp - 0x1360]
call fcn.004013c0
mov eax, dword [ebp - 0x1324]
lea ecx, [ebp - 0x135c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x132c], esp
mov ebx, esp
push eax
mov byte [ebp - 4], 0x28
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [ebx], eax
call fcn.00406aa0
mov eax, dword [ebp - 0x1340]
add esp, 8
lea edx, [ebp - 0x1360]
push edx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x132c], esp
mov ebx, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [ebx], eax
call fcn.00406aa0
mov eax, dword [ebp - 0x1360]
mov ecx, dword [ebp - 0x135c]
push eax
push ecx
lea edx, [ebp - 0x114]
push str._InstallPackets__install___s____s__success_
push edx
call fcn.00402df0
lea eax, [ebp - 0x114]
push eax
call fcn.0040d9d0
push esi
lea ecx, [ebp - 0x1320]
push 0x541350
push ecx
call fcn.00402570
mov edx, dword [ebp - 0x1320]
push edx
push 0xff00
push edi
call fcn.00406c90
mov eax, dword [ebp - 0x1360]
add eax, 0xfffffff0
add esp, 0x34
mov byte [ebp - 4], 0x27
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414242
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x135c]
jmp 0x414354
lea ecx, [ebp - 0x1358]
call fcn.004013c0
lea ecx, [ebp - 0x1378]
call fcn.004013c0
mov eax, dword [ebp - 0x1324]
lea ecx, [ebp - 0x1358]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x132c], esp
mov ebx, esp
push eax
mov byte [ebp - 4], 0x2a
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [ebx], eax
call fcn.00406aa0
mov eax, dword [ebp - 0x1340]
add esp, 8
lea edx, [ebp - 0x1378]
push edx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x132c], esp
mov ebx, esp
push eax
call fcn.00402000
add eax, 0x10
add esp, 4
mov dword [ebx], eax
call fcn.00406aa0
mov eax, dword [ebp - 0x1378]
mov ecx, dword [ebp - 0x1358]
push eax
push ecx
lea edx, [ebp - 0x218]
push str._InstallPackets__install___s____s__fail_
push edx
call fcn.00402df0
lea eax, [ebp - 0x218]
push eax
call fcn.0040d9d0
add esp, 0x1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea ecx, [ebp - 0x1320]
push 0x541300
push ecx
call fcn.00402570
mov edx, dword [ebp - 0x1320]
push edx
push 0xff
push edi
call fcn.00406c90
mov eax, dword [ebp - 0x1378]
add eax, 0xfffffff0
add esp, 0x1c
mov dword [ebp - 0x1370], 0
mov byte [ebp - 4], 0x29
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41434e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1358]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [ebp - 4], 0x24
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414374
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1388]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4143d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4143d8
push esi
lea ecx, [ebp - 0x1320]
push str._ws___r_n
push ecx
call fcn.00402570
mov edx, dword [ebp - 0x1320]
mov eax, dword [ebp - 0x133c]
push edx
add eax, 0x94
push 0xff
push eax
call fcn.00406c90
add esp, 0x18
mov dword [ebp - 0x1370], 0
mov ecx, dword [ebp - 0x1344]
cmp word [ebp + ecx*2 - 0x131a], 0
je 0x414408
mov eax, dword [ebp - 0x1344]
inc dword [ebp - 0x134c]
inc eax
mov dword [ebp - 0x1344], eax
cmp eax, dword [ebp - 0x13a4]
jb 0x413750
mov eax, dword [ebp - 0x1320]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41442e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1340]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414454
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1324]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41447a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1348]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4144a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1350]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4144c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1338]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4144ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41450c
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414532
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1370]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00514c0e
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x1320]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41457c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1340]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4145a2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1324]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4145c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1348]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4145ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1350]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414614
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1338]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41463a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41465a
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414680
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x414538