【登陆CALL】!!!!!!!!!!

00574D00    50              push    eax
00574D01    8B86 74010000  mov    eax, dword ptr [esi+174]
00574D07    8B96 F0010000  mov    edx, dword ptr [esi+1F0]
00574D0D    8D0CC5 00000000 lea    ecx, dword ptr [eax*8]
00574D14    2BC8            sub    ecx, eax
00574D16    C1E1 04        shl    ecx, 4
00574D19    8B4411 04      mov    eax, dword ptr [ecx+edx+4]
00574D1D    8B0D 1CAD9700  mov    ecx, dword ptr [97AD1C]          ; elementc.0097E7C8
00574D23    50              push    eax
00574D24    8B49 20        mov    ecx, dword ptr [ecx+20]
00574D27    E8 04B80200    call    005A0530

这个CALL 就是帐号密码登陆后 点进入游戏的CALL 。CALL 是写出来了 但是碰到几个问题 大家帮忙分析下 谢谢 我贡献CALL 求大家帮忙解决问题。
上面是汇编原型  跟参数发现 这个  00574D00    50              push    eax    EAX 就是当前线路 线路1就是1 线路2 就是2~!!!! 15就是F。
00574D1D    8B0D 1CAD9700  mov    ecx, dword ptr [97AD1C]          ; elementc.0097E7C8
00574D23    50              push    eax
这个PUSH EAX  EAX 为角色ID 仅为没登陆 所以是静态地址 用CE搜下就找到了

据此写CALL 如下

begin
address:= Pointer($5A0530);
asm
  pushad
    PUSH $9  // 线路
    mov eax,DWORD PTR DS:[$97adc4]
    PUSH eax  //角色ID
    MOV ECX,DWORD PTR DS:[call_base]
    MOV ECX,DWORD PTR DS:[ECX+$20]
    CALL address
    popad
end;

这个CALL 可以正常登陆 但是每次登陆都是进入上次的线路 。。
线路参数不管写几 都是上次登陆的线程 如果手动选了线程 也还是登陆上次选的线程。
 
线路配置在游戏目录里,进入登陆界面前写这个文件就可以了
element\userdata\currentserver.ini