Function at 0x404470
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00425740
mov eax, dword [0x452ad4]
mov ecx, dword [0x451a78]
mov dword [esp + 0x3644], eax
mov eax, 0xfe03f81
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebp
mov ebp, dword [0x451a68]
push esi
mov esi, dword [0x451a6c]
push edi
mov edi, dword [0x451a84]
mov edx, edi
imul edx, edx, 0xe8
sub edx, eax
sub edx, ebp
lea eax, [edx + esi + 0x21b]
mov dword [str._r_____r_____n], eax
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2053e08b
imul esi
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, dword [0x451a7c]
lea ecx, [eax + edi - 0xd2]
mov eax, dword [esp + 0x3658]
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x451a6c], ecx
push 0x2800
jne 0x404534
lea edx, [esp + 0xe58]
push edx
push 0x441e2d
push str.ConfigL4
jmp 0x404546
lea eax, [esp + 0xe58]
push eax
push 0x441e2d
push str.ConfigL4x
push str.GameType1
call ebp
mov edx, dword [0x451a68]
mov ecx, dword [0x451a70]
mov eax, edx
imul ecx, ecx, 0xd9
imul eax, eax, 0x193
sub ecx, eax
mov eax, dword [0x451a6c]
imul eax, eax, 0x102
add ecx, eax
mov eax, 0x43b3d5b
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esp + 0xe50]
mov dword [0x451a78], ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404598
sub eax, esi
mov dword [esp + 0xc], eax
jne 0x4045c0
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424ef1
add esp, 0x3648
ret
mov esi, dword [0x451a7c]
mov eax, 0xa29ecf17
imul esi, esi, 0xfffffefe
imul ecx
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x451a80]
mov eax, 0x43b3d5b
imul ecx
mov ecx, dword [0x451a64]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, dword [str._r_____r_____n]
sub esi, eax
lea eax, [esp + 0xe54]
push eax
add esi, ebx
lea edx, [ecx + esi - 0xd8]
lea ecx, [esp + 0x18]
push 0x190
push ecx
mov dword [0x451a64], edx
call fcn.00403ff0
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x404bc0
mov edx, edi
and edx, reloc.WS2_32.dll_closesocket
jns 0x404649
dec edx
or edx, 0xfffffffc
inc edx
jne 0x404bc0
mov esi, dword [0x451a68]
mov eax, 0x7a0a7ce7
imul dword [0x451a78]
mov ecx, dword [0x451a74]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, dword [0x451a80]
mov edx, esi
imul edx, edx, 0x21e
sub edx, eax
mov eax, ecx
imul eax, eax, 0x79
add edx, ebx
lea edx, [eax + edx + 0x215]
mov eax, edi
mov dword [0x451a70], edx
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x563e78], eax
mov eax, dword [0x563af4]
test eax, eax
jg 0x404813
mov eax, 0xdfac1f75
imul ecx, ecx, 0xab
imul esi
add edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0x125
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, eax
push 0x800
lea eax, [ecx + edx - 0xd8]
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL1
push str.GameType1
mov dword [0x451a7c], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.004256fa
add esp, 4
cmp eax, edi
mov esi, 0x78
jge 0x40472c
mov dword [0x563af4], edi
jmp 0x40475d
lea eax, [esp + 0x654]
push eax
call fcn.004256fa
add esp, 4
cmp eax, esi
jle 0x404748
mov dword [0x563af4], esi
jmp 0x40475d
lea ecx, [esp + 0x654]
push ecx
call fcn.004256fa
add esp, 4
mov dword [0x563af4], eax
mov ecx, dword [0x451a68]
mov ebx, dword [0x451a74]
mov eax, 0xdfac1f75
imul ebx, ebx, 0xab
imul ecx
add edx, ecx
mov ecx, dword [str._r_____r_____n]
sar edx, 8
imul ecx, ecx, 0x125
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
push 0x800
sub ebx, eax
lea eax, [esp + 0x65c]
push eax
push 0x441e2d
push str.ConfigL2
lea edx, [ebx + ecx - 0xd8]
push str.GameType1
mov dword [0x451a7c], edx
call ebp
lea ecx, [esp + 0x654]
push ecx
call fcn.004256fa
add esp, 4
cmp eax, edi
jge 0x4047dc
mov dword [0x563af8], edi
jmp 0x40480d
lea edx, [esp + 0x654]
push edx
call fcn.004256fa
add esp, 4
cmp eax, esi
jle 0x4047f8
mov dword [0x563af8], esi
jmp 0x40480d
lea eax, [esp + 0x654]
push eax
call fcn.004256fa
add esp, 4
mov dword [0x563af8], eax
mov ecx, dword [0x451a74]
mov eax, 0x577f7cc1
imul dword [0x451a6c]
mov esi, dword [0x451a84]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x451a7c]
imul edx, edx, 0x21e
add eax, edx
mov edx, esi
imul edx, edx, 0xe8
sub eax, edx
mov edx, dword [0x451a70]
sub eax, edx
add eax, 0x33e
mov dword [0x451a68], eax
mov eax, dword [0x563e7c]
test eax, eax
jg 0x4049a9
mov eax, 0x577f7cc1
imul esi, esi, 0xd9
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, edx
push 0x800
lea edx, [esp + 0x65c]
push edx
sub ecx, edi
push 0x441e2d
sub ecx, esi
push str.ConfigL3
add ecx, 0x506
push str.GameType1
mov dword [0x451a74], ecx
call ebp
mov ecx, dword [0x451a80]
mov eax, 0xae4c415d
imul ecx
mov ebp, dword [0x451a68]
add edx, ecx
mov ecx, dword [0x451a78]
sar edx, 9
imul ecx, ecx, 0x2ed
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x451a64]
imul edx, edx, 0x219
sub ecx, eax
add ecx, edx
sub ecx, ebp
lea eax, [esp + 0x654]
add ecx, 0x1eb
push eax
mov dword [0x451a80], ecx
call fcn.004256fa
mov ecx, dword [0x563e78]
add esp, 4
cmp eax, ecx
jge 0x40492f
mov dword [0x563e7c], ecx
jmp 0x4049a3
lea ecx, [esp + 0x654]
push ecx
call fcn.004256fa
add esp, 4
cmp eax, 0x64
jle 0x40498e
mov ecx, dword [0x451a68]
mov eax, 0x7a0a7ce7
imul ecx, ecx, 0x21e
imul dword [0x451a78]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x451a74]
imul edx, edx, 0x79
sub ecx, eax
add ecx, dword [0x451a80]
lea eax, [edx + ecx + 0x215]
mov dword [0x451a70], eax
mov dword [0x563e7c], 0x64
jmp 0x4049a3
lea ecx, [esp + 0x654]
push ecx
call fcn.004256fa
add esp, 4
mov dword [0x563e7c], eax
mov esi, dword [0x451a84]
mov ecx, dword [0x451a78]
mov eax, 0xae4c415d
imul ecx
add edx, ecx
mov ecx, dword [0x451a6c]
sar edx, 9
mov eax, edx
mov ebx, dword [0x451a7c]
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x2053e08b
imul ecx
sub edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, edi
sub ecx, ebx
lea edx, [ecx + esi - 0xd2]
push 0
mov dword [0x451a6c], edx
call fcn.004256ff
sub eax, dword [0x563b1c]
add esp, 4
cmp eax, 0xa8c0
jl 0x404a66
mov ecx, dword [0x451a78]
mov esi, dword [0x451a80]
mov eax, 0x7a0a7ce7
imul ecx
mov ecx, dword [0x451a68]
sar edx, 8
imul ecx, ecx, 0x21e
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x451a74]
imul edx, edx, 0x79
sub ecx, eax
add ecx, esi
lea eax, [edx + ecx + 0x215]
push 0
mov dword [0x451a70], eax
call fcn.004256ff
add esp, 4
xor esi, esi
mov dword [0x563b1c], eax
mov dword [0x563e80], esi
jmp 0x404a6c
mov esi, dword [0x563e80]
mov ecx, dword [0x451a70]
mov eax, 0x577f7cc1
imul ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x451a74]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
mov ecx, dword [0x451a84]
sar edx, 7
imul ecx, ecx, 0xd9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
sub eax, ecx
add eax, 0x506
mov dword [0x451a74], eax
cmp esi, dword [0x563e7c]
jge 0x404ba4
cmp esi, dword [0x563e78]
jge 0x404aef
push 0
call fcn.004256ff
sub eax, dword [0x563e84]
mov edx, dword [0x563af4]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x404b26
mov esi, dword [0x563e80]
cmp esi, dword [0x563e7c]
jge 0x404ba4
cmp esi, dword [0x563e78]
jl 0x404ba4
push 0
call fcn.004256ff
mov ecx, dword [0x563af8]
mov esi, dword [0x563e84]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x404ba4
mov ecx, dword [0x451a68]
mov esi, dword [0x451a70]
mov eax, dword [0x451a6c]
imul esi, esi, 0xd9
mov edx, ecx
imul eax, eax, 0x102
imul edx, edx, 0x193
sub esi, edx
add esi, eax
mov eax, 0x43b3d5b
imul ecx
mov eax, dword [0x563e80]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv dword [0x563e78]
sub esi, ecx
mov dword [0x451a78], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x563e88
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x404b81
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424ef1
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424ef1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.00424ef1
add esp, 0x3648
ret