Function at 0x414eac
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc18
push ebx
push esi
push edi
mov ebx, str.Serv_U___d_
mov eax, 0x4b08cc
call fcn.0049d698
mov word [ebp - 0x38], 8
lea edx, [ebp - 0x20]
push edx
call fcn.00407174
pop ecx
lea eax, [ebx + 0x51b]
add dword [ebp - 0x2c], 2
mov word [ebp - 0x38], 0x14
push 0x4afe1c
lea ecx, [ebp - 0x274]
push 0x1ff
push ecx
push eax
lea edx, [ebx + 0x1c1]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
xor eax, eax
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
push edx
lea ecx, [ebp - 0x54]
push ecx
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebx + 0x523]
push ecx
lea eax, [ebp - 0x274]
push eax
call fcn.004a0114
imul edx, dword [ebp - 0x4c], 0xf4240
imul ecx, dword [ebp - 0x50], 0x2710
imul eax, dword [ebp - 0x54], 0x64
add edx, ecx
add esp, 0x18
add edx, eax
add edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x1f218d
jl 0x414fc7
lea edx, [ebx + 0x1c9]
push edx
call fcn.0049af74
pop ecx
push eax
lea ecx, [ebx + 0x1c9]
push ecx
lea eax, [ebp - 0x274]
push eax
call fcn.0049b040
add esp, 0xc
test eax, eax
je 0x414fa6
push 0x4afe1c
lea edx, [ebx + 0x1c9]
push edx
lea ecx, [ebx + 0x1c1]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
push 0xa0
lea eax, [ebp - 0x274]
push eax
push 0x7f9
mov edx, dword [ebp + 8]
push dword [edx + 0x5a]
call sub.USER32.dll_LoadStringA
lea ecx, [ebp - 0x274]
push ecx
push 0x12
push 0x403
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
push dword [edx + 0xc]
call sub.USER32.dll_SendMessageA
mov byte [ebp - 0x5d], 0
mov dword [ebp - 0x64], 1
xor esi, esi
xor eax, eax
push esi
push edi
mov edi, 0x4afe1c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x314]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x314]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x5c
push eax
call fcn.0049b085
add esp, 8
test eax, eax
je 0x415051
mov byte [eax + 1], 0
lea edx, [ebx + 0x52f]
push edx
lea ecx, [ebp - 0x314]
push ecx
call fcn.0049ae68
add esp, 8
push dword [ebp - 0x64]
lea eax, [ebx + 0x53c]
push eax
lea edx, [ebx + 0x49d]
push edx
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.004a00a0
add esp, 0x10
lea eax, [ebp - 0x274]
lea edx, [ebx + 0x4a7]
lea ecx, [ebp - 0x3e8]
push 0x4afe1c
push 0x9f
push eax
push edx
push ecx
lea eax, [ebx + 0x543]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x4a7]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpA
test eax, eax
je 0x415108
test esi, esi
jne 0x4150e9
lea eax, [ebx + 0x1a9]
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.0049e8f8
add esp, 8
mov esi, eax
test esi, esi
je 0x415108
lea eax, [ebp - 0x274]
lea edx, [ebx + 0x54d]
push eax
push edx
push esi
call fcn.0049e92c
add esp, 0xc
inc dword [ebp - 0x64]
jmp 0x415067
test esi, esi
je 0x415117
mov byte [ebp - 0x5d], 1
push esi
call fcn.0049e174
pop ecx
mov byte [ebp - 0x65], 0
mov word [ebp - 0x38], 0x14
mov dword [ebp - 0x64], 1
xor esi, esi
xor eax, eax
push esi
push edi
mov edi, 0x4afe1c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x3b4]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x3b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x5c
push eax
call fcn.0049b085
add esp, 8
test eax, eax
je 0x41516f
mov byte [eax + 1], 0
lea edx, [ebx + 0x551]
push edx
lea ecx, [ebp - 0x3b4]
push ecx
call fcn.0049ae68
add esp, 8
push dword [ebp - 0x64]
lea eax, [ebx + 0x55e]
push eax
lea edx, [ebx + 0x49d]
push edx
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.004a00a0
add esp, 0x10
lea eax, [ebp - 0x274]
lea edx, [ebx + 0x4a7]
lea ecx, [ebp - 0x3e8]
push 0x4afe1c
push 0x9f
push eax
push edx
push ecx
lea eax, [ebx + 0x543]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x4a7]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpA
test eax, eax
je 0x415226
test esi, esi
jne 0x415207
lea eax, [ebx + 0x1a9]
push eax
lea edx, [ebp - 0x3b4]
push edx
call fcn.0049e8f8
add esp, 8
mov esi, eax
test esi, esi
je 0x415226
lea eax, [ebp - 0x274]
lea edx, [ebx + 0x54d]
push eax
push edx
push esi
call fcn.0049e92c
add esp, 0xc
inc dword [ebp - 0x64]
jmp 0x415185
test esi, esi
je 0x415235
mov byte [ebp - 0x65], 1
push esi
call fcn.0049e174
pop ecx
push 0x4afe1c
lea ecx, [ebx + 0xb]
push ecx
push 0
lea eax, [ebx + 0x543]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
cmp byte [ebp - 0x5d], 0
jne 0x415258
cmp byte [ebp - 0x65], 0
je 0x4152b5
cmp byte [ebp - 0x5d], 0
jne 0x415265
mov byte [ebp - 0x314], 0
cmp byte [ebp - 0x65], 0
jne 0x415272
mov byte [ebp - 0x3b4], 0
lea edx, [ebp - 0x3b4]
push edx
lea ecx, [ebp - 0x314]
push ecx
lea eax, [ebx + 0x566]
push eax
lea edx, [ebp - 0x274]
push edx
call fcn.004a00a0
add esp, 0x10
lea ecx, [ebp - 0x274]
lea eax, [ebx + 0x56f]
lea edx, [ebx + 0x543]
push 0x4afe1c
push ecx
push eax
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
cmp dword [ebp - 0x5c], 0x1f218a
jl 0x4152fa
push 0x4afe1c
lea ecx, [ebx + 0x1c9]
push ecx
lea eax, [ebx + 0x1c1]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
push 0x4afe1c
lea edx, [ebx + 0x57d]
push edx
lea ecx, [ebp - 0x20]
push ecx
push dword [ebp + 8]
call fcn.00416d49
add esp, 0x10
lea eax, [ebx + 0x583]
lea edx, [ebp - 0x20]
push 0x4afe1c
push eax
push edx
push dword [ebp + 8]
call fcn.00416d49
add esp, 0x10
mov word [ebp - 0x38], 0x20
lea ecx, [ebp - 0x24]
push ecx
call fcn.004aa26c
pop ecx
inc dword [ebp - 0x2c]
mov word [ebp - 0x38], 0x14
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x20]
push edx
call fcn.004076e8
add esp, 8
test eax, eax
je 0x415427
push 0x4afe1c
lea ecx, [ebp - 0x274]
push 0x1ff
push ecx
lea eax, [ebx + 0x22]
lea edx, [ebx + 0x58a]
push eax
push edx
mov ecx, dword [ebp - 0x24]
push dword [ecx + 2]
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x28]
push eax
lea edx, [ebp - 0x274]
push edx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x4153db
lea ecx, [ebx + 0x2d]
push ecx
lea eax, [ebp - 0x274]
push eax
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x4153db
lea edx, [ebx + 0x31]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x4153db
lea eax, [ebx + 0x234]
push eax
lea edx, [ebp - 0x274]
push edx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x41540f
push 0x4afe1c
lea ecx, [ebx + 0x31]
push ecx
lea eax, [ebx + 0x598]
push eax
mov edx, dword [ebp - 0x24]
push dword [edx + 2]
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
lea ecx, [ebx + 0x58a]
push 0
push ecx
mov eax, dword [ebp - 0x24]
push dword [eax + 2]
call sub.KERNEL32.dll_WritePrivateProfileStringA
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x20]
push ecx
call fcn.0040771c
add esp, 8
test eax, eax
jne 0x415361
cmp dword [ebp - 0x5c], 0x1efa7f
jl 0x41547e
push 0x4afe1c
lea eax, [ebx + 0x1c9]
push eax
lea edx, [ebx + 0x1c1]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
dec dword [ebp - 0x2c]
push 2
lea eax, [ebp - 0x24]
push eax
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
push 0x4afe1c
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
lea eax, [ebx + 0x2d6]
push eax
push 0x4afe1c
call fcn.0049e8f8
add esp, 8
mov dword [ebp - 0x6c], eax
mov word [ebp - 0x38], 0x14
cmp dword [ebp - 0x6c], 0
jne 0x4154e2
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
push edi
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4afe1c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x314]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x314]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0x5c
push eax
call fcn.0049b085
add esp, 8
test eax, eax
jne 0x415552
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
mov byte [eax + 1], 0
push edi
xor eax, eax
lea edi, [ebp - 0x314]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x3b4]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebx + 0x5ab]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x314]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push eax
push edx
call fcn.0049ae68
add esp, 8
lea ecx, [ebx + 0x5b6]
push ecx
lea eax, [ebp - 0x3b4]
push eax
call fcn.0049ae68
add esp, 8
lea edx, [ebx + 0x1a9]
push edx
lea ecx, [ebp - 0x314]
push ecx
call fcn.0049e8f8
add esp, 8
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x41565a
dec dword [ebp - 0x2c]
push 2
lea eax, [ebp - 0x24]
push eax
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
lea eax, [ebp - 0x274]
push eax
call fcn.00454478
pop ecx
lea edx, [ebx + 0x5c1]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x415641
lea eax, [ebx + 0x1d2]
lea edx, [ebx + 0x5cc]
push eax
push edx
push dword [ebp - 0x70]
call fcn.0049e92c
add esp, 0xc
jmp 0x41565a
lea ecx, [ebp - 0x274]
lea eax, [ebx + 0x54d]
push ecx
push eax
push dword [ebp - 0x70]
call fcn.0049e92c
add esp, 0xc
push 0
push dword [ebp - 0x6c]
push pe_nt_image_headers32
lea edx, [ebp - 0x274]
push edx
call fcn.004543f8
add esp, 0x10
test eax, eax
jne 0x415602
push dword [ebp - 0x6c]
call fcn.0049e174
pop ecx
push dword [ebp - 0x70]
call fcn.0049e174
pop ecx
lea ecx, [ebp - 0x3b4]
push ecx
call fcn.004a1210
pop ecx
lea eax, [ebp - 0x3b4]
push eax
push 0x4afe1c
call fcn.004a1c6c
add esp, 8
push 0x4afe1c
lea edx, [ebp - 0x314]
push edx
call fcn.004a1c6c
add esp, 8
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x64], 0xffffffff
push 0x4afe1c
push 0x19
push ecx
lea eax, [ebx + 0x264]
push eax
lea edx, [ebx + 0x5d2]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebp - 0x64]
push eax
lea edx, [ebx + 0x267]
push edx
lea ecx, [ebp - 0x274]
push ecx
call fcn.004a0114
add esp, 0xc
cmp dword [ebp - 0x64], 0
jle 0x415729
push 0x4afe1c
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x1e5]
push edx
lea ecx, [ebx + 0x1d2]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
mov dword [ebp - 0x64], 0xffffffff
push 0x4afe1c
push 0x19
lea eax, [ebp - 0x314]
push eax
lea edx, [ebx + 0x264]
push edx
lea ecx, [ebx + 0x5de]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebp - 0x64]
push edx
lea ecx, [ebx + 0x267]
push ecx
lea eax, [ebp - 0x314]
push eax
call fcn.004a0114
add esp, 0xc
cmp dword [ebp - 0x64], 0
jle 0x4157c0
push 0x4afe1c
push pe_nt_image_headers32
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0xb]
push ecx
lea eax, [ebx + 0x5fe]
push eax
lea edx, [ebx + 0x5ef]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
je 0x4157c0
push 0x4afe1c
lea ecx, [ebp - 0x314]
push ecx
lea eax, [ebx + 0x1e5]
push eax
lea edx, [ebx + 0x5ef]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
mov dword [ebp - 0x64], 0xffffffff
push 0x4afe1c
push 0x19
lea ecx, [ebp - 0x314]
push ecx
lea eax, [ebx + 0x264]
push eax
lea edx, [ebx + 0x606]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebp - 0x64]
push eax
lea edx, [ebx + 0x267]
push edx
lea ecx, [ebp - 0x314]
push ecx
call fcn.004a0114
add esp, 0xc
cmp dword [ebp - 0x64], 0
jl 0x415857
push 0x4afe1c
push pe_nt_image_headers32
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0xb]
push edx
lea ecx, [ebx + 0x5fe]
push ecx
lea eax, [ebx + 0x5ef]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
je 0x415857
push 0x4afe1c
lea edx, [ebp - 0x314]
push edx
lea ecx, [ebx + 0x615]
push ecx
lea eax, [ebx + 0x5ef]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
cmp dword [ebp - 0x5c], 0x1ed30a
jl 0x4158ad
push 0x4afe1c
lea edx, [ebx + 0x1c9]
push edx
lea ecx, [ebx + 0x1c1]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
push 0x4afe1c
push 0x19
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0x28]
push ecx
lea eax, [ebx + 0x620]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x628]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x28]
push eax
lea edx, [ebx + 0x634]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x63c]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x28]
push edx
lea ecx, [ebx + 0x648]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0x655]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0x28]
push ecx
lea eax, [ebx + 0x666]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x675]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x22]
push eax
lea edx, [ebx + 0x688]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x697]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x22]
push edx
lea ecx, [ebx + 0x6aa]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0x6b8]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea edx, [ebp - 0x274]
push edx
lea ecx, [ebx + 0x28]
push ecx
lea eax, [ebx + 0x6ca]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x6d5]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0x19
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x22]
push eax
lea edx, [ebx + 0x6e4]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x4afe1c
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x6f4]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
cmp dword [ebp - 0x5c], 0x1ed2a0
jl 0x415af4
push 0x4afe1c
lea eax, [ebx + 0x1c9]
push eax
lea edx, [ebx + 0x1c1]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
dec dword [ebp - 0x2c]
push 2
lea eax, [ebp - 0x24]
push eax
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
push 0x4afe1c
lea eax, [ebx + 0x2d]
push eax
lea edx, [ebx + 0x248]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push dword [ebp + 8]
call fcn.004168d5
cmp dword [ebp - 0x5c], 0x1eab93
pop ecx
jl 0x415b6d
push 0x4afe1c
lea eax, [ebx + 0x1c9]
push eax
lea edx, [ebx + 0x1c1]
push edx
lea ecx, [ebx + 0xc]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
dec dword [ebp - 0x2c]
push 2
lea eax, [ebp - 0x24]
push eax
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
push 0x4afe1c
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
lea eax, [ebx + 0x2d6]
push eax
push 0x4afe1c
call fcn.0049e8f8
add esp, 8
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x415bcb
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
push edi
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4afe1c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x314]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x314]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0x5c
push eax
call fcn.0049b085
add esp, 8
test eax, eax
jne 0x415c3b
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
jmp 0x41600a
mov byte [eax + 1], 0
push edi
xor eax, eax
lea edi, [ebp - 0x314]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x3b4]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebx + 0x5ab]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x314]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push eax
push edx
call fcn.0049ae68
add esp, 8
lea ecx, [ebx + 0x5b6]
push ecx
lea eax, [ebp - 0x3b4]
push eax
call fcn.0049ae68
add esp, 8
lea edx, [ebx + 0x1a9]
push edx
lea ecx, [ebp - 0x314]
push ecx
call fcn.0049e8f8
add esp, 8
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x415ce7
dec dword [ebp - 0x2c]
push 2
lea eax, [ebp - 0x24]
push eax
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00407354
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword fs:[0], ecx
jmp 0x41600a
xor eax, eax
mov dword [ebp - 0x74], eax
mov word [ebp - 0x38], 0x14
cmp dword [ebp - 0x74], 0
jne 0x415e5d
xor esi, esi
jmp 0x415d0a
mov eax, edi
mov byte [ebp + esi - 0x274], al
inc esi
cmp esi, 0x1f6
jge 0x415d25
push dword [ebp - 0x6c]
call fcn.004a1218
pop ecx
mov edi, eax
inc eax
je 0x415d25
cmp edi, 0xa
jne 0x415d00
test esi, esi
jne 0x415d35
cmp edi, 0xffffffff
jne 0x415d35
mov dword [ebp - 0x74], 1
cmp esi, 0x1f6
jge 0x415d47
mov byte [ebp + esi - 0x274], 0
jmp 0x415d4e
mov byte [ebp - 0x17b], 0
lea edx, [ebx + 0x708]
push edx
call fcn.0049af74
pop ecx
push eax
lea ecx, [ebp - 0x274]
push ecx
lea eax, [ebx + 0x708]
push eax
call fcn.0049b1d0
add esp, 0xc
test eax, eax
jne 0x415db7
lea edx, [ebp - 0x274]
push edx
call fcn.0049af74
pop ecx
movsx ecx, byte [ebp + eax - 0x275]
cmp ecx, 0x2c
je 0x415db7
cmp dword [ebp - 0x4c], 2
jge 0x415db7
mov byte [ebp + eax - 0x274], 0x4c
mov byte [ebp + eax - 0x273], 0
inc eax
mov byte [ebp + eax - 0x274], 0x50
mov byte [ebp + eax - 0x273], 0
lea eax, [ebx + 0x54f]
push eax
lea edx, [ebp - 0x274]
push edx
call fcn.0049ae68
add esp, 8
lea ecx, [ebp - 0x274]
push dword [ebp - 0x70]
push ecx
call fcn.0049af74
pop ecx
push eax
push 1
lea eax, [ebp - 0x274]
push eax
call fcn.0049ed28
add esp, 0x10
mov esi, eax
lea eax, [ebp - 0x274]
push eax
call fcn.0049af74
pop ecx
cmp esi, eax
je 0x415e53
push dword [ebp - 0x6c]
call fcn.0049e174
pop ecx
push dword [ebp - 0x70]
call fcn.0049e174
pop ecx
lea edx, [ebp - 0x314]
push edx
call fcn.004a1210
pop ecx
dec dword [ebp - 0x2c]
push 2
lea ecx, [ebp - 0x24]
push ecx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea eax, [ebp - 0x20]
push eax
call fcn.00407354
add esp, 8
mov edx, dword [ebp - 0x48]
mov dword fs:[0], edx
jmp 0x41600a
cmp dword [ebp - 0x74], 0
je 0x415cfc
push dword [ebp - 0x6c]
call fcn.0049e174
pop ecx
push dword [ebp - 0x70]
call fcn.0049e174
pop ecx
lea ecx, [ebp - 0x3b4]
push ecx
call fcn.004a1210
pop ecx
lea eax, [ebp - 0x3b4]
push eax
push 0x4afe1c
call fcn.004a1c6c
add esp, 8
push 0x4afe1c
lea edx, [ebp - 0x314]
push edx
call fcn.004a1c6c
add esp, 8
lea ecx, [ebp - 0x274]
lea eax, [ebx + 0xb]
lea edx, [ebx + 0x5fe]
push 0x4afe1c
push pe_nt_image_headers32
push ecx
push eax
push edx
lea ecx, [ebx + 0x5ef]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
je 0x415f84
push 0x4afe1c
push pe_nt_image_headers32
lea eax, [ebp - 0x274]
push eax
lea edx, [ebx + 0x28]
push edx
lea ecx, [ebx + 0x70f]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x28]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x415f4c
lea eax, [ebx + 0x2d]
push eax
lea edx, [ebp - 0x274]
push edx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x415f4c
lea ecx, [ebx + 0x31]
push ecx
lea eax, [ebp - 0x274]
push eax
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x415f4c
lea edx, [ebx + 0x234]
push edx
lea ecx, [ebp - 0x274]
push ecx
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x415f68
push 0x4afe1c
lea eax, [ebx + 0x2d]
push eax
lea edx, [ebx + 0x713]
push edx
lea ecx, [ebx + 0x5ef]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
lea eax, [ebx + 0x2d]
push eax
lea edx, [ebx + 0x71c]
push edx
lea ecx, [ebx + 0x5ef]
push ecx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0
lea eax, [ebx + 0x70f]
push eax
lea edx, [ebx + 0xc]
push edx
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0
lea ecx, [ebx + 0x727]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
lea edx, [ebx + 0x1c9]
push edx
lea ecx, [ebx + 0x1c1]
push ecx
lea eax, [ebx + 0xc]
push eax
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0x4afe1c
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
dec dword [ebp - 0x2c]
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.004aac40
add esp, 8
sub dword [ebp - 0x2c], 2
push 2
lea ecx, [ebp - 0x20]
push ecx
call fcn.00407354
add esp, 8
mov eax, dword [ebp - 0x48]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret