Function at 0x4355b9
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x4db6b7
call fcn.0046d048
sub esp, 0x118
mov al, byte [esp + 0x13]
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x10]
push edi
mov byte [esp + 0x14], al
call fcn.004040fb
mov ebx, 0x515fa4
push ebx
call fcn.0046d440
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404041
mov eax, dword [esp + 0x14]
mov dword [esp + 0x130], edi
cmp eax, edi
jne 0x43560e
mov eax, 0x4e4cf8
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push eax
lea eax, [esp + 0x28]
push 0xfff
push eax
push 0x516660
mov ebx, 0x516628
push 0x516630
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x44]
push eax
call fcn.004ce0b5
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x43564b
mov eax, 0x4e4cf8
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x51660c
push ebx
call edi
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43566b
mov eax, 0x4e4cf8
push eax
lea eax, [esp + 0x28]
push 0xfff
push eax
push 0x521388
push 0x516614
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x48]
push eax
call fcn.004ce0b5
mov eax, dword [esp + 0x14]
mov ebp, 0x4e4cf8
test eax, eax
jne 0x43569f
mov eax, ebp
push eax
mov ebx, 0x515f9c
push 0
push ebx
push 0x515f94
call edi
push 0x515e00
push 0
push ebx
push 0x515f8c
mov dword [esi + 0x58], eax
call edi
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4356ce
mov eax, ebp
push eax
push 1
mov ebx, 0x5165f8
push 0x516600
push ebx
call edi
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4356eb
mov eax, ebp
push eax
push 1
push 0x5165ec
push ebx
call edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435703
mov eax, ebp
push eax
push 0x28
mov ebx, 0x5165d4
push 0x5165dc
push ebx
call edi
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435720
mov eax, ebp
push eax
push 0x1e
push 0x5165c4
push ebx
call edi
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435738
mov eax, ebp
push eax
push 0x2d
push 0x5165b4
push ebx
call edi
mov dword [esi + 0x14], eax
xor ebp, ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0046fc7e
pop ecx
call fcn.0046fc8b
cdq
mov ecx, 0x2e7c
idiv ecx
add ebp, edx
cmp ebp, 0x1fa4
jl 0x435755
cmp ebp, 0x4a2c
jne 0x435775
inc ebp
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435782
mov eax, 0x4e4cf8
push eax
push ebp
push 0x5165ac
push ebx
call edi
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43579d
mov eax, 0x4e4cf8
push eax
push ebp
push 0x5165a4
push ebx
call edi
cmp word [esi + 8], 0
mov word [esi + 0xa], ax
jne 0x4357b6
mov word [esi + 8], bp
test ax, ax
jne 0x4357bf
mov word [esi + 0xa], bp
mov eax, dword [esp + 0x14]
mov ebp, 0x4e4cf8
test eax, eax
jne 0x4357ce
mov eax, ebp
push eax
push 0
push 0x51659c
push ebx
call edi
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4357e6
mov eax, ebp
push eax
push 0x1e
push 0x516580
push ebx
call edi
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4357fe
mov eax, ebp
push eax
push 1
push 0x516594
push ebx
call edi
push 0xa
mov dword [esi + 0x1c], eax
pop eax
cmp dword [esi + 0x20], eax
jae 0x435817
mov dword [esi + 0x20], eax
push 0x5a
pop ecx
cmp dword [esi + 0x20], ecx
jbe 0x435822
mov dword [esi + 0x20], ecx
push 0x32
pop ecx
cmp dword [esi + 0x10], ecx
jbe 0x43582d
mov dword [esi + 0x10], ecx
cmp dword [esi + 0x10], eax
jae 0x435835
mov dword [esi + 0x10], eax
push 0x64
pop eax
cmp dword [esi + 0xc], eax
jbe 0x435840
mov dword [esi + 0xc], eax
push 0x14
pop eax
cmp dword [esi + 0xc], eax
jae 0x43584b
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], ecx
jae 0x435859
lea eax, [ecx + 0xf]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
jae 0x435867
lea edx, [eax + 0xa]
mov dword [esi + 0x14], edx
lea edx, [eax + ecx]
cmp dword [esi + 0x14], edx
jbe 0x43587b
cmp ecx, eax
jbe 0x435875
mov eax, ecx
add eax, 0xa
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435885
mov eax, ebp
push eax
lea eax, [esp + 0x28]
push 0x104
mov ebp, 0x513d7c
push eax
push ebp
mov ebx, 0x51665c
push 0x516650
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea ecx, [esi + 0x54]
push eax
call fcn.004ce0b5
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4358c1
mov eax, 0x4e4cf8
push eax
lea eax, [esp + 0x28]
push 0x104
push eax
push ebp
push 0x516648
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea ecx, [esi + 0x5c]
push eax
call fcn.004ce0b5
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4358f3
mov eax, 0x4e4cf8
push eax
lea eax, [esp + 0x28]
push 0x104
push eax
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x516638
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x5c]
push eax
call fcn.004ce0b5
mov ebx, 0x515e00
push ebx
call fcn.0046d440
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404041
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43593e
mov eax, 0x4e4cf8
push eax
push 0
mov ebx, 0x513f88
push 0x515c94
push ebx
call edi
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43595e
mov eax, 0x4e4cf8
push eax
push 0
push 0x513d30
push ebx
call edi
mov dword [esi + 0x2c], eax
call fcn.004d4518
mov eax, dword [eax + 4]
push 1
push 0x513f78
push ebx
mov ecx, eax
call fcn.004d46fd
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x435993
mov eax, 0x4e4cf8
push eax
push 5
push 0x515c84
push ebx
call edi
mov dword [esi + 0x38], eax
push 0x516570
lea eax, [esp + 0x28]
push 0x104
push eax
push 0x51656c
push 0x516564
push 0x51655c
call ebp
lea eax, [esp + 0x24]
push 0x5149c8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4359de
mov dword [esi + 0x3c], 1
jmp 0x4359e2
and dword [esi + 0x3c], 0
or dword [esp + 0x130], 0xffffffff
push 1
lea ecx, [esp + 0x14]
call fcn.004040fb
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret