Function at 0x405150
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x17dc
call fcn.00430c20
mov eax, dword [0x45f540]
xor eax, esp
mov ecx, dword [0x45dbc8]
mov edx, dword [0x45dbe0]
mov dword [esp + 0x17d8], eax
mov eax, dword [esp + 0x17e4]
add ecx, edx
mov dword [esp + 4], eax
imul ecx, ecx, 0x92
push ebx
push ebp
push esi
mov esi, dword [0x45dbd0]
mov eax, 0x96d4b1f
imul esi
sar edx, 5
add ecx, edx
mov ebx, edx
push edi
mov edi, dword [0x45dbe4]
mov eax, 0xf07fc3e1
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebx, 0x1f
add ebx, ecx
sub ebx, eax
mov eax, 0x57d990d1
imul esi
sar edx, 7
add ebx, edx
mov ebp, edx
mov eax, 0xe070381d
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov edx, dword [0x45dbdc]
mov ebx, dword [0x45dbe8]
mov eax, 0x4a4dc96f
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ecx, 0x1f
add ecx, ebp
mov ebp, dword [0x45dbd8]
imul ebp, ebp, 0x372
mov edx, ebx
imul edx, edx, 0x338
sub ebp, eax
add ebp, edx
mov eax, 0xad602b59
imul esi
add edx, esi
mov esi, dword [0x45dbd8]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x221
sub ebp, eax
add ebp, edx
mov eax, 0xe070381d
imul esi
add edx, esi
sar edx, 7
mov esi, edx
shr esi, 0x1f
mov dword [0x45dbc8], ecx
add ebp, edx
add esi, ebp
mov ebp, dword [esp + 0x17f0]
sub esi, edi
sub esi, 0x92
test ebp, ebp
mov dword [0x45dbd0], esi
je 0x4055bf
mov edi, ebp
lea edx, [edi + 1]
mov edi, edi
mov al, byte [edi]
inc edi
test al, al
jne 0x405280
sub edi, edx
mov dword [esp + 0x10], edi
je 0x4055bf
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4055bf
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4052a2
sub edi, edx
mov dword [esp + 0x10], edi
je 0x4055bf
mov eax, 0x96d4b1f
imul ecx, ecx, 0x323
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x13e22cbd
imul ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbd4]
sub eax, edi
mov edi, dword [0x45dbd4]
mov dword [esp + 0x10], eax
mov eax, 0xa33a575b
imul edx
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
add edx, ecx
mov ecx, dword [0x45dbe0]
mov dword [esp + 0x10], edx
mov eax, 0x5e6ea9af
imul ecx
imul ecx, ecx, 0x15b
mov eax, dword [esp + 0x10]
sar edx, 7
mov edi, edx
shr edi, 0x1f
add eax, edx
add edi, eax
add edi, ecx
mov ecx, ebx
imul ecx, ecx, 0x92
sub edi, ecx
lea eax, [esp + 0xfe8]
mov dword [0x45dbd8], edi
sub eax, ebp
mov edi, edi
mov cl, byte [ebp]
mov byte [eax + ebp], cl
inc ebp
test cl, cl
jne 0x405350
lea edx, [esp + 0xfe8]
push edx
call fcn.00404f00
imul edi, edi, 0x175
mov eax, dword [0x45dbd4]
mov ecx, dword [0x45dbcc]
imul eax, eax, 0x338
add esi, ebx
imul esi, esi, 0x2f4
sub esi, eax
mov eax, 0xad602b59
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xc152500d
imul ebx
sub esi, ecx
mov ecx, dword [0x45dbdc]
add edx, ebx
imul ecx, ecx, 0x92
sar edx, 9
add esp, 4
mov eax, edx
shr eax, 0x1f
add esi, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add eax, esi
push 0x800
add eax, edi
sub eax, ecx
lea edx, [esp + 0x7f0]
push edx
mov dword [0x45dbe0], eax
mov eax, dword [esp + 0x20]
push 0x44de89
push eax
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7e8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405400
sub eax, edx
mov dword [esp + 0x10], eax
je 0x40555c
mov eax, dword [0x45dbd0]
mov ecx, dword [0x45dbd8]
lea esi, [ecx + eax]
imul eax, eax, 0x323
mov ecx, dword [0x45dbc8]
imul esi, esi, 0x365
sub esi, eax
mov eax, 0xa33a575b
imul ecx
add edx, ecx
sar edx, 9
mov edi, edx
add esi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x57d990d1
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
shr edi, 0x1f
add edi, esi
sub edi, eax
mov eax, 0x5e6ea9af
imul ecx
sar edx, 7
mov ecx, edx
add edi, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x92
shr ecx, 0x1f
add ecx, edi
sub ecx, edx
lea eax, [esp + 0x7e8]
push eax
mov dword [0x45dbe8], ecx
lea ecx, [esp + 0x1c]
push 0x1f4
push ecx
call fcn.0040ff10
mov ebx, eax
add esp, 0xc
xor edi, edi
test ebx, ebx
jle 0x40555c
mov ecx, dword [0x45dbcc]
mov esi, dword [0x45dbd4]
mov eax, 0x4a4dc96f
imul ecx
sar edx, 8
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, ecx
imul edx, edx, 0x365
add ebp, edx
mov eax, 0x4a4dc96f
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x338
sub ebp, eax
add ebp, edx
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
mov esi, edx
add ebp, edx
mov eax, 0xc152500d
imul ecx
add edx, ecx
mov ecx, dword [0x45dbdc]
sar edx, 9
imul ecx, ecx, 0x221
mov eax, edx
shr esi, 0x1f
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + edi*4 + 0x18]
add esi, ebp
sub esi, eax
push edx
lea eax, [esp + 0xfec]
add esi, ecx
push eax
mov dword [str._r_____r____], esi
call fcn.00431030
add esp, 8
test eax, eax
jne 0x4055da
inc edi
cmp edi, ebx
jl 0x4054b0
mov ecx, dword [0x45dbdc]
mov esi, dword [str._r_____r____]
mov edx, ecx
imul esi, esi, 0x544
imul edx, edx, 0x365
add esi, edx
mov eax, 0xa33a575b
imul ecx
mov eax, dword [0x45dbd8]
add edx, ecx
imul eax, eax, 0x221
sar edx, 9
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x5e6ea9af
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbe0]
sub edi, ecx
lea eax, [edi + edx - 0x92]
mov dword [0x45dbd4], eax
xor eax, eax
mov ecx, dword [esp + 0x17e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004303dd
add esp, 0x17dc
ret
mov ecx, dword [0x45dbd4]
mov esi, dword [0x45dbe8]
mov eax, 0xa33a575b
imul esi, esi, 0x338
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x365
mov edi, eax
sub edi, esi
add edi, edx
mov eax, 0xf07fc3e1
imul ecx
add edx, ecx
mov ecx, dword [0x45dbcc]
sar edx, 9
add edi, edx
mov esi, edx
mov eax, 0x5e6ea9af
imul ecx
mov ecx, dword [0x45dbe4]
imul ecx, ecx, 0x92
sar edx, 7
shr esi, 0x1f
add esi, edi
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [str._r_____r____]
add eax, esi
add eax, ecx
sub eax, edx
add eax, 0x2f4
mov dword [0x45dbcc], eax
mov eax, 1
jmp 0x4055c1