Function at 0x4296b4
Capabilities:
Get common file path
Query or enumerate registry value
Read .ini file
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4612d7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa28
push esi
push edi
mov dword [ebp - 0x95c], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x47577c
push 0x475788
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xe38], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
push 0x475790
push 0x47579c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x64
div ecx
sub eax, 1
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0xe3c], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea eax, [ebp - 0x398]
push eax
push 0x479a08
push 0x4757a4
push 0x4757b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x4297ae
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea ecx, [ebp - 0x398]
push ecx
push 0x479a0c
push 0x4757b8
push 0x4757c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x8e4], esp
lea edx, [ebp - 0x398]
push edx
call fcn.0045518e
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x954
call fcn.00406103
mov word [ebp - 0x964], ax
mov eax, dword [ebp - 0x964]
and eax, 0xffff
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xd5c], eax
mov edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0xd5c]
mov dword [edx + 0xe4c], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4757cc
push 0x4757d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 1
jne 0x4298b0
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4757e0
push 0x4757ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x544], eax
cmp dword [ebp - 0x544], 1
jne 0x42988d
push 1
mov ecx, dword [ebp - 0x95c]
add ecx, 0xd20
call fcn.0041b970
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0xd74], 1
jmp 0x4298b0
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0xd20
call fcn.0041b970
mov eax, dword [ebp - 0x95c]
mov dword [eax + 0xd74], 0
mov dword [ebp - 0x10], 0x4757f4
lea ecx, [ebp - 0x530]
push ecx
push 0x20019
push 0
mov edx, dword [ebp - 0x10]
push edx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4298f3
push 0x479a10
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.004552a9
mov dword [ebp - 0x1f0], 0x104
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x120]
push ecx
push 0
push 0
push 0x47581c
mov edx, dword [ebp - 0x530]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x429942
push 0x479a14
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.004552a9
jmp 0x42995a
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.004552a9
mov ecx, dword [ebp - 0x530]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.00402230
test eax, eax
je 0x429b96
push 0x479a18
lea ecx, [ebp - 0x660]
call fcn.0045518e
mov dword [ebp - 4], 0
push 0x479a1c
lea ecx, [ebp - 0x65c]
call fcn.0045518e
mov byte [ebp - 4], 1
push 0
push 5
lea edx, [ebp - 0x64c]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4299d4
lea eax, [ebp - 0x64c]
push eax
lea ecx, [ebp - 0x65c]
call fcn.004552a9
mov ecx, dword [ebp - 0x95c]
cmp dword [ecx + 0xd74], 0
je 0x429a23
mov edx, dword [ebp - 0x65c]
push edx
push str._sSWScan00001.jp2
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0xc
mov ecx, dword [ebp - 0x65c]
push ecx
push str._sSWScan.jp2
lea edx, [ebp - 0x660]
push edx
call fcn.0044fdfe
add esp, 0xc
jmp 0x429aa8
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0x48], 0
je 0x429a6d
mov ecx, dword [ebp - 0x65c]
push ecx
push 0x47584c
mov edx, dword [ebp - 0x95c]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0xc
mov eax, dword [ebp - 0x65c]
push eax
push 0x475860
lea ecx, [ebp - 0x660]
push ecx
call fcn.0044fdfe
add esp, 0xc
jmp 0x429aa8
mov edx, dword [ebp - 0x65c]
push edx
push 0x475870
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0xc
mov ecx, dword [ebp - 0x65c]
push ecx
push 0x475884
lea edx, [ebp - 0x660]
push edx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x660]
call fcn.00402270
push eax
mov ecx, 0x479850
call fcn.0041f5d1
lea eax, [ebp - 0x530]
push eax
push 0x20006
push 0
mov ecx, dword [ebp - 0x10]
push ecx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x650], eax
push 0
lea ecx, [ebp - 0x660]
call fcn.004554dc
mov dword [ebp - 0x548], eax
mov edx, dword [ebp - 0x548]
push edx
call fcn.004431c0
add esp, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x548]
push ecx
push 1
push 0
push 0x475894
mov edx, dword [ebp - 0x530]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x530]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x8cc], 1
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4758a0
push 0x4758a4
push 0x4758b0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x660]
call fcn.00455120
jmp 0x42a398
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4758b8
push 0x4758c4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x8cc], eax
mov dword [ebp - 0x664], 1
lea ecx, [ebp - 0x66c]
call fcn.00402210
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
lea ecx, [ebp - 0x66c]
call fcn.00455259
push 0x2e
lea ecx, [ebp - 0x66c]
call fcn.0044fa9b
push eax
lea ecx, [ebp - 0x8e8]
push ecx
lea ecx, [ebp - 0x66c]
call fcn.0044fa23
mov dword [ebp - 0x968], eax
mov edx, dword [ebp - 0x968]
mov dword [ebp - 0x96c], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x96c]
push eax
lea ecx, [ebp - 0x66c]
call fcn.00455259
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8e8]
call fcn.00455120
lea ecx, [ebp - 0x66c]
call fcn.00402880
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x668], 1
jmp 0x429c75
mov ecx, dword [ebp - 0x668]
add ecx, 1
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 6
jge 0x429d44
push 1
lea edx, [ebp - 0x8ec]
push edx
lea ecx, [ebp - 0x66c]
call fcn.0044f9a7
mov dword [ebp - 0x970], eax
mov eax, dword [ebp - 0x970]
mov ecx, dword [eax]
push ecx
push 0x4758cc
lea edx, [ebp - 0x670]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x8ec]
call fcn.00455120
movsx eax, byte [ebp - 0x670]
cmp eax, 0x30
jl 0x429cdd
movsx ecx, byte [ebp - 0x670]
cmp ecx, 0x39
jle 0x429ce9
mov dword [ebp - 0x664], 0
jmp 0x429d44
mov edx, dword [ebp - 0x674]
sub edx, dword [ebp - 0x668]
push edx
lea eax, [ebp - 0x8f0]
push eax
lea ecx, [ebp - 0x66c]
call fcn.0044fa23
mov dword [ebp - 0x974], eax
mov ecx, dword [ebp - 0x974]
mov dword [ebp - 0x978], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x978]
push edx
lea ecx, [ebp - 0x66c]
call fcn.00455259
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8f0]
call fcn.00455120
jmp 0x429c66
cmp dword [ebp - 0x664], 0
jne 0x42a00e
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0x8cc], 0
je 0x42a00e
lea ecx, [ebp - 0x678]
call fcn.00402210
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.00402880
mov dword [ebp - 0x67c], eax
push 0x2e
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044fa9b
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x67c]
sub ecx, dword [ebp - 0x688]
sub ecx, 1
push ecx
lea edx, [ebp - 0x8f4]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044f9a7
mov dword [ebp - 0x97c], eax
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x980], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x980]
push ecx
lea ecx, [ebp - 0x678]
call fcn.00455259
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8f4]
call fcn.00455120
mov edx, dword [ebp - 0x688]
push edx
lea eax, [ebp - 0x680]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044fa23
mov byte [ebp - 4], 7
push 0x4758d0
lea ecx, [ebp - 0x680]
call fcn.00455488
lea ecx, [ebp - 0x684]
call fcn.00402210
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0x8cc]
push edx
push 0x4758d8
lea eax, [ebp - 0x684]
push eax
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x680]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x684]
call fcn.00402880
sub esi, eax
push esi
lea ecx, [ebp - 0x8f8]
push ecx
lea ecx, [ebp - 0x680]
call fcn.0044fa23
mov dword [ebp - 0x984], eax
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x988], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x988]
push eax
lea ecx, [ebp - 0x680]
call fcn.00455259
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x8f8]
call fcn.00455120
push 0x4758dc
lea ecx, [ebp - 0x678]
call fcn.00402280
test eax, eax
jne 0x429f10
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0x8cc]
push edx
mov eax, dword [ebp - 0x680]
push eax
push 0x4758e0
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
push ecx
call fcn.0044fdfe
add esp, 0x10
jmp 0x429fdc
push 0x4758ec
lea ecx, [ebp - 0x678]
call fcn.00402280
test eax, eax
jne 0x429f57
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0x8cc]
push eax
mov ecx, dword [ebp - 0x680]
push ecx
push 0x4758f0
mov edx, dword [ebp - 0x95c]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0x10
jmp 0x429fdc
push 0x4758fc
lea ecx, [ebp - 0x678]
call fcn.00402280
test eax, eax
jne 0x429f9a
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8cc]
push ecx
mov edx, dword [ebp - 0x680]
push edx
push 0x475900
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0x10
jmp 0x429fdc
push 0x47590c
lea ecx, [ebp - 0x678]
call fcn.00402280
test eax, eax
jne 0x429fdc
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0x8cc]
push edx
mov eax, dword [ebp - 0x680]
push eax
push 0x475910
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
push ecx
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x684]
call fcn.00455120
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x680]
call fcn.00455120
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x678]
call fcn.00455120
jmp 0x42a386
cmp dword [ebp - 0x664], 0
je 0x42a386
mov edx, dword [ebp - 0x95c]
cmp dword [edx + 0x8cc], 0
je 0x42a386
lea ecx, [ebp - 0x68c]
call fcn.00402210
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.00402880
mov dword [ebp - 0x690], eax
push 0x2e
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044fa9b
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x69c]
sub eax, 1
push eax
lea ecx, [ebp - 0x8fc]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044f9a7
mov dword [ebp - 0x98c], eax
mov edx, dword [ebp - 0x98c]
mov dword [ebp - 0x990], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x990]
push eax
lea ecx, [ebp - 0x68c]
call fcn.00455259
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8fc]
call fcn.00455120
lea ecx, [ebp - 0x694]
call fcn.00402210
mov byte [ebp - 4], 0xc
push 0x47591c
lea ecx, [ebp - 0x68c]
call fcn.00402280
test eax, eax
jne 0x42a14a
mov ecx, dword [ebp - 0x69c]
sub ecx, 5
push ecx
lea edx, [ebp - 0x900]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044fa23
mov dword [ebp - 0x994], eax
mov eax, dword [ebp - 0x994]
mov dword [ebp - 0x998], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x998]
push ecx
lea ecx, [ebp - 0x694]
call fcn.00455259
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x900]
call fcn.00455120
jmp 0x42a1a3
mov edx, dword [ebp - 0x69c]
sub edx, 5
push edx
lea eax, [ebp - 0x904]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
call fcn.0044fa23
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a0], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x9a0]
push edx
lea ecx, [ebp - 0x694]
call fcn.00455259
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x904]
call fcn.00455120
push 0x475920
lea ecx, [ebp - 0x694]
call fcn.00455488
lea ecx, [ebp - 0x698]
call fcn.00402210
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8cc]
push ecx
push 0x475928
lea edx, [ebp - 0x698]
push edx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x694]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x698]
call fcn.00402880
sub esi, eax
push esi
lea eax, [ebp - 0x908]
push eax
lea ecx, [ebp - 0x694]
call fcn.0044fa23
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a8], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x9a8]
push edx
lea ecx, [ebp - 0x694]
call fcn.00455259
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x908]
call fcn.00455120
push 0x47592c
lea ecx, [ebp - 0x68c]
call fcn.00402280
test eax, eax
jne 0x42a28d
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8cc]
push ecx
mov edx, dword [ebp - 0x694]
push edx
push 0x475930
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0x10
jmp 0x42a359
push 0x47593c
lea ecx, [ebp - 0x68c]
call fcn.00402280
test eax, eax
jne 0x42a2d4
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0x8cc]
push edx
mov eax, dword [ebp - 0x694]
push eax
push str._s_d.jpg
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe48
push ecx
call fcn.0044fdfe
add esp, 0x10
jmp 0x42a359
push 0x47594c
lea ecx, [ebp - 0x68c]
call fcn.00402280
test eax, eax
jne 0x42a318
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0x8cc]
push eax
mov ecx, dword [ebp - 0x694]
push ecx
push str._s_d.jp2
mov edx, dword [ebp - 0x95c]
add edx, 0xe48
push edx
call fcn.0044fdfe
add esp, 0x10
jmp 0x42a359
push 0x47595c
lea ecx, [ebp - 0x68c]
call fcn.00402280
test eax, eax
jne 0x42a359
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8cc]
push ecx
mov edx, dword [ebp - 0x694]
push edx
push 0x475960
mov eax, dword [ebp - 0x95c]
add eax, 0xe48
push eax
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x698]
call fcn.00455120
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x694]
call fcn.00455120
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x68c]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x66c]
call fcn.00455120
mov dword [ebp - 0x10], 0x479a20
mov dword [ebp - 0x10], 0x47596c
lea ecx, [ebp - 0x530]
push ecx
push 0x20019
push 0
mov edx, dword [ebp - 0x10]
push edx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x42a3e8
push 0x479a24
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.004552a9
mov dword [ebp - 0x1f0], 0x104
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x120]
push ecx
push 0
push 0
push 0x475990
mov edx, dword [ebp - 0x530]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
je 0x42a43d
push 0x479a28
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.004552a9
jmp 0x42a455
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.004552a9
mov ecx, dword [ebp - 0x530]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.00402230
test eax, eax
je 0x42a5e3
push 0x479a2c
lea ecx, [ebp - 0x7b8]
call fcn.0045518e
mov dword [ebp - 4], 0x11
push 0x479a30
lea ecx, [ebp - 0x7b4]
call fcn.0045518e
mov byte [ebp - 4], 0x12
push 0
push 5
lea edx, [ebp - 0x7a4]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x42a4cf
lea eax, [ebp - 0x7a4]
push eax
lea ecx, [ebp - 0x7b4]
call fcn.004552a9
mov ecx, dword [ebp - 0x7b4]
push ecx
push 0x47599c
mov edx, dword [ebp - 0x95c]
add edx, 0xe40
push edx
call fcn.0044fdfe
add esp, 0xc
mov eax, dword [ebp - 0x7b4]
push eax
push 0x4759ac
lea ecx, [ebp - 0x7b8]
push ecx
call fcn.0044fdfe
add esp, 0xc
lea edx, [ebp - 0x530]
push edx
push 0x20006
push 0
mov eax, dword [ebp - 0x10]
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x7ac], eax
push 0
lea ecx, [ebp - 0x7b8]
call fcn.004554dc
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x6a0]
push ecx
call fcn.004431c0
add esp, 4
mov dword [ebp - 0x7a8], eax
mov edx, dword [ebp - 0x7a8]
push edx
mov eax, dword [ebp - 0x6a0]
push eax
push 1
push 0
push 0x4759b8
mov ecx, dword [ebp - 0x530]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 0x7b0], eax
mov edx, dword [ebp - 0x530]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, 0x479910
call fcn.00402270
push eax
push 0x4759c4
push 0x4759c8
push 0x4759d4
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x95c]
mov dword [eax + 0x8d0], 1
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x7b4]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7b8]
call fcn.00455120
jmp 0x42aa44
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x4759d8
push 0x4759e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x8d0], eax
mov dword [ebp - 0x7bc], 1
lea ecx, [ebp - 0x7c4]
call fcn.00402210
mov dword [ebp - 4], 0x13
mov edx, dword [ebp - 0x95c]
add edx, 0xe40
push edx
lea ecx, [ebp - 0x7c4]
call fcn.00455259
lea ecx, [ebp - 0x7c4]
call fcn.00402880
sub eax, 4
push eax
lea eax, [ebp - 0x90c]
push eax
lea ecx, [ebp - 0x7c4]
call fcn.0044fa23
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9ac]
mov dword [ebp - 0x9b0], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x9b0]
push edx
lea ecx, [ebp - 0x7c4]
call fcn.00455259
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x90c]
call fcn.00455120
lea ecx, [ebp - 0x7c4]
call fcn.00402880
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 0x7c0], 1
jmp 0x42a6c4
mov eax, dword [ebp - 0x7c0]
add eax, 1
mov dword [ebp - 0x7c0], eax
cmp dword [ebp - 0x7c0], 6
jge 0x42a793
push 1
lea ecx, [ebp - 0x910]
push ecx
lea ecx, [ebp - 0x7c4]
call fcn.0044f9a7
mov dword [ebp - 0x9b4], eax
mov edx, dword [ebp - 0x9b4]
mov eax, dword [edx]
push eax
push 0x4759e8
lea ecx, [ebp - 0x7c8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x910]
call fcn.00455120
movsx edx, byte [ebp - 0x7c8]
cmp edx, 0x30
jl 0x42a72c
movsx eax, byte [ebp - 0x7c8]
cmp eax, 0x39
jle 0x42a738
mov dword [ebp - 0x7bc], 0
jmp 0x42a793
mov ecx, dword [ebp - 0x7cc]
sub ecx, dword [ebp - 0x7c0]
push ecx
lea edx, [ebp - 0x914]
push edx
lea ecx, [ebp - 0x7c4]
call fcn.0044fa23
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x9bc]
push ecx
lea ecx, [ebp - 0x7c4]
call fcn.00455259
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x914]
call fcn.00455120
jmp 0x42a6b5
cmp dword [ebp - 0x7bc], 0
jne 0x42a8e4
mov edx, dword [ebp - 0x95c]
cmp dword [edx + 0x8d0], 0
je 0x42a8e4
push 0x2e
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.0044fa9b
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x7d8]
push eax
lea ecx, [ebp - 0x7d0]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.0044fa23
mov byte [ebp - 4], 0x16
push 0x4759ec
lea ecx, [ebp - 0x7d0]
call fcn.00455488
lea ecx, [ebp - 0x7d4]
call fcn.00402210
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0x8cc]
push eax
push 0x4759f4
lea ecx, [ebp - 0x7d4]
push ecx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x7d0]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x7d4]
call fcn.00402880
sub esi, eax
push esi
lea edx, [ebp - 0x918]
push edx
lea ecx, [ebp - 0x7d0]
call fcn.0044fa23
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0x9c4], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x9c4]
push ecx
lea ecx, [ebp - 0x7d0]
call fcn.00455259
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x918]
call fcn.00455120
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0x8d0]
push eax
mov ecx, dword [ebp - 0x7d0]
push ecx
push 0x4759f8
mov edx, dword [ebp - 0x95c]
add edx, 0xe40
push edx
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x7d4]
call fcn.00455120
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x7d0]
call fcn.00455120
jmp 0x42aa32
cmp dword [ebp - 0x7bc], 0
je 0x42aa32
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0x8d0], 0
je 0x42aa32
push 0x2e
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.0044fa9b
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7e4]
sub ecx, 5
push ecx
lea edx, [ebp - 0x7dc]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
call fcn.0044fa23
mov byte [ebp - 4], 0x19
push 0x475a04
lea ecx, [ebp - 0x7dc]
call fcn.00455488
lea ecx, [ebp - 0x7e0]
call fcn.00402210
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8cc]
push ecx
push 0x475a0c
lea edx, [ebp - 0x7e0]
push edx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x7dc]
call fcn.00402880
mov esi, eax
lea ecx, [ebp - 0x7e0]
call fcn.00402880
sub esi, eax
push esi
lea eax, [ebp - 0x91c]
push eax
lea ecx, [ebp - 0x7dc]
call fcn.0044fa23
mov dword [ebp - 0x9c8], eax
mov ecx, dword [ebp - 0x9c8]
mov dword [ebp - 0x9cc], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x9cc]
push edx
lea ecx, [ebp - 0x7dc]
call fcn.00455259
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x91c]
call fcn.00455120
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0x8d0]
push ecx
mov edx, dword [ebp - 0x7dc]
push edx
push 0x475a10
mov eax, dword [ebp - 0x95c]
add eax, 0xe40
push eax
call fcn.0044fdfe
add esp, 0x10
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x7e0]
call fcn.00455120
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x7dc]
call fcn.00455120
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c4]
call fcn.00455120
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe40
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xe44
call fcn.00455259
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea edx, [ebp - 0x2d0]
push edx
push 0x479a34
push 0x475a1c
push 0x475a24
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x42aacf
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea eax, [ebp - 0x2d0]
push eax
push 0x479a38
push 0x475a28
push 0x475a30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x920], esp
lea edx, [ebp - 0x2d0]
push edx
call fcn.0045518e
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x954
call fcn.004067b0
mov word [ebp - 0x9d4], ax
mov eax, dword [ebp - 0x9d4]
and eax, 0xffff
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xe50], eax
lea ecx, [ebp - 0x1ec]
call fcn.00402210
mov dword [ebp - 4], 0x1c
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea edx, [ebp - 0x52c]
push edx
push 0x479a3c
push 0x475a3c
push 0x475a48
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.004552a9
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x92c
call fcn.00407170
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x538], 0
jmp 0x42aba5
mov ecx, dword [ebp - 0x538]
add ecx, 1
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x538]
cmp edx, dword [ebp - 0x464]
jge 0x42ac3f
mov eax, dword [ebp - 0x538]
push eax
lea ecx, [ebp - 0x928]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x92c
call fcn.004071b0
mov dword [ebp - 0x9d8], eax
mov edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9dc], edx
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x9dc]
call fcn.00402270
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x924], al
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x928]
call fcn.00455120
mov eax, dword [ebp - 0x924]
and eax, 0xff
test eax, eax
je 0x42ac3a
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x204], ecx
jmp 0x42ac3f
jmp 0x42ab96
mov edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x204]
mov dword [edx + 0xe54], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475a4c
push 0x475a58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xe34], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea edx, [ebp - 0x460]
push edx
push 0x479a40
push 0x475a60
push 0x475a70
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x42ace7
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea eax, [ebp - 0x460]
push eax
push 0x479a44
push 0x475a78
push 0x475a88
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x208], eax
push 1
lea ecx, [ebp - 0x460]
push ecx
mov edx, dword [ebp - 0x208]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x954
call fcn.004045d9
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xe30], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475a94
push 0x475aa4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x484], eax
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0xb70], 1
jne 0x42ae96
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475aac
push 0x475ab4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7e8], eax
xor ecx, ecx
cmp dword [ebp - 0x7e8], 1
sete cl
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0xd64], ecx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475ab8
push 0x475ac0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7e8], eax
xor eax, eax
cmp dword [ebp - 0x7e8], 1
sete al
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0xd68], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475ac4
push 0x475ac8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7e8], eax
xor edx, edx
cmp dword [ebp - 0x7e8], 1
sete dl
mov eax, dword [ebp - 0x95c]
mov dword [eax + 0xd6c], edx
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475acc
push 0x475ad4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x7e8], eax
xor ecx, ecx
cmp dword [ebp - 0x7e8], 1
sete cl
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0xd70], ecx
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0xd64]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xb94
call fcn.0041b970
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0xd68]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0xbd0
call fcn.0041b970
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0xd70]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0xc0c
call fcn.0041b970
push 0x3ed
mov ecx, dword [ebp - 0x95c]
call fcn.004546e9
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax + 0xe38]
mov dword [ebp - 0x9e0], ecx
cmp dword [ebp - 0x9e0], 0
je 0x42aee6
cmp dword [ebp - 0x9e0], 1
je 0x42af96
cmp dword [ebp - 0x9e0], 2
je 0x42b046
jmp 0x42b0f1
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x304], 0
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x28c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x384
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3fc
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push 0x475ad8
push 0x475ae8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x474], eax
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x494
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x50c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x584
call fcn.004548a9
jmp 0x42b0f1
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x304], 1
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x28c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x384
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3fc
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475af0
push 0x475b00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x488], eax
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x494
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x50c
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x584
call fcn.004548a9
jmp 0x42b0f1
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x304], 0
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x28c
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x384
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3fc
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push 0x475b08
push 0x475b18
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x47c], eax
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x494
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x50c
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x584
call fcn.004548a9
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0xe34]
mov dword [ebp - 0x9e4], eax
cmp dword [ebp - 0x9e4], 0
je 0x42b12b
cmp dword [ebp - 0x9e4], 1
je 0x42b234
cmp dword [ebp - 0x9e4], 2
je 0x42b33d
jmp 0x42b441
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x308], 0
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x2c8
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3c0
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x438
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push 0x475b20
push 0x475b30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x478], eax
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x4d0
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x548
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x5c0
call fcn.004548a9
mov eax, dword [ebp - 0x95c]
mov dword [eax + 0x90], 0
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548eb
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475b38
push 0x475b44
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x90], eax
jmp 0x42b441
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x308], 1
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x2c8
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3c0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x438
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475b4c
push 0x475b5c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x484], eax
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x4d0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x548
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x5c0
call fcn.004548a9
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x90], 0
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548a9
push 1
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548eb
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475b64
push 0x475b70
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x90], eax
jmp 0x42b441
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x308], 0
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x2c8
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x3c0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x438
call fcn.004548a9
mov ecx, 0x479910
call fcn.00402270
push eax
push 1
push 0x475b78
push 0x475b88
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x480], eax
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x4d0
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x548
call fcn.004548a9
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x5c0
call fcn.004548a9
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x90], 0
push 5
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548a9
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x54
call fcn.004548eb
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475b90
push 0x475b9c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x90], eax
mov ecx, dword [ebp - 0x95c]
call fcn.00439c69
push 0
mov ecx, dword [ebp - 0x95c]
call fcn.00453d7d
mov ecx, dword [ebp - 0x95c]
call fcn.004305e5
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475ba4
push 0x475bb0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 1
jne 0x42b4ad
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0xd74]
push eax
mov ecx, dword [ebp - 0x95c]
call fcn.00434fad
jmp 0x42ba7b
push 0x3ed
mov ecx, dword [ebp - 0x95c]
call fcn.004546e9
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba80
mov ecx, dword [ebp - 0x95c]
call fcn.00439c9f
mov dword [ebp - 0x7f4], eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.00407170
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7f0], 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x940
call fcn.00407190
mov dword [ebp - 0x7fc], 0
jmp 0x42b52c
mov ecx, dword [ebp - 0x7fc]
add ecx, 1
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x7fc]
cmp edx, dword [ebp - 0x7ec]
jge 0x42ba7b
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0x48], 0
je 0x42b966
push 0x475bb8
mov ecx, dword [ebp - 0x7fc]
push ecx
lea edx, [ebp - 0x930]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x9ec], eax
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x9ec]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x92c], al
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x930]
call fcn.00455120
mov ecx, dword [ebp - 0x92c]
and ecx, 0xff
test ecx, ecx
je 0x42b689
mov dl, byte [0x479a48]
mov byte [ebp - 0x864], dl
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x863]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x64
lea eax, [ebp - 0x864]
push eax
push 0x147
mov ecx, 0x479934
call fcn.0041c0a1
push 0x479a4c
lea ecx, [ebp - 0x800]
call fcn.0045518e
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x864]
push ecx
push 0x475bc0
lea edx, [ebp - 0x800]
push edx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x800]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba50
push 0x475bc4
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x9f0], eax
mov ecx, dword [ebp - 0x9f0]
push ecx
mov edx, dword [ebp - 0x7f0]
add edx, 1
mov dword [ebp - 0x7f0], edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x940
call fcn.004512a8
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x800]
call fcn.00455120
jmp 0x42b961
push 0x475bcc
mov eax, dword [ebp - 0x7fc]
push eax
lea ecx, [ebp - 0x938]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0x9f4], eax
mov edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9f8], edx
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x9f8]
call fcn.00402280
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x934], al
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x938]
call fcn.00455120
mov eax, dword [ebp - 0x934]
and eax, 0xff
test eax, eax
je 0x42b7d9
mov ecx, dword [ebp - 0x7fc]
push ecx
lea edx, [ebp - 0x93c]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa00], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xa00]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba50
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x93c]
call fcn.00455120
mov ecx, dword [ebp - 0x7fc]
push ecx
lea edx, [ebp - 0x940]
push edx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa04], eax
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa08], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0xa08]
push ecx
mov edx, dword [ebp - 0x7f0]
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa0c]
push eax
mov ecx, dword [ebp - 0x7f0]
add ecx, 1
mov dword [ebp - 0x7f0], ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x940
call fcn.004512d4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x940]
call fcn.00455120
jmp 0x42b961
push 0x475bd4
mov edx, dword [ebp - 0x7fc]
push edx
lea eax, [ebp - 0x948]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa10]
mov dword [ebp - 0xa14], ecx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xa14]
call fcn.00402280
test eax, eax
jne 0x42b84f
xor edx, edx
cmp dword [ebp - 0x7f4], 3
setge dl
mov byte [ebp - 0x94c], dl
mov eax, dword [ebp - 0x94c]
and eax, 0xff
test eax, eax
je 0x42b84f
mov dword [ebp - 0xa18], 1
jmp 0x42b859
mov dword [ebp - 0xa18], 0
mov cl, byte [ebp - 0xa18]
mov byte [ebp - 0x944], cl
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x948]
call fcn.00455120
mov edx, dword [ebp - 0x944]
and edx, 0xff
test edx, edx
je 0x42b961
mov eax, dword [ebp - 0x7fc]
push eax
lea ecx, [ebp - 0x950]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa1c], eax
mov edx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa20], edx
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0xa20]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba50
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x950]
call fcn.00455120
mov eax, dword [ebp - 0x7fc]
push eax
lea ecx, [ebp - 0x954]
push ecx
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa24], eax
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0xa28]
push eax
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa2c]
push edx
mov eax, dword [ebp - 0x7f0]
add eax, 1
mov dword [ebp - 0x7f0], eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x940
call fcn.004512d4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x954]
call fcn.00455120
jmp 0x42ba76
cmp dword [ebp - 0x7fc], 0
jne 0x42ba03
mov cl, byte [0x479a50]
mov byte [ebp - 0x8cc], cl
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x8cb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x64
lea edx, [ebp - 0x8cc]
push edx
push 0x147
mov ecx, 0x479934
call fcn.0041c0a1
push 0x479a54
lea ecx, [ebp - 0x868]
call fcn.0045518e
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x8cc]
push eax
push 0x475bdc
lea ecx, [ebp - 0x868]
push ecx
call fcn.0044fdfe
add esp, 0xc
lea ecx, [ebp - 0x868]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba50
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x868]
call fcn.00455120
jmp 0x42b51d
mov edx, dword [ebp - 0x7fc]
push edx
lea eax, [ebp - 0x958]
push eax
mov ecx, dword [ebp - 0x95c]
add ecx, 0x8f0
call fcn.004071b0
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xa34]
call fcn.00402270
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba50
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x958]
call fcn.00455120
mov edx, dword [ebp - 0x95c]
mov eax, dword [edx + 0xe4c]
push eax
mov ecx, dword [ebp - 0x7f8]
call fcn.0041ba20
jmp 0x42b51d
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475be0
push 0x475bf4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 1
jne 0x42bb15
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475bfc
push 0x475c0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x8d0], eax
cmp dword [ebp - 0x8d0], 1
jne 0x42baf5
push 1
mov ecx, dword [ebp - 0x95c]
add ecx, 0x30c
call fcn.0041b970
mov ecx, dword [ebp - 0x95c]
mov dword [ecx + 0x48], 1
jmp 0x42bb15
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x30c
call fcn.0041b970
mov edx, dword [ebp - 0x95c]
mov dword [edx + 0x48], 0
mov eax, dword [ebp - 0x95c]
cmp dword [eax + 0xb6c], 1
jne 0x42bbff
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475c14
push 0x475c28
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x8d4], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475c2c
push 0x475c40
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x8d8], eax
cmp dword [ebp - 0x8d4], 1
jne 0x42bbff
cmp dword [ebp - 0x8d8], 1
jne 0x42bbe3
mov ecx, dword [ebp - 0x95c]
add ecx, 0x1d8
call fcn.0041b9f0
mov dword [ebp - 0x8dc], eax
cmp dword [ebp - 0x8dc], 0xffffffff
jle 0x42bbce
mov ecx, dword [ebp - 0x95c]
add ecx, 0x918
call fcn.00407170
test eax, eax
jle 0x42bbce
push 1
mov ecx, dword [ebp - 0x95c]
add ecx, 0x348
call fcn.0041b970
jmp 0x42bbe1
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x348
call fcn.0041b970
jmp 0x42bbff
cmp dword [ebp - 0x8d8], 1
jne 0x42bbff
push 0
mov ecx, dword [ebp - 0x95c]
add ecx, 0x348
call fcn.0041b970
mov ecx, dword [ebp - 0x95c]
call fcn.00439c9f
mov dword [ebp - 0x1f4], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0xc8
lea ecx, [ebp - 0x1e8]
push ecx
push 0x479a58
push 0x475c44
push 0x475c50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x540], eax
mov ecx, 0x479910
call fcn.00402270
push eax
push 0
push 0x475c58
push 0x475c6c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 1
jne 0x42bcb2
lea edx, [ebp - 0x1e8]
push edx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x200]
call fcn.0041bab0
mov dword [ebp - 0x8e0], eax
cmp dword [ebp - 0x8e0], 0xffffffff
je 0x42bca5
mov eax, dword [ebp - 0x8e0]
push eax
mov ecx, dword [ebp - 0x200]
call fcn.0041ba20
jmp 0x42bcb2
push 0
mov ecx, dword [ebp - 0x200]
call fcn.0041ba20
mov ecx, dword [ebp - 0x95c]
call fcn.0043856b
push 1
mov ecx, dword [ebp - 0x95c]
call fcn.00453d7d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ec]
call fcn.00455120
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret