Function at 0x40d230
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042af20
mov eax, dword [0x459190]
mov dword [esp + 0x3644], eax
push ebx
push ebp
push esi
push edi
mov esi, dword [0x457824]
mov eax, 0x77c150d
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x9ad70599
imul esi
add edx, esi
sar edx, 0xc
mov esi, dword [0x45781c]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457838]
sub ecx, eax
imul edx, edx, 0x1685
add ecx, edx
mov eax, 0xb7fe3405
imul esi
add edx, esi
mov esi, dword [0x45782c]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457830]
sub ecx, eax
imul edx, edx, 0x10e6
add ecx, edx
mov eax, 0x9ad70599
imul esi
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x1a74
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457820]
sub ecx, eax
mov eax, 0x77826bf5
imul edx
mov esi, dword [0x457834]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457818]
imul edx, edx, 0x59b
sub ecx, eax
mov eax, dword [esp + 0x365c]
add ecx, edx
sub ecx, esi
sub ecx, 0x2220
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x457820], ecx
push 0x2800
jne 0x40d340
lea eax, [esp + 0xe5c]
push eax
push 0x447e15
push str.ConfigL4
jmp 0x40d352
lea ecx, [esp + 0xe5c]
push ecx
push 0x447e15
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x457820]
mov esi, dword [0x45782c]
mov edi, dword [0x457830]
imul esi, esi, 0x2220
mov eax, 0x9ad70599
imul ecx
add edx, ecx
sar edx, 0xc
add esi, edx
mov ebx, edx
mov edx, ecx
imul edx, edx, 0x1643
mov eax, edi
imul eax, eax, 0xe4e
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x45781c]
add ebx, edx
add ebx, eax
mov eax, 0xb6adc247
imul esi
add edx, esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
lea eax, [esp + 0xe54]
mov dword [0x45782c], ebx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d3c5
sub eax, esi
mov dword [esp + 0x10], eax
jne 0x40d3ee
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a6e1
add esp, 0x3648
ret
mov esi, dword [0x457834]
imul edi, edi, 0x1643
mov eax, 0xf00f00f1
imul esi
add edx, esi
sar edx, 0xd
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x457818]
imul edx, edx, 0x2220
add ebx, edx
mov eax, 0x8f2b7b75
imul ecx
add edx, ecx
sar edx, 0xb
mov ecx, edx
sub ebx, edi
add ebx, edx
mov eax, 0xb6adc247
imul esi
add edx, esi
sar edx, 0xa
mov eax, edx
shr ecx, 0x1f
shr eax, 0x1f
add ecx, ebx
add eax, edx
sub ecx, eax
mov dword [0x457818], ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
push 0x190
push edx
call fcn.0040cc60
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x40dad3
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d47e
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40dad3
mov esi, dword [str._r_____r____]
mov eax, 0x17eb125
imul dword [0x45782c]
mov eax, dword [0x457830]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x457818]
mov ebx, esi
imul edx, edx, 0x10e6
imul ebx, ebx, 0x2234
add edx, eax
sub ebx, ecx
mov ecx, dword [0x457828]
mov eax, ecx
imul eax, eax, 0x59b
add edx, ebx
lea ebx, [eax + edx - 0x2220]
mov eax, edi
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x55a118], eax
mov eax, dword [0x56b348]
test eax, eax
mov dword [0x457824], ebx
jg 0x40d66b
mov edx, dword [0x45781c]
imul ecx, ecx, 0xe4e
imul ebx, ebx, 0x562
mov esi, dword [0x45782c]
mov eax, 0x887d940b
imul esi, esi, 0x2220
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
sub eax, esi
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x447e15
push str.ConfigL1
sub eax, ebx
push str.GameType1
mov dword [0x457830], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042aee2
add esp, 4
cmp eax, edi
mov esi, 0x78
jge 0x40d578
mov dword [0x56b348], edi
jmp 0x40d5a9
lea eax, [esp + 0x654]
push eax
call fcn.0042aee2
add esp, 4
cmp eax, esi
jle 0x40d594
mov dword [0x56b348], esi
jmp 0x40d5a9
lea ecx, [esp + 0x654]
push ecx
call fcn.0042aee2
add esp, 4
mov dword [0x56b348], eax
mov ecx, dword [0x45781c]
mov ebx, dword [0x45782c]
mov eax, 0x887d940b
imul ebx, ebx, 0x2220
imul ecx
mov ecx, dword [0x457828]
sar edx, 0xb
imul ecx, ecx, 0xe4e
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457824]
imul edx, edx, 0x562
sub eax, ebx
add eax, ecx
push str.C:WINDOWS_system32driversetc_service5.ini
sub eax, edx
push 0x800
mov dword [0x457830], eax
lea eax, [esp + 0x65c]
push eax
push 0x447e15
push str.ConfigL2
push str.GameType1
call ebp
lea ecx, [esp + 0x654]
push ecx
call fcn.0042aee2
add esp, 4
cmp eax, edi
jge 0x40d62e
mov dword [0x56b34c], edi
jmp 0x40d65f
lea edx, [esp + 0x654]
push edx
call fcn.0042aee2
add esp, 4
cmp eax, esi
jle 0x40d64a
mov dword [0x56b34c], esi
jmp 0x40d65f
lea eax, [esp + 0x654]
push eax
call fcn.0042aee2
add esp, 4
mov dword [0x56b34c], eax
mov esi, dword [str._r_____r____]
mov ebx, dword [0x457824]
mov edi, dword [0x457838]
mov eax, 0x77c150d
imul edi
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, edi
imul edx, edx, 0x1685
mov eax, ecx
mov ecx, dword [0x45781c]
sub eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x17eb125
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 5
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [0x457830]
imul eax, eax, 0x10e6
add ecx, eax
mov eax, dword [0x55a11c]
sub ecx, esi
add ecx, 0x1123
test eax, eax
mov dword [0x45781c], ecx
jg 0x40d864
mov eax, 0xf883eaf3
imul ecx, ecx, 0x1568
imul ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov esi, edi
imul esi, esi, 0x2220
mov eax, 0x2d78bd59
imul edi
sub ebx, esi
sar edx, 0xa
mov esi, edx
add ebx, edx
mov eax, 0x7931d3bd
imul edi
shr esi, 0x1f
sar edx, 0xb
add esi, ebx
add esi, ecx
mov ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
lea edx, [esp + 0x65c]
push edx
push 0x447e15
push str.ConfigL3
sub esi, ecx
push str.GameType1
mov dword [0x457828], esi
call ebp
mov ecx, dword [0x457828]
mov esi, dword [0x457834]
mov eax, 0x77c150d
imul ecx
sar edx, 8
mov edi, ecx
mov eax, edx
imul edi, edi, 0x2234
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9ad70599
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xb7fe3405
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x457818]
imul edx, edx, 0x1568
sub edi, ecx
lea eax, [esp + 0x654]
add edi, edx
push eax
mov dword [0x457834], edi
call fcn.0042aee2
mov ecx, dword [0x55a118]
add esp, 4
cmp eax, ecx
jge 0x40d7d5
mov dword [0x55a11c], ecx
jmp 0x40d85e
lea ecx, [esp + 0x654]
push ecx
call fcn.0042aee2
add esp, 4
cmp eax, 0x64
jle 0x40d849
mov esi, dword [str._r_____r____]
mov ebx, dword [0x457830]
mov eax, 0x17eb125
imul dword [0x45782c]
sar edx, 5
mov ecx, esi
imul ecx, ecx, 0x2234
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457818]
sub ecx, eax
imul edx, edx, 0x10e6
mov eax, dword [0x457828]
imul eax, eax, 0x59b
add edx, ebx
add edx, ecx
lea ecx, [eax + edx - 0x2220]
mov dword [0x457824], ecx
mov dword [0x55a11c], 0x64
jmp 0x40d864
lea edx, [esp + 0x654]
push edx
call fcn.0042aee2
add esp, 4
mov dword [0x55a11c], eax
mov esi, dword [str._r_____r____]
mov ecx, dword [0x45782c]
imul esi, esi, 0x1a74
mov eax, 0x9ad70599
imul ecx
add edx, ecx
mov ecx, dword [0x457820]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
mov ebp, dword [0x457834]
add eax, edx
sub esi, eax
mov eax, 0x77826bf5
imul ecx
mov eax, dword [0x457818]
sar edx, 0xb
imul eax, eax, 0x59b
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, eax
sub esi, ebp
sub esi, 0x2220
push 0
mov dword [0x457820], esi
call fcn.0042aee7
sub eax, dword [0x56b370]
add esp, 4
cmp eax, 0xa8c0
jl 0x40d942
mov ecx, dword [0x45782c]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x457830]
imul esi, esi, 0x2234
mov eax, 0x17eb125
imul ecx
mov ecx, dword [0x457818]
sar edx, 5
imul ecx, ecx, 0x10e6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457828]
imul edx, edx, 0x59b
sub esi, eax
add ecx, ebx
add ecx, esi
lea eax, [edx + ecx - 0x2220]
push 0
mov dword [0x457824], eax
call fcn.0042aee7
add esp, 4
xor esi, esi
mov dword [0x56b370], eax
mov dword [0x55a120], esi
jmp 0x40d948
mov esi, dword [0x55a120]
mov edx, dword [0x457824]
mov ecx, dword [0x457838]
mov eax, 0xf883eaf3
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, ecx
imul edi, edi, 0x2220
mov eax, 0x2d78bd59
imul ecx
sub ebx, edi
sar edx, 0xa
add ebx, edx
mov edi, edx
mov edx, dword [0x45781c]
imul edx, edx, 0x1568
shr edi, 0x1f
add edi, ebx
add edi, edx
mov eax, 0x7931d3bd
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
cmp esi, dword [0x55a11c]
mov dword [0x457828], edi
jge 0x40dab7
cmp esi, dword [0x55a118]
jge 0x40d9e4
push 0
call fcn.0042aee7
mov ecx, dword [0x56b348]
mov esi, dword [0x55a124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40da1d
mov esi, dword [0x55a120]
cmp esi, dword [0x55a11c]
jge 0x40dab7
cmp esi, dword [0x55a118]
jl 0x40dab7
push 0
call fcn.0042aee7
sub eax, dword [0x55a124]
mov edx, dword [0x56b34c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40dab7
mov ecx, dword [0x457820]
mov esi, dword [0x45782c]
mov eax, 0x9ad70599
imul esi, esi, 0x2220
imul ecx
mov eax, dword [0x457830]
add edx, ecx
imul ecx, ecx, 0x1643
imul eax, eax, 0xe4e
sar edx, 0xc
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, ecx
mov ecx, dword [0x45781c]
add edi, eax
mov eax, 0xb6adc247
imul ecx
mov eax, dword [0x55a120]
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv dword [0x55a118]
sub edi, ecx
mov dword [0x45782c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x55a128
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40da94
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a6e1
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a6e1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042a6e1
add esp, 0x3648
ret