Function at 0x40d100
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042ab40
mov eax, dword [0x458190]
mov dword [esp + 0x3644], eax
push ebx
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0x4c8f8d29
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x30c30c31
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
sub ecx, eax
mov eax, 0x36b45a9b
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0x235
mov eax, dword [0x456830]
imul eax, eax, 0x1aa
add ecx, edx
mov edx, dword [0x45682c]
add ecx, eax
mov eax, 0x30c30c31
imul edx
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x2a0
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456820]
sub ecx, eax
mov eax, 0x43491159
imul edx
mov esi, dword [0x456834]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x87
sub ecx, eax
mov eax, dword [esp + 0x3658]
add ecx, edx
sub ecx, esi
sub ecx, 0x344
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], ecx
push 0x2800
jne 0x40d202
lea eax, [esp + 0xe58]
push eax
push 0x446e9d
push str.ConfigL4
jmp 0x40d214
lea ecx, [esp + 0xe58]
push ecx
push 0x446e9d
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x456820]
mov ecx, dword [0x45682c]
mov esi, dword [0x456830]
imul ecx, ecx, 0x344
mov eax, 0x30c30c31
imul edi
sar edx, 7
add ecx, edx
mov ebx, edx
mov edx, edi
imul edx, edx, 0x257
mov eax, esi
imul eax, eax, 0x16a
shr ebx, 0x1f
add ebx, ecx
mov ecx, dword [0x45681c]
add ebx, edx
add ebx, eax
mov eax, 0xf2b9d649
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
lea eax, [esp + 0xe50]
mov dword [0x45682c], ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d290
sub eax, edx
mov dword [esp + 0xc], eax
jne 0x40d2b8
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a301
add esp, 0x3648
ret
mov ecx, dword [0x456834]
imul esi, esi, 0x257
mov eax, 0x9cc8e161
imul ecx
add edx, ecx
sar edx, 9
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x344
add ebx, edx
mov eax, 0x2d4279a3
imul edi
sar edx, 6
sub ebx, esi
mov esi, edx
add ebx, edx
mov eax, 0xf2b9d649
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
lea ecx, [esp + 0xe50]
shr esi, 0x1f
shr eax, 0x1f
push ecx
add eax, edx
add esi, ebx
lea edx, [esp + 0x14]
sub esi, eax
push 0x190
push edx
mov dword [0x456818], esi
call fcn.0040cb60
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x40d9ad
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d346
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40d9ad
mov ebx, dword [0x45682c]
mov esi, dword [str._r_____r____]
mov eax, 0xe1fc780f
imul ebx
mov eax, dword [0x456830]
add edx, ebx
sar edx, 9
mov ecx, edx
push ebp
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
mov ebp, esi
imul edx, edx, 0x1aa
imul ebp, ebp, 0x358
add edx, eax
sub ebp, ecx
mov ecx, dword [0x456828]
mov eax, ecx
imul eax, eax, 0x87
add edx, ebp
lea ebp, [eax + edx - 0x344]
mov eax, edi
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], ebp
jg 0x40d53a
mov edx, dword [0x45681c]
imul ecx, ecx, 0x16a
imul ebx, ebx, 0x344
mov eax, 0x43491159
imul ebp, ebp, 0x4e
imul edx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 7
mov eax, edx
sub ecx, ebx
shr eax, 0x1f
add eax, edx
sub ecx, eax
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, ebp
push 0x800
mov dword [0x456830], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e9d
push str.ConfigL1
push str.GameType1
call esi
lea edx, [esp + 0x654]
push edx
call fcn.0042ab02
add esp, 4
cmp eax, edi
mov ebx, 0x78
jge 0x40d443
mov dword [0x56a348], edi
jmp 0x40d474
lea eax, [esp + 0x654]
push eax
call fcn.0042ab02
add esp, 4
cmp eax, ebx
jle 0x40d45f
mov dword [0x56a348], ebx
jmp 0x40d474
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ab02
add esp, 4
mov dword [0x56a348], eax
mov edx, dword [0x45682c]
mov ebp, dword [0x456828]
imul edx, edx, 0x344
mov ecx, dword [0x45681c]
imul ebp, ebp, 0x16a
sub ebp, edx
mov eax, 0x43491159
imul ecx
mov ecx, dword [0x456824]
sar edx, 7
imul ecx, ecx, 0x4e
mov eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr eax, 0x1f
push 0x800
add eax, edx
lea edx, [esp + 0x65c]
push edx
push 0x446e9d
sub ebp, eax
push str.ConfigL2
sub ebp, ecx
push str.GameType1
mov dword [0x456830], ebp
call esi
lea eax, [esp + 0x654]
push eax
call fcn.0042ab02
add esp, 4
cmp eax, edi
jge 0x40d4f7
mov dword [0x56a34c], edi
jmp 0x40d528
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ab02
add esp, 4
cmp eax, ebx
jle 0x40d513
mov dword [0x56a34c], ebx
jmp 0x40d528
lea edx, [esp + 0x654]
push edx
call fcn.0042ab02
add esp, 4
mov dword [0x56a34c], eax
mov esi, dword [str._r_____r____]
mov ebp, dword [0x456824]
mov ebx, dword [0x45682c]
mov edi, dword [0x456838]
mov ecx, dword [0x45681c]
mov eax, 0x4c8f8d29
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0xe1fc780f
imul ecx
mov eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 9
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, edi
imul eax, eax, 0x235
sub ecx, eax
mov eax, dword [0x456830]
imul eax, eax, 0x1aa
add ecx, eax
mov eax, dword [0x55911c]
sub ecx, esi
add ecx, 0x1e7
test eax, eax
mov dword [0x45681c], ecx
jg 0x40d741
mov eax, 0xb37072d7
imul ecx, ecx, 0x244
imul ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov esi, edi
imul esi, esi, 0x344
mov eax, 0xe7fc601
imul edi
sar edx, 5
sub ebx, esi
mov esi, edx
add ebx, edx
mov eax, 0x99d722db
imul edi
shr esi, 0x1f
add edx, edi
sar edx, 8
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 0x446e9d
push str.ConfigL3
sub esi, ecx
push str.GameType1
mov dword [0x456828], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x456828]
mov eax, 0x4c8f8d29
imul ecx
mov esi, ecx
sar edx, 8
imul esi, esi, 0x358
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x36b45a9b
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x456834]
mov eax, 0x30c30c31
imul ecx
mov ecx, dword [0x456818]
sar edx, 7
imul ecx, ecx, 0x244
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
lea edx, [esp + 0x654]
add esi, ecx
push edx
mov dword [0x456834], esi
call fcn.0042ab02
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d6a8
mov dword [0x55911c], ecx
jmp 0x40d735
lea eax, [esp + 0x654]
push eax
call fcn.0042ab02
add esp, 4
cmp eax, 0x64
jle 0x40d720
mov ebx, dword [0x45682c]
mov esi, dword [str._r_____r____]
mov eax, 0xe1fc780f
imul ebx
mov ebp, dword [0x456830]
add edx, ebx
sar edx, 9
mov ecx, esi
imul ecx, ecx, 0x358
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
sub ecx, eax
imul edx, edx, 0x1aa
mov eax, dword [0x456828]
imul eax, eax, 0x87
add edx, ebp
add edx, ecx
lea ecx, [eax + edx - 0x344]
mov dword [0x456824], ecx
mov dword [0x55911c], 0x64
jmp 0x40d741
lea edx, [esp + 0x654]
push edx
call fcn.0042ab02
add esp, 4
mov dword [0x55911c], eax
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45682c]
mov ecx, dword [0x456820]
imul esi, esi, 0x2a0
mov eax, 0x30c30c31
imul ebx
sar edx, 7
mov eax, edx
shr eax, 0x1f
mov ebp, dword [0x456834]
add eax, edx
sub esi, eax
mov eax, 0x43491159
imul ecx
mov eax, dword [0x456818]
sar edx, 7
imul eax, eax, 0x87
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, eax
sub esi, ebp
sub esi, 0x344
push 0
mov dword [0x456820], esi
call fcn.0042ab07
mov edx, dword [0x56a370]
add esp, 4
sub eax, edx
cmp eax, 0xa8c0
pop ebp
jl 0x40d81c
mov ecx, dword [0x45682c]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x456830]
imul esi, esi, 0x358
mov eax, 0xe1fc780f
imul ecx
add edx, ecx
mov ecx, dword [0x456818]
sar edx, 9
imul ecx, ecx, 0x1aa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
imul edx, edx, 0x87
sub esi, eax
add ecx, ebx
add ecx, esi
lea eax, [edx + ecx - 0x344]
push 0
mov dword [0x456824], eax
call fcn.0042ab07
add esp, 4
xor esi, esi
mov dword [0x56a370], eax
mov dword [0x559120], esi
jmp 0x40d822
mov esi, dword [0x559120]
mov edx, dword [0x456824]
mov ecx, dword [0x456838]
mov eax, 0xb37072d7
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, ecx
imul edi, edi, 0x344
mov eax, 0xe7fc601
imul ecx
sar edx, 5
sub ebx, edi
add ebx, edx
mov edi, edx
mov edx, dword [0x45681c]
imul edx, edx, 0x244
shr edi, 0x1f
add edi, ebx
add edi, edx
mov eax, 0x99d722db
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
cmp esi, dword [0x55911c]
mov dword [0x456828], edi
jge 0x40d992
cmp esi, dword [0x559118]
jge 0x40d8c0
push 0
call fcn.0042ab07
mov ecx, dword [0x56a348]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40d8f9
mov esi, dword [0x559120]
cmp esi, dword [0x55911c]
jge 0x40d992
cmp esi, dword [0x559118]
jl 0x40d992
push 0
call fcn.0042ab07
sub eax, dword [0x559124]
mov edx, dword [0x56a34c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40d992
mov ecx, dword [0x456820]
mov esi, dword [0x45682c]
mov eax, 0x30c30c31
imul esi, esi, 0x344
imul ecx
imul ecx, ecx, 0x257
mov eax, dword [0x456830]
sar edx, 7
imul eax, eax, 0x16a
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, ecx
mov ecx, dword [0x45681c]
add edi, eax
mov eax, 0xf2b9d649
imul ecx
mov eax, dword [0x559120]
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv dword [0x559118]
sub edi, ecx
mov dword [0x45682c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x10]
mov edx, 0x559128
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d970
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a301
add esp, 0x3648
ret
pop edi
pop esi
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a301
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3650]
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
call fcn.0042a301
add esp, 0x3648
ret