Function at 0x46c7a8
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov eax, 0x540184
xor ecx, ecx
test eax, eax
je 0x46c7d4
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
xor ebx, ebx
test eax, eax
je 0x46c7e7
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x46c7fe
dec eax
test ecx, ecx
je 0x46c7fe
call fcn.0046c6fc
add esp, 0xc
test eax, eax
je 0x46c850
mov eax, 0x5401f4
xor ecx, ecx
test eax, eax
je 0x46c817
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
xor ebx, ebx
test eax, eax
je 0x46c82a
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x46c841
dec eax
test ecx, ecx
je 0x46c841
call fcn.0046c6fc
add esp, 0xc
test eax, eax
je 0x46c850
xor eax, eax
jmp 0x46c855
mov eax, 1
test eax, eax
je 0x46c867
mov eax, 0x540184
jmp 0x46caab
mov dword [ebp - 4], 0x200
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x1bc
call fcn.004b1900
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x46c8a1
push ebx
call fcn.004afa06
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x46c8b4
add eax, 8
push eax
push dword [ebp - 4]
mov eax, dword [ebp - 8]
test eax, eax
je 0x46c8c2
add eax, 8
push eax
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
je 0x46c8cf
add eax, 8
push eax
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
je 0x46c8dc
add eax, 8
push eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x46c8e9
add eax, 8
push eax
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x46c906
push 6
call fcn.004afa0c
add esp, 4
mov dword [ebp - 0xc], eax
fild dword [ebp - 4]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fsub qword [0x5401e4]
fstp qword [ebp - 0x1c]
fild dword [ebp - 0xc]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [ebp - 0x1c]
ftst
fnstsw ax
test ah, 1
je 0x46c932
fchs
fcomp qword [0x540209]
fnstsw ax
test ah, 0x41
jne 0x46c981
fild dword [ebp - 4]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fsub qword [0x5401ec]
fstp qword [ebp - 0x38]
fild dword [ebp - 0xc]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fsub qword [ebp - 0x38]
ftst
fnstsw ax
test ah, 1
je 0x46c96c
fchs
fcomp qword [0x540209]
fnstsw ax
test ah, 0x41
jne 0x46c981
xor eax, eax
jmp 0x46c986
mov eax, 1
test eax, eax
je 0x46ca30
mov dword [ebp - 4], 0x7fff
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x1bc
call fcn.004b1900
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x46c9c8
push ebx
call fcn.004afa06
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x46c9db
add eax, 8
push eax
push dword [ebp - 4]
mov eax, dword [ebp - 8]
test eax, eax
je 0x46c9e9
add eax, 8
push eax
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
je 0x46c9f6
add eax, 8
push eax
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
je 0x46ca03
add eax, 8
push eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x46ca10
add eax, 8
push eax
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x46ca2d
push 6
call fcn.004afa0c
add esp, 4
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fmul qword [0x5401ec]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x5401ec]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.0046951a
push 0x80000301
push 0
push eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x46ca71
mov eax, 0x540184
push eax
push 2
mov ebx, 0x1a0
call fcn.004b1970
add esp, 0x1c
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.0046cac3
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x46caa3
push ebx
call fcn.004afa06
add esp, 4
mov eax, dword [ebp - 0x2c]
jmp 0x46caab
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x46cabc
push ebx
call fcn.004afa06
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x1c