Function at 0x401d60
Capabilities:
Enumerate files on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44042b
mov eax, dword fs:[0]
push eax
mov eax, 0x1d54
call fcn.0042ee40
mov eax, dword [0x454688]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1d60], ecx
mov dword [ebp - 0x228], 1
mov eax, dword [ebp - 0x1d60]
mov dword [eax + 0x4f98], 0
mov ecx, dword [ebp - 0x1d60]
mov dword [ecx + 0x4f9c], 1
mov dword [ebp - 0x650], 0
mov ecx, dword [ebp - 0x1d60]
call fcn.00403400
test eax, eax
je 0x401dea
mov edx, dword [ebp - 0x1d60]
mov dword [edx + 0x4f98], 1
jmp 0x401dfa
mov eax, dword [ebp - 0x1d60]
mov dword [eax + 0x4f98], 0
mov ecx, dword [ebp - 0x1d60]
cmp dword [ecx + 0x53b8], 0
jne 0x401e23
mov ecx, dword [ebp - 0x1d60]
call fcn.004030b0
test eax, eax
jne 0x401e23
mov eax, dword [ebp - 0x228]
jmp 0x402f5e
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x4fa4
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x104
mov edx, dword [ebp - 0x1d60]
add edx, 0x852
push edx
push 0
push 0x449194
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x401ec0
push 0x104
mov eax, dword [ebp - 0x1d60]
add eax, 0x852
push eax
push 0x6a
mov ecx, dword [ebp - 0x1d60]
call fcn.00401040
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [ebp - 0x1d60]
movzx edx, word [ecx + 0x852]
test edx, edx
jne 0x401ec0
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x1d60]
add eax, 0x2c
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
push 0
push str.ProductFile
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x401f03
mov dword [ebp - 0x228], 0
jmp 0x401f20
lea edx, [ebp - 0x10b4]
push edx
push 0x105
mov eax, dword [ebp - 0x1d60]
add eax, 0x43e
push eax
call fcn.00401730
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
push 0
push 0x44918c
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x401f63
mov dword [ebp - 0x228], 0
jmp 0x401f81
lea eax, [ebp - 0x10b4]
push eax
push 0x105
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x648
push ecx
call fcn.00401730
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x104
mov eax, dword [ebp - 0x1d60]
add eax, 0xc62
push eax
push 0
push 0x4491cc
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x401fc7
mov dword [ebp - 0x228], 0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x1074
push edx
push 0
push str.Supplement
push 0x44915c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x40210d
mov dword [ebp - 0x1d54], 0
push 0x24c
push 0
lea eax, [ebp - 0x1d50]
push eax
call fcn.0042ca00
add esp, 0xc
mov ecx, dword [ebp - 0x1d60]
add ecx, 0xe6a
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.004016e0
push str.Supplement.msi
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.00401730
lea ecx, [ebp - 0x1d54]
push ecx
lea edx, [ebp - 0x10b4]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x1d58], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x4020fe
cmp dword [ebp - 0x1d58], 0xffffffff
je 0x4020fe
cmp dword [ebp - 0x1d58], 0xffffffff
jne 0x4020a1
jmp 0x4020fe
lea eax, [ebp - 0x1d28]
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1074
push ecx
call fcn.00401730
push 0x449300
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x1074
push edx
call fcn.00401730
mov dword [ebp - 0x228], 1
lea eax, [ebp - 0x1d54]
push eax
mov ecx, dword [ebp - 0x1d58]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
jmp 0x402076
mov edx, dword [ebp - 0x1d58]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x402184
mov eax, dword [ebp - 0x1d60]
add eax, 0xe6a
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.004016e0
push 0x449304
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.00401730
mov eax, dword [ebp - 0x1d60]
add eax, 0x1074
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.00401730
lea edx, [ebp - 0x10b4]
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x1074
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0
push str.SilentProgress
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x868], eax
push 0x44931c
push 0x105
lea edx, [ebp - 0x14d4]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x3104
push eax
push 0x105
lea ecx, [ebp - 0x14d4]
push ecx
call fcn.00401730
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x1486
push eax
push 0
lea ecx, [ebp - 0x14d4]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402242
push 0x449324
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x1486
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x4022dc
mov eax, dword [ebp - 0x1d60]
add eax, 0x1898
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x1486
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.00401730
lea ecx, [ebp - 0x10b4]
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x1486
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x1486
push eax
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x4022d2
push 0x449330
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1486
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
push str.MSXML6
push 0x105
lea edx, [ebp - 0x18f4]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x3104
push eax
push 0x105
lea ecx, [ebp - 0x18f4]
push ecx
call fcn.00401730
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x20bc
push eax
push 0
lea ecx, [ebp - 0x18f4]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402378
push 0x44934c
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x20bc
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x40241d
mov eax, dword [ebp - 0x1d60]
add eax, 0x1898
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x20bc
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.00401730
lea ecx, [ebp - 0x10b4]
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x20bc
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x20bc
push eax
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402408
push 0x449358
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x20bc
push ecx
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
call fcn.00403a70
mov dword [ebp - 0x228], 1
push str.ProductCode
push 0x105
lea edx, [ebp - 0x864]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x2c
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x24ce
push ecx
push 0
lea edx, [ebp - 0x864]
push edx
push str.WATransform
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402497
push 0x44937c
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x24ce
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
push str.ProductLanguage
push 0x105
lea ecx, [ebp - 0xa7c]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x28e0
push eax
push 0
lea ecx, [ebp - 0xa7c]
push ecx
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402511
push 0x4493a8
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x28e0
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
lea ecx, [ebp - 0xea0]
call fcn.004050e0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1d60]
add eax, 0x28e0
push eax
push 0x4493b4
lea ecx, [ebp - 0xea0]
push ecx
call fcn.004061f0
add esp, 0xc
push str.LanguageMST
push 0x105
lea edx, [ebp - 0x64c]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x2c
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2cf2
push ecx
push 0
lea edx, [ebp - 0x64c]
push edx
push 0x449150
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x4025bd
push 0x4493d4
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x2cf2
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
mov dword [ebp - 0x228], 1
push str.InstMsi
push 0x105
lea ecx, [ebp - 0x1b04]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x3104
push edx
push 0x105
lea eax, [ebp - 0x1b04]
push eax
call fcn.00401730
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x1caa
push edx
push 0
lea eax, [ebp - 0x1b04]
push eax
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402665
push 0x4493f0
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1caa
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x40270b
mov edx, dword [ebp - 0x1d60]
add edx, 0x1898
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1caa
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.00401730
lea eax, [ebp - 0x10b4]
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1caa
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x1caa
push edx
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x4026f6
push 0x4493fc
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x1caa
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
call fcn.00404160
mov dword [ebp - 0x228], 1
push str.RuntimeName
push 0x105
lea ecx, [ebp - 0x16e4]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x105
mov eax, dword [ebp - 0x1d60]
add eax, 0x330c
push eax
push 0
lea ecx, [ebp - 0x16e4]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402787
push 0x449420
push 0x105
mov edx, dword [ebp - 0x1d60]
add edx, 0x330c
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402791
mov dword [ebp - 0x228], 1
push str.RuntimeFolder
push 0x105
lea eax, [ebp - 0x224]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x3b30
push edx
push 0
lea eax, [ebp - 0x224]
push eax
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x40280e
push 0x449448
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3b30
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402872
mov edx, dword [ebp - 0x1d60]
add edx, 0x1898
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3b30
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.00401730
lea eax, [ebp - 0x10b4]
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3b30
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
push str.RuntimeCode
push 0x105
lea edx, [ebp - 0x12c4]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x3104
push eax
push 0x105
lea ecx, [ebp - 0x12c4]
push ecx
call fcn.00401730
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x104
mov eax, dword [ebp - 0x1d60]
add eax, 0x3516
push eax
push 0
lea ecx, [ebp - 0x12c4]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x40290b
push 0x44946c
push 0x104
mov edx, dword [ebp - 0x1d60]
add edx, 0x3516
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402915
mov dword [ebp - 0x228], 1
push str.RuntimeFile
push 0x105
lea eax, [ebp - 0xe9c]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3104
push ecx
push 0x105
lea edx, [ebp - 0xe9c]
push edx
call fcn.00401730
mov eax, dword [ebp - 0x1d60]
add eax, 0x2c
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x371e
push ecx
push 0
lea edx, [ebp - 0xe9c]
push edx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x4029b2
push 0x449490
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x371e
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402aa3
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x1898
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x371e
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.00401730
lea edx, [ebp - 0x10b4]
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x371e
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x371e
push ecx
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402a44
push 0x44949c
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x371e
push edx
call fcn.004016e0
jmp 0x402a99
mov ecx, dword [ebp - 0x1d60]
call fcn.00404440
mov eax, dword [ebp - 0x1d60]
add eax, 0x3b30
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4fa4
push ecx
call fcn.004016e0
push str.Setup.ini
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4fa4
push edx
call fcn.00401730
mov ecx, dword [ebp - 0x1d60]
call fcn.00404650
mov dword [ebp - 0x228], 1
push str.SQLCLR32
push 0x105
lea eax, [ebp - 0xc8c]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x2c
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4354
push edx
push 0
lea eax, [ebp - 0xc8c]
push eax
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402b23
push 0x4494d4
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4354
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402bbe
mov edx, dword [ebp - 0x1d60]
add edx, 0x1898
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4354
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.00401730
lea eax, [ebp - 0x10b4]
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4354
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x4354
push edx
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402bb4
push 0x4494e0
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x4354
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
push str.SQLCLR64
push 0x105
lea ecx, [ebp - 0xc8c]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x4766
push eax
push 0
lea ecx, [ebp - 0xc8c]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402c3d
push 0x449500
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4766
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402cd7
mov eax, dword [ebp - 0x1d60]
add eax, 0x1898
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x4766
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.00401730
lea ecx, [ebp - 0x10b4]
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4766
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x4766
push eax
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402ccd
push 0x44950c
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4766
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
mov ecx, dword [ebp - 0x1d60]
call fcn.00403e10
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x3f42
push eax
push 0
push str.Patch
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402d49
push 0x449524
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3f42
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402de4
mov edx, dword [ebp - 0x1d60]
add edx, 0x1898
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3f42
push ecx
push 0x105
lea edx, [ebp - 0x10b4]
push edx
call fcn.00401730
lea eax, [ebp - 0x10b4]
push eax
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x3f42
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x3f42
push edx
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402dda
push 0x449530
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x3f42
push eax
call fcn.004016e0
mov dword [ebp - 0x228], 1
mov ecx, dword [ebp - 0x1d60]
call fcn.00403bb0
push str.PrerequisiteChecker
push 0x105
lea ecx, [ebp - 0x43c]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x2c
push edx
push 0x209
mov eax, dword [ebp - 0x1d60]
add eax, 0x4b78
push eax
push 0
lea ecx, [ebp - 0x43c]
push ecx
push 0x44911c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 0
jne 0x402e6e
push 0x449564
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4b78
push edx
call fcn.004016e0
mov dword [ebp - 0x228], 1
jmp 0x402f08
mov eax, dword [ebp - 0x1d60]
add eax, 0x1898
push eax
push 0x105
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.004016e0
mov edx, dword [ebp - 0x1d60]
add edx, 0x4b78
push edx
push 0x105
lea eax, [ebp - 0x10b4]
push eax
call fcn.00401730
lea ecx, [ebp - 0x10b4]
push ecx
push 0x209
mov edx, dword [ebp - 0x1d60]
add edx, 0x4b78
push edx
call fcn.004016e0
mov eax, dword [ebp - 0x1d60]
add eax, 0x4b78
push eax
mov ecx, dword [ebp - 0x1d60]
call fcn.004031c0
test eax, eax
jne 0x402efe
push 0x449570
push 0x209
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x4b78
push ecx
call fcn.004016e0
mov dword [ebp - 0x228], 1
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x1d60]
call fcn.0040bfc8
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x1d60]
add ecx, 0x14
call fcn.0040bfc8
mov ecx, dword [ebp - 0x1d60]
call fcn.00404650
mov edx, dword [ebp - 0x1d60]
mov eax, dword [edx + 0x4f98]
mov dword [ebp - 0x1d5c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xea0]
call fcn.00401130
mov eax, dword [ebp - 0x1d5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004296c6
mov esp, ebp
pop ebp
ret