- 积分
- 211
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
; kvSIM 0.9 for Siemens 6688i(SLCK) v55lg8
; ◆ 普通SIM卡上的 "一卡多号" ◆
; (此版本为 1个真实卡 + 7个虚拟卡,可认为是 "一卡八号")
; by Konca Fung, 2005-11-18
; http://www.konca.com
; http://www.konca.com/opus/kvsim/index.html
$Segmented
$Mod167
D_RAM EQU 0x2D7B0 ;32D6C
DATE_RAM EQU 0X961EE
PatchBegin EQU 553560h
patch section code word AT PatchBegin ; Start Patch at Patch_Address
main proc far ; start main of patch
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
jmps seg(loc_BFCD00+200000h),sof(loc_BFCD00+200000h) ;label_sim_cmd; 对SIM_Access_Function()函数进行"HOOK"的跳转
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
jmps seg(loc_BFCD04+200000h),sof(loc_BFCD04+200000h) ;label_sim_rsp_hook ; 处理SIM卡返回的数据时的"HOOK"的跳转
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
jmps seg(loc_BFCD4C+200000h),sof(loc_BFCD4C+200000h)
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
jmps seg(loc_BFCD7E+200000h),sof(loc_BFCD7E+200000h) ;; 卡名代替运营商名字的跳转
nop
nop
nop
nop
nop
nop
nop
nop
db 'TRUESIMCARD', 0 ,0,0,0,0
DB '1130',0,0,0,0,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB 'NONE',00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
loc_BFCD00: ; label_sim_cmd
jmps jmps seg(loc_BFCF0C+200000h),sof(loc_BFCF0C+200000h)
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCD04: ;label_sim_rsp_hook
mov [-r0], r1
mov [-r0], r2
mov [-r0], r3
mov [-r0], r4
mov [-r0], r5
mov [-r0], r6
mov [-r0], r7
mov [-r0], r8
mov [-r0], r9
mov [-r0], r10
mov [-r0], r11
mov [-r0], r12
mov [-r0], r13
mov [-r0], r14
mov [-r0], r15
calls seg(sub_BFD0F6+200000h),sof(sub_BFD0F6+200000h)
mov r15, [r0+]
mov r14, [r0+]
mov r13, [r0+]
mov r12, [r0+]
mov r11, [r0+]
mov r10, [r0+]
mov r9, [r0+]
mov r8, [r0+]
mov r7, [r0+]
mov r6, [r0+]
mov r5, [r0+]
mov r4, [r0+]
mov r3, [r0+]
mov r2, [r0+]
mov r1, [r0+]
mov DPP0, #77h ; '2'
; assume dpp0: 32h (page 0xC8000)
jmps seg(retune),sof(retune) ;_sim_rsp_hook 返回HOOK
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCD4C: ; CODE XREF: J
mov r12, r8
mov r13, r9
calls 0C7h, sub_C78536
cmp r4, #0
jmpr cc_Z, loc_BFCD74
mov r12, r8
mov r13, r9
mov r14, #0B30h
mov r15, #2FFh
calls 0C7h, sub_C784EE
cmp r4, #0
jmpr cc_NZ, loc_BFCD74
calls 0BFh, sub_BFDCA8
jmps 0A3h, loc_A30B06
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCD74: ; CODE XREF: j
; j
mov r12, r0
and r12, #3FFFh
jmps 0A3h, loc_A308F2
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCD7E: ; CODE XREF: J
add r0, #26h ; '&'
mov r12, r8
mov r13, r9
calls 0BFh, sub_BFDDEE
jmps 0D3h, loc_D38FEE
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
rets
dw 0FFFFh
dw 0FFFFh
dw 0F000h
dw 0FF00h
dw 0FEh
dw 0FF00h
word_BFCD9C: dw 0B40h ; DATA XREF: sub_BFCE4C+36r
; sub_BFD0F6+186r ...
word_BFCD9E: dw 2FFh ; DATA XREF: sub_BFCE4C+3Ar
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFCDA0: ; CODE XREF: sub_BFD0F6+90P
; sub_BFD0F6+152P
mov r1, r13
or r1, r12
jmpa cc_Z, loc_BFCE4A
mov r1, r15
or r1, r14
jmpr cc_NZ, loc_BFCDEA
movb rl1, #0
loc_BFCDB0: ; CODE XREF: sub_BFCDA0+28j
movbz r14, rl1
extp #2FFh, #1
movb rl2, [r14+0D90h]
mov r15, r12
mov r3, r13
add r15, r14
extp r3, #1
movb [r15], rl2
addb rl1, #1
cmpb rl1, #4
jmpr cc_C, loc_BFCDB0
movb rl1, #7
loc_BFCDCC: ; CODE XREF: sub_BFCDA0+46j
movbz r14, rl1
extp #2FFh, #1
movb rl2, [r14+0D90h]
mov r15, r12
mov r3, r13
add r15, r14
extp r3, #1
movb [r15], rl2
addb rl1, #1
cmpb rl1, #0Bh
jmpr cc_C, loc_BFCDCC
rets
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCDEA: ; CODE XREF: sub_BFCDA0+Cj
movb rl1, #0
loc_BFCDEC: ; CODE XREF: sub_BFCDA0+66j
movbz r2, rl1
extp #2FFh, #1
movb rl3, [r2+0D90h]
mov r4, r12
mov r5, r13
add r4, r2
extp r5, #1
movb [r4], rl3
addb rl1, #1
cmpb rl1, #0Bh
jmpr cc_C, loc_BFCDEC
mov r1, r14
mov r2, r15
add r1, #2
extp r2, #1
movb rl3, [r1]
andb rl3, #0Fh
movbz r3, rl3
shl r3, #4
extp r15, #1
movb rl4, [r14+1]
movbz r4, rl4
shr r4, #4
orb rl3, rl4
extp r13, #1
movb [r12+4], rl3
extp r2, #1
movb rl1, [r1]
movbz r1, rl1
shr r1, #4
orb rl1, #0F0h ; '?
extp r13, #1
movb [r12+5], rl1
extp r15, #1
movb rl1, [r14+3]
extp r13, #1
movb [r12+6], rl1
loc_BFCE4A: ; CODE XREF: sub_BFCDA0+4j
rets
; End of function sub_BFCDA0
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFCE4C: ; CODE XREF: P
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
movbz r12, rl1
cmp r12, #7
jmpr cc_SLE, loc_BFCE6C
movb rl1, #0
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb [r12], rl1
loc_BFCE6C: ; CODE XREF: sub_BFCE4C+10j
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
jmpr cc_Z, loc_BFCEB0
mov DPP0, #2FFh
; assume dpp0: 2FFh (page 0xBFC000)
mov r14, #0D78h
mov r12, word_BFCD9C
mov r13, word_BFCD9E
sub r12, #30h ; '0'
mov r15, #36h ; '6'
extp r15, #1
movb rl1, [r14]
movbz r14, rl1
shl r14, #6
add r12, r14
extp r13, #1
movb rl1, [r12]
jmpr cc_NZ, loc_BFCEB0
movb rl1, #0
mov r12, #0D78h
mov r14, #36h ; '6'
extp r14, #1
movb [r12], rl1
loc_BFCEB0: ; CODE XREF: sub_BFCE4C+2Cj
; sub_BFCE4C+54j
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb rl2, [r12]
cmpb rl1, rl2
jmpr cc_NZ, loc_BFCEE0
mov r12, #1014h
mov r13, #0Ch
extp r13, #1
mov r14, [r12]
and r14, #0FFF7h
extp r13, #1
mov [r12], r14
rets
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCEE0: ; CODE XREF: sub_BFCE4C+7Ej
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb [r12], rl1
mov r12, #1014h
mov r13, #0Ch
extp r13, #1
mov r14, [r12]
bfldl r14, #8, #8
extp r13, #1
mov [r12], r14
rets
; End of function sub_BFCE4C
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCF0C: ; CODE XREF: J
mov [-r0], r9
mov [-r0], r8
mov [-r0], r7
mov [-r0], r6
mov [-r0], r13
mov [-r0], r12
mov r8, r15
mov r9, r14
mov r7, [r0+14h]
mov r6, [r0+12h]
mov r14, #1014h
mov r15, #0Ch
extp r15, #1
mov r1, [r14]
jb r1.0, loc_BFCF48
calls 0BFh, sub_BFCE4C
mov r12, #1014h
mov r13, #0Ch
extp r13, #1
mov r14, [r12]
bfldl r14, #1, #1
extp r13, #1
mov [r12], r14
loc_BFCF48: ; CODE XREF: j
cmp r9, #0C0h ; '?
jmpr cc_Z, loc_BFCF5A
movb rl1, #0
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb [r12], rl1
loc_BFCF5A: ; CODE XREF: j
cmp r9, #88h ; '?
jmpa cc_Z, loc_BFD076
cmp r9, #0A4h ; '?
jmpr cc_Z, loc_BFCF80
cmp r9, #0B0h ; '?
jmpr cc_Z, loc_BFCFA0
cmp r9, #0B2h ; '?
jmpr cc_Z, loc_BFCFC4
cmp r9, #0DCh ; '?
jmpa cc_Z, loc_BFD012
jmpa cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCF80: ; CODE XREF: j
extp r7, #1
movb rl1, [r6]
cmpb rl1, #6Fh ; 'o'
jmpa cc_NZ, loc_BFD0A4
extp r7, #1
movb rl1, [r6+1]
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb [r12], rl1
jmpa cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCFA0: ; CODE XREF: j
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #7
jmpr cc_Z, loc_BFCFB4
cmpb rl1, #7Eh ; '~'
jmpr cc_NZ, loc_BFD002
loc_BFCFB4: ; CODE XREF: j
movb rl1, #2
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb [r12], rl1
jmpa cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFCFC4: ; CODE XREF: j
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #42h ; 'B'
jmpr cc_NZ, loc_BFD002
cmp r8, #1
jmpa cc_NZ, loc_BFD0A4
mov r12, [r0+0Ch]
cmp r12, #4
jmpa cc_NZ, loc_BFD0A4
movb rl1, #2
mov r13, #1011h
mov r14, #0Ch
extp r14, #1
movb [r13], rl1
movb rl2, [r0+16h]
mov r12, #1012h
mov r13, #0Ch
extp r13, #1
movb [r12], rl2
jmpa cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD002: ; CODE XREF: j
; j
movb rl1, #0
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb [r12], rl1
jmpa cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD012: ; CODE XREF: j
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #42h ; 'B'
jmpa cc_NZ, loc_BFD0A4
cmp r8, #1
jmpa cc_NZ, loc_BFD0A4
mov r12, [r0+0Ch]
cmp r12, #4
jmpr cc_NZ, loc_BFD0A4
mov r13, #0D79h
mov r14, #36h ; '6'
extp r14, #1
movb rl1, [r13]
jmpr cc_Z, loc_BFD0A4
mov r13, #0Ch
mov [-r0], r13
mov r14, #0AF0h
mov r15, #32h ; '2'
extp r15, #2
mov r12, [r14+]
mov r13, [r14]
sub r12, #0Fh
mov r14, [r0+12h]
add r12, r14
mov r14, #1026h
mov r15, #0Ch
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
add r0, #2
jmpr cc_UC, loc_BFD0A4
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD076: ; CODE XREF: j
mov r12, #10h
mov [-r0], r12
mov r12, #1016h
mov r13, #0Ch
mov r14, r6
mov r15, r7
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
add r0, #2
movb rl1, #1
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb [r12], rl1
loc_BFD0A4: ; CODE XREF: j
; j ...
mov r12, [r0+18h]
mov r13, [r0+1Ah]
mov [-r0], r13
mov [-r0], r12
mov r14, [r0+1Ah]
mov [-r0], r14
mov [-r0], r7
mov [-r0], r6
mov r15, [r0+1Ah]
mov [-r0], r15
mov r1, [r0+1Ah]
mov [-r0], r1
mov r2, [r0+1Ah]
mov [-r0], r2
mov r12, [r0+10h]
mov r13, [r0+12h]
mov r14, r9
mov r15, r8
extp #2FFh, #2
mov r4, word_BFDE9C
mov r5, word_BFDE9E
calls 0BFh, sub_BFDEF4
add r0, #14h
mov r6, [r0+]
mov r7, [r0+]
mov r8, [r0+]
mov r9, [r0+]
rets
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFD0F6: ; CODE XREF: P
mov [-r0], r6
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
jmpa cc_Z, loc_BFD392
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
movbz r12, rl1
cmp r12, #7
jmpa cc_SGT, loc_BFD392
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
jmpr cc_NZ, loc_BFD1A0
mov r12, #0AE6h
mov r13, #32h ; '2'
extp r13, #1
mov r12, [r12]
cmp r12, #0B0h ; '?
jmpa cc_NZ, loc_BFD392
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #2
jmpa cc_NZ, loc_BFD392
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #7Eh ; '~'
jmpa cc_NZ, loc_BFD392
mov r12, #1014h
mov r13, #0Ch
extp r13, #1
mov r14, [r12]
jnb r14.3, loc_BFD18A
mov r12, #0AF0h
mov r13, #32h ; '2'
mov r14, r12
mov r15, r13
extp r15, #2
mov r12, [r14+]
mov r13, [r14]
mov r14, #5B8h
mov r15, #32h ; '2'
calls 0BFh, sub_BFCDA0
loc_BFD18A: ; CODE XREF: sub_BFD0F6+72j
mov r6, #1014h
mov r12, #0Ch
extp r12, #1
mov r13, [r6]
bfldl r13, #4, #4
extp r12, #1
mov [r6], r13
jmpa cc_UC, loc_BFD386
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD1A0: ; CODE XREF: sub_BFD0F6+30j
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb rl6, [r12]
subb rl6, #1
mov r12, #0AE6h
mov r13, #32h ; '2'
extp r13, #1
mov r12, [r12]
cmp r12, #0C0h ; '?
jmpr cc_Z, loc_BFD1D2
cmp r12, #0B0h ; '?
jmpr cc_Z, loc_BFD1E6
cmp r12, #0B2h ; '?
jmpa cc_Z, loc_BFD2A2
jmpa cc_UC, loc_BFD392
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD1D2: ; CODE XREF: sub_BFD0F6+C8j
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #1
jmpa cc_NZ, loc_BFD392
jmpa cc_UC, loc_BFD352
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD1E6: ; CODE XREF: sub_BFD0F6+CEj
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #2
jmpa cc_NZ, loc_BFD392
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #7
jmpr cc_Z, loc_BFD250
cmpb rl1, #7Eh ; '~'
jmpa cc_NZ, loc_BFD386
mov r6, #1014h
mov r12, #0Ch
extp r12, #1
mov r13, [r6]
bfldl r13, #4, #4
extp r12, #1
mov [r6], r13
mov r6, #1014h
mov r12, #0Ch
extp r12, #1
mov r13, [r6]
jb r13.3, loc_BFD230
jmpa cc_UC, loc_BFD386
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD230: ; CODE XREF: sub_BFD0F6+132j
mov r6, #0AF0h
mov r12, #32h ; '2'
mov r14, r12
extp r14, #2
mov r12, [r6+]
mov r13, [r6]
mov r14, #5B8h
mov r15, #32h ; '2'
calls 0BFh, sub_BFCDA0
jmpa cc_UC, loc_BFD386
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD250: ; CODE XREF: sub_BFD0F6+10Cj
mov r12, #1014h
mov r13, #0Ch
extp r13, #1
mov r14, [r12]
bfldl r14, #2, #2
extp r13, #1
mov [r12], r14
mov r12, #9
mov [-r0], r12
mov r13, #0AF0h
mov r14, #32h ; '2'
mov r15, r13
extp r14, #2
mov r12, [r15+]
mov r13, [r15]
mov DPP0, #2FFh
movbz r6, rl6
mov r14, word_BFCD9C
mov r15, word_BFCD9E
add r14, #10h
shl r6, #6
add r14, r6
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
add r0, #2
jmpa cc_UC, loc_BFD386
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD2A2: ; CODE XREF: sub_BFD0F6+D4j
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #2
jmpa cc_NZ, loc_BFD392
mov r12, #1010h
mov r13, #0Ch
extp r13, #1
movb rl1, [r12]
cmpb rl1, #42h ; 'B'
jmpa cc_NZ, loc_BFD386
mov r12, #0Ch
mov [-r0], r12
mov r12, #1026h
mov r13, #0Ch
mov r14, #0AF0h
mov r15, #32h ; '2'
mov r1, r14
mov r2, r15
extp r2, #2
mov r14, [r1+]
mov r15, [r1]
sub r14, #0Fh
mov r1, #1012h
mov r2, #0Ch
extp r2, #1
movb rl1, [r1]
movbz r1, rl1
add r14, r1
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
mov r12, #0Ch
mov [r0], r12
mov r13, #0AF0h
mov r14, #32h ; '2'
mov r15, r13
extp r14, #2
mov r12, [r15+]
mov r13, [r15]
sub r12, #0Fh
mov r14, #1012h
mov r15, #0Ch
extp r15, #1
movb rl1, [r14]
movbz r14, rl1
mov DPP0, #2FFh
add r12, r14
mov r14, word_BFCD9C
mov r15, word_BFCD9E
add r14, #30h ; '0'
movbz r6, rl6
shl r6, #6
add r14, r6
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
add r0, #2
jmpr cc_UC, loc_BFD386
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD352: ; CODE XREF: sub_BFD0F6+ECj
mov r12, #0AF0h
mov r13, #32h ; '2'
extp r13, #2
mov r14, [r12+]
mov r15, [r12]
mov [-r0], r15
mov [-r0], r14
mov r12, #1016h
mov DPP0, #2FFh
mov r13, #0Ch
mov r14, word_BFCD9C
mov r15, word_BFCD9E
add r14, #20h ; ' '
movbz r6, rl6
shl r6, #6
add r14, r6
calls 0BFh, sub_BFD78A
add r0, #4
loc_BFD386: ; CODE XREF: sub_BFD0F6+A6j
; sub_BFD0F6+112j ...
movb rl6, #0
mov r12, #1011h
mov r13, #0Ch
extp r13, #1
movb [r12], rl6
loc_BFD392: ; CODE XREF: sub_BFD0F6+Cj
; sub_BFD0F6+20j ...
mov r6, [r0+]
rets
; End of function sub_BFD0F6
car_A3A8: ;A3A8算法
db 66h, 0B1h, 0BAh, 0A2h, 2, 9Ch, 70h, 4Bh, 37h, 19h, 8
db 0Ch, 0FBh, 0C1h, 0F6h, 0BCh, 6Dh, 0D5h, 97h, 35h, 2Ah
db 4Fh, 0BFh, 73h, 0E9h, 0F2h, 0A4h, 0DFh, 0D1h, 94h, 6Ch
db 0A1h, 0FCh, 25h, 0F4h, 2Fh, 40h, 0D3h, 6, 0EDh, 0B9h
db 0A0h, 8Bh, 71h, 4Ch, 8Ah, 3Bh, 46h, 43h, 1Ah, 0Dh, 9Dh
db 3Fh, 0B3h, 0DDh, 1Eh, 0D6h, 24h, 0A6h, 45h, 98h, 7Ch
db 0CFh, 74h, 0F7h, 0C2h, 29h, 54h, 47h, 1, 31h, 0Eh, 5Fh
db 23h, 0A9h, 15h, 60h, 4Eh, 0D7h, 0E1h, 0B6h, 0F3h, 1Ch
db 5Ch, 0C9h, 76h, 4, 4Ah, 0F8h, 80h, 11h, 0Bh, 92h, 84h
db 0F5h, 30h, 95h, 5Ah, 78h, 27h, 57h, 0E6h, 6Ah, 0E8h
db 0AFh, 13h
db 7Eh ; ~
db 0BEh, 0CAh, 8Dh, 89h, 0B0h, 0FAh, 1Bh, 65h, 28h, 0DBh
db 0E3h, 3Ah, 14h, 33h, 0B2h, 62h, 0D8h, 8Ch, 16h, 20h
db 79h, 3Dh, 67h, 0CBh, 48h, 1Dh, 6Eh, 55h, 0D4h, 0B4h
db 0CCh, 96h, 0B7h, 0Fh, 42h, 0ACh, 0C4h, 38h, 0C5h, 9Eh
db 0, 64h, 2Dh, 99h, 7, 90h, 0DEh, 0A3h, 0A7h, 3Ch, 87h
db 0D2h, 0E7h, 0AEh, 0A5h, 26h, 0F9h, 0E0h, 22h, 0DCh
db 0E5h, 0D9h, 0D0h, 0F1h, 44h, 0CEh, 0BDh, 7Dh, 0FFh
db 0EFh, 36h, 0A8h, 59h, 7Bh, 7Ah, 49h, 91h, 75h, 0EAh
db 8Fh, 63h, 81h, 0C8h, 0C0h, 52h, 68h, 0AAh, 88h, 0EBh
db 5Dh, 51h, 0CDh, 0ADh, 0ECh, 5Eh, 69h, 34h, 2Eh, 0E4h
db 0C6h, 5, 39h, 0FEh, 61h, 9Bh, 8Eh, 85h, 0C7h, 0ABh
db 0BBh, 32h, 41h, 0B5h, 7Fh, 6Bh, 93h, 0E2h, 0B8h, 0DAh
db 83h, 21h, 4Dh, 56h, 1Fh, 2Ch, 58h, 3Eh, 0EEh, 12h, 18h
db 2Bh, 9Ah, 17h, 50h, 9Fh, 86h, 6Fh, 9, 72h, 3, 5Bh, 10h
db 82h, 53h, 0Ah, 0C3h, 0F0h, 0FDh, 77h, 0B1h, 66h, 0A2h
db 0BAh, 9Ch, 2, 4Bh, 70h, 19h, 37h, 0Ch, 8, 0C1h, 0FBh
db 0BCh, 0F6h, 0D5h, 6Dh, 35h, 97h, 4Fh, 2Ah, 73h, 0BFh
db 0F2h, 0E9h, 0DFh, 0A4h, 94h, 0D1h, 0A1h, 6Ch, 25h, 0FCh
db 2Fh, 0F4h, 0D3h, 40h, 0EDh, 6, 0A0h, 0B9h, 71h, 8Bh
db 8Ah, 4Ch, 46h, 3Bh, 1Ah, 43h, 9Dh, 0Dh, 0B3h, 3Fh, 1Eh
db 0DDh, 24h, 0D6h, 45h, 0A6h, 7Ch, 98h, 74h, 0CFh, 0C2h
db 0F7h, 54h, 29h, 1, 47h, 0Eh, 31h, 23h, 5Fh, 15h, 0A9h
db 4Eh, 60h, 0E1h, 0D7h, 0F3h, 0B6h, 5Ch, 1Ch, 76h, 0C9h
db 4Ah, 4, 80h, 0F8h, 0Bh, 11h, 84h, 92h, 30h, 0F5h, 5Ah
db 95h, 27h, 78h, 0E6h, 57h, 0E8h, 6Ah, 13h, 0AFh, 0BEh
db 7Eh, 8Dh, 0CAh, 0B0h, 89h, 1Bh, 0FAh, 28h, 65h, 0E3h
db 0DBh, 14h, 3Ah, 0B2h, 33h, 0D8h, 62h, 16h, 8Ch, 79h
db 20h, 67h, 3Dh, 48h, 0CBh, 6Eh, 1Dh, 0D4h, 55h, 0CCh
db 0B4h, 0B7h, 96h, 42h, 0Fh, 0C4h, 0ACh, 0C5h, 38h, 0
db 9Eh, 2Dh, 64h, 7, 99h, 0DEh, 90h, 0A7h, 0A3h, 87h, 3Ch
db 0E7h, 0D2h, 0A5h, 0AEh, 0F9h, 26h, 22h, 0E0h, 0E5h
db 0DCh, 0D0h, 0D9h, 44h, 0F1h, 0BDh, 0CEh, 0FFh, 7Dh
db 36h, 0EFh, 59h, 0A8h, 7Ah, 7Bh, 91h, 49h, 0EAh, 75h
db 63h, 8Fh, 0C8h, 81h, 52h, 0C0h, 0AAh, 68h, 0EBh, 88h
db 51h, 5Dh, 0ADh, 0CDh, 5Eh, 0ECh, 34h, 69h, 0E4h, 2Eh
db 5, 0C6h, 0FEh, 39h, 9Bh, 61h, 85h, 8Eh, 0ABh, 0C7h
db 32h, 0BBh, 0B5h, 41h, 6Bh, 7Fh, 0E2h, 93h, 0DAh, 0B8h
db 21h, 83h, 56h, 4Dh, 2Ch, 1Fh, 3Eh, 58h, 12h, 0EEh, 2Bh
db 18h, 17h, 9Ah, 9Fh, 50h, 6Fh, 86h, 72h, 9, 5Bh, 3, 82h
db 10h, 0Ah, 53h, 0F0h, 0C3h, 77h, 0FDh, 13h, 0Bh, 50h
db 72h, 2Bh, 1, 45h, 5Eh, 27h, 12h, 7Fh, 75h, 61h, 3, 55h
db 2Bh, 1Bh, 7Ch, 46h, 53h, 2Fh, 47h, 3Fh, 0Ah, 2Fh, 59h
db 4Fh, 4, 0Eh, 3Bh, 0Bh, 5, 23h, 6Bh, 67h, 44h, 15h, 56h
db 24h, 5Bh, 55h, 7Eh, 20h, 32h, 6Dh, 5Eh, 78h, 6, 35h
db 4Fh, 1Ch, 2Dh, 63h, 5Fh, 29h, 22h, 58h, 44h, 5Dh, 37h
db 6Eh, 7Dh, 69h, 14h, 5Ah, 50h, 4Ch, 60h, 17h, 3Ch, 59h
db 40h, 79h, 38h, 0Eh, 4Ah, 65h, 8, 13h, 4Eh, 4Ch, 42h
db 68h, 2Eh, 6Fh, 32h, 20h, 3, 27h, 0, 3Ah, 19h, 5Ch, 16h
db 12h, 33h, 39h, 41h, 77h, 74h, 16h, 6Dh, 7, 56h, 3Bh
db 5Dh
db 3Eh ; >
db 6Eh, 4Eh, 63h, 4Dh, 43h, 0Ch, 71h, 57h, 62h, 66h, 5
db 58h, 21h, 26h, 38h, 17h, 8, 4Bh, 2Dh, 0Dh, 4Bh, 5Fh
db 3Fh, 1Ch, 31h, 7Bh, 78h, 14h, 70h, 2Ch, 1Eh, 0Fh, 62h
db 6Ah, 2, 67h, 1Dh, 52h, 6Bh, 2Ah, 7Ch, 18h, 1Eh, 29h
db 10h, 6Ch, 64h, 75h, 28h, 49h, 28h, 7, 72h, 52h, 73h
db 24h, 70h, 0Ch, 66h, 64h, 54h, 5Ch, 30h, 48h, 61h, 9
db 36h, 37h, 4Ah, 71h, 7Bh, 11h, 1Ah, 35h, 3Ah, 4, 9, 45h
db 7Ah, 15h, 76h, 2Ah, 3Ch, 1Bh, 49h, 76h, 7Dh, 22h, 0Fh
db 41h, 73h, 54h, 40h, 3Eh, 51h, 46h, 1, 18h, 6Fh, 79h
db 53h, 68h, 51h, 31h, 7Fh, 30h, 69h, 1Fh, 0Ah, 6, 5Bh
db 57h, 25h, 10h, 36h, 74h, 7Eh, 1Fh, 26h, 0Dh, 0, 48h
db 6Ah, 4Dh, 3Dh, 1Ah, 43h, 2Eh, 1Dh, 60h, 25h, 3Dh, 34h
db 65h, 11h, 2Ch, 6Ch, 47h, 34h, 42h, 39h, 21h, 33h, 19h
db 5Ah, 2, 77h, 7Ah, 23h, 34h, 32h, 2Ch, 6, 15h, 31h, 29h
db 3Bh, 27h, 33h, 19h, 20h, 33h, 2Fh, 34h, 2Bh, 25h, 4
db 28h, 22h, 3Dh, 0Ch, 1Ch, 4, 3Ah, 17h, 8, 0Fh, 0Ch, 16h
db 9, 12h, 37h, 0Ah, 21h, 23h, 32h, 1, 2Bh, 3, 39h, 0Dh
db 3Eh, 0Eh, 7, 2Ah, 2Ch, 3Bh, 3Eh, 39h, 1Bh, 6, 8, 1Fh
db 1Ah, 36h, 29h, 16h, 2Dh, 14h, 27h, 3, 10h, 38h, 30h
db 2, 15h, 1Ch, 24h, 2Ah, 3Ch, 21h, 22h, 12h, 0, 0Bh, 18h
db 0Ah, 11h, 3Dh, 1Dh, 0Eh, 2Dh, 1Ah, 37h, 2Eh, 0Bh, 11h
db 36h, 2Eh, 9, 18h, 1Eh, 3Ch, 20h, 0, 14h, 26h, 2, 1Eh
db 3Ah, 23h, 1, 10h, 38h, 28h
db 17h ;
db 30h, 0Dh, 13h, 13h, 1Bh, 1Fh, 35h, 2Fh, 26h, 3Fh, 0Fh
db 31h, 5, 25h, 35h, 19h, 24h, 3Fh, 1Dh, 5, 7, 1, 5, 1Dh
db 6, 19h, 1, 12h, 17h, 11h, 13h, 0, 9, 18h, 19h, 6, 1Fh
db 1Ch, 14h, 18h, 1Eh, 4, 1Bh, 3, 0Dh, 0Fh, 10h, 0Eh, 12h
db 4, 3, 8, 9, 14h, 0, 0Ch, 1Ah, 15h, 8, 1Ch, 2, 1Dh, 2
db 0Fh ;
db 7, 0Bh, 16h, 0Eh, 0Ah, 11h, 15h, 0Ch, 1Eh, 1Ah, 1Bh
db 10h, 1Fh, 0Bh, 7, 0Dh, 17h, 0Ah, 5, 16h, 13h, 0Fh, 0Ch
db 0Ah, 4, 1, 0Eh, 0Bh, 7, 5, 0
db 0Eh ;
db 7, 1, 2, 0Dh, 8, 0Ah, 3, 4, 9, 6, 0, 3, 2, 5, 6
db 8 ;
db 9 ;
db 0Bh ;
db 0Dh ;
db 0Fh ;
db 0Ch ;
;adr_索引表
dw 1396h
dw 2FFh
dw 1596h
dw 2FFh
dw 1696h
dw 2FFh
dw 1716h
dw 2FFh
dw 1756h
dw 2FFh
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFD78A: ; CODE XREF: sub_BFD0F6+28AP
mov [-r0], r9
mov [-r0], r8
mov [-r0], r7
mov [-r0], r6
mov [-r0], r15
mov [-r0], r14
sub r0, #0A2h ; '?
mov r10, [r0+0B0h]
mov r3, [r0+0AEh]
mov r14, #10h
loc_BFD7A6: ; CODE XREF: sub_BFD78A+34j
mov r15, r12
mov r8, r13
sub r15, #10h
add r15, r14
extp r8, #1
movb rl6, [r15]
mov r15, r14
add r15, r0
movb [r15], rl6
cmpi1 r14, #1Fh
jmpr cc_SLT, loc_BFD7A6
mov r14, #1
loc_BFD7C2: ; CODE XREF: sub_BFD78A+1B2j
mov r12, #0
loc_BFD7C4: ; CODE XREF: sub_BFD78A+50j
mov r13, [r0+0A2h]
mov r15, [r0+0A4h]
add r13, r12
extp r15, #1
movb rl6, [r13]
mov r13, r12
add r13, r0
movb [r13], rl6
cmpi1 r12, #0Fh
jmpr cc_SLT, loc_BFD7C4
mov r12, #0
loc_BFD7DE: ; CODE XREF: sub_BFD78A+128j
mov r13, #0
jmpa cc_UC, loc_BFD8A8
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD7E4: ; CODE XREF: sub_BFD78A+124j
mov r15, #0
jmpa cc_UC, loc_BFD89A
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFD7EA: ; CODE XREF: sub_BFD78A+11Aj
mov r8, #5
sub r8, r12
mov r9, #1
shl r9, r8
mul r9, r13
mov r8, word_FE0E
mov r11, r15
add r11, r8
mov r9, #4
sub r9, r12
mov r7, #1
shl r7, r9
mov r6, r11
add r6, r7
mov r1, r0
and r1, #3FFFh
mov r2, DPP1
add r1, r11
extp r2, #1
movb rl7, [r1]
movbz r7, rl7
mov r8, r0
and r8, #3FFFh
mov r9, DPP1
add r8, r6
extp r9, #1
movb rl4, [r8]
movbz r4, rl4
shl r4, #1
add r7, r4
mov r4, #9
sub r4, r12
mov r6, #1
shl r6, r4
mov word_FE0E, r7
div r6
mov r7, word_FE0C
mov [r0+0A0h], r7
extp r9, #1
movb rl4, [r8]
movbz r4, rl4
extp r2, #1
movb rl5, [r1]
movbz r11, rl5
shl r11, #1
add r11, r4
mov word_FE0E, r11
div r6
mov r11, word_FE0C
mov r6, #1776h
mov r7, #2FFh
mov r4, r12
shl r4, #2
add r6, r4
extp r7, #2
mov r5, [r6+2]
mov r4, [r6]
mov [-r0], r3
mov r3, [r0+0A2h]
add r4, r3
extp r5, #1
movb rl4, [r4]
extp r2, #1
movb [r1], rl4
mov r3, [r0+]
extp r7, #2
mov r1, [r6+]
mov r2, [r6]
add r1, r11
extp r2, #1
movb rl6, [r1]
extp r9, #1
movb [r8], rl6
add r15, #1
loc_BFD89A: ; CODE XREF: sub_BFD78A+5Cj
mov r8, #4
sub r8, r12
mov r9, #1
shl r9, r8
cmp r9, r15
jmpr cc_SGT, loc_BFD7EA
add r13, #1
loc_BFD8A8: ; CODE XREF: sub_BFD78A+56j
mov r15, #1
shl r15, r12
cmp r15, r13
jmpr cc_SGT, loc_BFD7E4
cmpi1 r12, #4
jmpr cc_SLT, loc_BFD7DE
mov r12, #0
loc_BFD8B6: ; CODE XREF: sub_BFD78A+152j
mov r13, #0
loc_BFD8B8: ; CODE XREF: sub_BFD78A+14Cj
mov r15, r12
add r15, r0
movb rl6, [r15]
movbz r6, rl6
mov r15, #3
sub r15, r13
shr r6, r15
andb rl6, #1
mov r15, r12
shl r15, #2
add r15, r13
add r15, r0
movb [r15+20h], rl6
cmpi1 r13, #3
jmpr cc_SLT, loc_BFD8B8
cmpi1 r12, #1Fh
jmpr cc_SLT, loc_BFD8B6
cmp r14, #8
jmpr cc_SGE, loc_BFD93A
mov r12, #0
loc_BFD8E6: ; CODE XREF: sub_BFD78A+1AEj
movb rl6, #0
mov r1, #10h
add r1, r0
and r1, #3FFFh
mov r2, DPP1
add r1, r12
extp r2, #1
movb [r1], rl6
mov r13, #0
loc_BFD8FE: ; CODE XREF: sub_BFD78A+1AAj
mov r8, r12
shl r8, #3
add r8, r13
mov r15, r8
shl r15, #4
add r15, r8
mov r8, r15
ashr r15, #6
shr r15, #9
add r15, r8
and r15, #0FF80h
neg r15
add r15, r8
extp r2, #1
movb rl6, [r1]
add r15, r0
movb rl7, [r15+20h]
movbz r7, rl7
mov r15, #7
sub r15, r13
shl r7, r15
orb rl6, rl7
extp r2, #1
movb [r1], rl6
cmpi1 r13, #7
jmpr cc_SLT, loc_BFD8FE
cmpi1 r12, #0Fh
jmpr cc_SLT, loc_BFD8E6
loc_BFD93A: ; CODE XREF: sub_BFD78A+158j
cmpi1 r14, #8
jmpa cc_SLT, loc_BFD7C2
mov r14, #0
loc_BFD942: ; CODE XREF: sub_BFD78A+1DAj
mov r12, r14
shl r12, #1
mov r13, r12
add r13, r0
movb rl6, [r13+1]
add r12, r0
movb rl7, [r12]
movbz r7, rl7
shl r7, #4
orb rl7, rl6
mov r12, r3
mov r13, r10
add r12, r14
extp r13, #1
movb [r12], rl7
cmpi1 r14, #3
jmpr cc_SLT, loc_BFD942
mov r14, #0
loc_BFD968: ; CODE XREF: sub_BFD78A+216j
mov r12, r14
shl r12, #1
mov r13, r12
add r13, r0
movb rl6, [r13+12h]
movbz r6, rl6
shl r6, #6
mov r13, r12
add r13, r0
movb rl7, [r13+13h]
movbz r7, rl7
shl r7, #2
orb rl6, rl7
add r12, r0
movb rl7, [r12+14h]
movbz r7, rl7
shr r7, #2
orb rl6, rl7
mov r12, r3
mov r13, r10
add r12, #4
add r12, r14
extp r13, #1
movb [r12], rl6
cmpi1 r14, #5
jmpr cc_SLT, loc_BFD968
movb rl6, [r0+1Eh]
movbz r6, rl6
shl r6, #6
movb rl7, [r0+1Fh]
movbz r7, rl7
shl r7, #2
orb rl6, rl7
extp r10, #1
movb [r3+0Ah], rl6
movb rl6, #0
extp r10, #1
movb [r3+0Bh], rl6
add r0, #0A6h ; '?
mov r6, [r0+]
mov r7, [r0+]
mov r8, [r0+]
mov r9, [r0+]
rets
; End of function sub_BFD78A
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆?
word_BFD9D0: dw 0B40h ;
;
word_BFD9D2: dw 2FFh ;
; 新建菜单项表
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 1Ah ;
db 0DAh ; ?
db 0BFh ; ?
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0E8h ; ?
db 3Ch ; <
db 0CAh ; ?
db 3 ;
db 0D6h ; ?
db 3Ch ; <
db 0CAh ; ?
db 3 ;
db 1 ;
db 0 ;
db 0 ;
db 0 ;
db 84h ; ?
db 0DAh ; ?
db 0BFh ; ?
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 0 ;
db 65h ; e
db 0 ;
db 0Ch ;
db 0 ;
db 6Ah ; j
db 12h ;
db 47h ; G
db 3 ;
db 0 ;
db 14h ;
db 0FFh ;
db 7Fh ;
aMyNetwork: db 'My Network',0 ; My Network
db 0FFh ;
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
mov r1, r14
extp r15, #1
mov r14, [r1+1Eh]
cmp r14, #4
jmpr cc_NZ, loc_BFDA80
extp #2FFh, #2
mov r4, word_BFDED8
mov r5, word_BFDEDA
calls 0BFh, sub_BFDEF4
mov r12, r4
mov r13, #0D78h
mov r14, #36h ; '6'
extp r14, #1
movb rl1, [r13]
movbz r13, rl1
cmp r13, r12
jmpr cc_Z, loc_BFDA80
cmp r12, #0
jmpr cc_Z, loc_BFDA6E
cmp r12, #0
jmpr cc_SLE, loc_BFDA80
mov DPP0, #2FFh
mov r15, r12
mov r13, word_BFD9D0
mov r14, word_BFD9D2
sub r13, #30h ; '0'
shl r15, #6
add r13, r15
extp r14, #1
movb rl1, [r13]
jmpr cc_Z, loc_BFDA80
loc_BFDA6E: ; CODE XREF: j
mov r1, r12
mov r12, #0D78h
mov r13, #36h ; '6'
extp r13, #1
movb [r12], rl1
calls 0BFh, sub_BFDE84
loc_BFDA80: ; CODE XREF: j
; j ...
mov r4, #0
rets
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
mov [-r0], r9
mov [-r0], r8
mov [-r0], r7
mov [-r0], r6
sub r0, #70h ; 'p'
mov r9, r15
mov r8, r14
mov r7, r13
mov r6, r12
mov r12, r8
mov r13, r9
sub r12, #8
subc r13, #0
jmpa cc_SGE, loc_BFDC9A
mov r12, r9
or r12, r8
jmpr cc_NZ, loc_BFDAB6
mov r12, #0B20h
mov r13, #2FFh
jmpr cc_UC, loc_BFDAD6
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFDAB6: ; CODE XREF: j
mov DPP0, #2FFh
mov r14, r8
mov r12, word_BFD9D0
mov r13, word_BFD9D2
sub r12, #40h ; '@'
mov r15, r9
mov r1, r14
shl r14, #6
shl r15, #6
shr r1, #10
or r15, r1
add r12, r14
loc_BFDAD6: ; CODE XREF: j
mov r14, #31h ; '1'
mov r15, #0
add r14, r8
addc r15, r9
mov r1, r14
movb [r0], rl1
movb rl2, #2Dh ; '-'
movb [r0+1], rl2
mov r14, #10h
mov [-r0], r14
mov r15, r12
mov r3, r13
mov r12, #4
add r12, r0
and r12, #3FFFh
mov r13, DPP1
mov r14, r15
mov r15, r3
extp #2FFh, #2
mov r4, word_BFDE98
mov r5, word_BFDE9A
calls 0BFh, sub_BFDEF4
add r0, #2
mov r12, r0
and r12, #3FFFh
mov r13, DPP1
extp #2FFh, #2
mov r4, word_BFDE94
mov r5, word_BFDE96
calls 0BFh, sub_BFDEF4
mov r14, r4
cmp r14, #1Eh
jmpa cc_SGE, loc_BFDC9A
mov [-r0], r14
mov r12, #1Eh
mov [-r0], r12
mov r12, #60h ; '`'
add r12, r0
and r12, #3FFFh
mov r13, DPP1
mov r14, #24h ; '$'
add r14, r0
and r14, #3FFFh
mov r15, DPP1
extp #2FFh, #2
mov r4, word_BFDECC
mov r5, word_BFDECE
calls 0BFh, sub_BFDEF4
add r0, #2
mov r12, r4
mov r13, r5
mov r14, [r0+]
mov [-r0], r13
mov [-r0], r12
mov [-r0], r14
mov r14, #6
add r14, r0
and r14, #3FFFh
mov r15, DPP1
extp #2FFh, #2
mov r4, word_BFDEE8
mov r5, word_BFDEEA
calls 0BFh, sub_BFDEF4
add r0, #2
mov r12, [r0+]
mov r13, [r0+]
mov [-r0], r12
mov [-r0], r13
mov r12, r6
mov r13, r7
mov r15, [r0]
mov r14, [r0+2]
extp r15, #2
mov r1, [r14+]
mov r2, [r14]
extp r2, #1
mov r14, [r1]
extp #2FFh, #2
mov r4, word_BFDEDC
mov r5, word_BFDEDE
calls 0BFh, sub_BFDEF4
mov [r0+1Ch], r4
mov [r0+1Eh], r5
mov r13, [r0+]
mov r12, [r0+]
mov r14, r12
mov r15, r13
mov r12, r4
mov r13, r5
extp #2FFh, #2
mov r4, word_BFDEE0
mov r5, word_BFDEE2
calls 0BFh, sub_BFDEF4
mov r12, r6
mov r13, r7
extp #2FFh, #2
mov r4, word_BFDEC8
mov r5, word_BFDECA
calls 0BFh, sub_BFDEF4
mov [r0+1Ch], r4
mov [r0+1Eh], r5
mov r12, #0D79h
mov r13, #36h ; '6'
extp r13, #1
movb rl1, [r12]
movbz r1, rl1
mov r12, #0
sub r1, r8
subc r12, r9
jmpr cc_NZ, loc_BFDC28
mov r12, #39DEh
mov r13, #399h
jmpr cc_UC, loc_BFDC30
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
loc_BFDC28: ; CODE XREF: j
mov r12, #39E2h
mov r13, #399h
loc_BFDC30: ; CODE XREF: j
mov [-r0], r13
mov [-r0], r12
mov r12, r6
mov r13, r7
mov r14, [r0+20h]
mov r15, [r0+22h]
extp #2FFh, #2
mov r4, word_BFDED4
mov r5, word_BFDED6
calls 0BFh, sub_BFDEF4
add r0, #4
mov r12, r6
mov r13, r7
mov r14, #3CDCh
mov r15, #3CAh
extp #2FFh, #2
mov r4, word_BFDED0
mov r5, word_BFDED2
calls 0BFh, sub_BFDEF4
mov [-r0], r8
mov r9, [r0+1Ah]
mov r12, [r0+1Ch]
mov [-r0], r12
mov [-r0], r9
mov r12, r6
mov r13, r7
mov r14, [r0+22h]
mov r15, [r0+24h]
extp #2FFh, #2
mov r4, word_BFDEE4
mov r5, word_BFDEE6
calls 0BFh, sub_BFDEF4
add r0, #6
loc_BFDC9A: ; CODE XREF: j
; j
add r0, #70h ; 'p'
mov r6, [r0+]
mov r7, [r0+]
mov r8, [r0+]
mov r9, [r0+]
rets
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFDCA8: ; CODE XREF: P
mov [-r0], r9
mov [-r0], r8
extp #2FFh, #2
mov r12, word_BFDEA8
mov r13, word_BFDEAA
mov [-r0], r12
shr r12, #14
shl r13, #2
or r13, r12
mov r12, [r0+]
and r12, #3FFFh
mov r14, r13
shl r14, #14
or r12, r14
shr r13, #2
extp #2FFh, #2
mov r14, word_BFDEA4
mov r15, word_BFDEA6
mov [-r0], r14
shr r14, #14
shl r15, #2
or r15, r14
mov r14, [r0+]
and r14, #3FFFh
mov r1, r15
shl r1, #14
or r14, r1
shr r15, #2
extp #2FFh, #2
mov r4, word_BFDEAC
mov r5, word_BFDEAE
calls 0BFh, sub_BFDEF4
mov r8, r4
mov r9, r5
mov r12, r8
mov r13, r9
mov r14, #19D4h
mov r15, #2FFh
extp #2FFh, #2
mov r4, word_BFDEB4
mov r5, word_BFDEB6
calls 0BFh, sub_BFDEF4
mov r12, r8
mov r13, r9
mov r14, #8
mov r15, #0
extp #2FFh, #2
mov r4, word_BFDEB8
mov r5, word_BFDEBA
calls 0BFh, sub_BFDEF4
mov r12, r8
mov r13, r9
mov r14, #0D79h
mov r15, #36h ; '6'
extp r15, #1
movb rl1, [r14]
movbz r14, rl1
mov r15, #0
extp #2FFh, #2
mov r4, word_BFDEBC
mov r5, word_BFDEBE
calls 0BFh, sub_BFDEF4
mov r12, #1400h
mov r13, #0
extp #2FFh, #2
mov r4, word_BFDEF0
mov r5, word_BFDEF2
calls 0BFh, sub_BFDEF4
mov r12, #1400h
mov r13, #1E76h
mov r14, #2FFh
mov r15, #0
extp #2FFh, #2
mov r4, word_BFDEEC
mov r5, word_BFDEEE
calls 0BFh, sub_BFDEF4
extp #2FFh, #2
mov r12, word_BFDEA8
mov r13, word_BFDEAA
mov [-r0], r12
shr r12, #14
shl r13, #2
or r13, r12
mov r12, [r0+]
and r12, #3FFFh
mov r14, r13
shl r14, #14
or r12, r14
shr r13, #2
mov [-r0], r13
mov [-r0], r12
mov r12, r8
mov r13, r9
mov r14, #19FEh
mov r15, #2FFh
extp #2FFh, #2
mov r4, word_BFDEC0
mov r5, word_BFDEC2
calls 0BFh, sub_BFDEF4
add r0, #4
mov r12, r8
mov r13, r9
extp #2FFh, #2
mov r4, word_BFDEC4
mov r5, word_BFDEC6
calls 0BFh, sub_BFDEF4
mov r8, [r0+]
mov r9, [r0+]
rets
; End of function sub_BFDCA8
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFDDEE: ; CODE XREF: P
mov r14, #0D79h
mov r15, #36h ; '6'
extp r15, #1
movb rl1, [r14]
jmpr cc_Z, loc_BFDE74
mov r14, #0D79h
mov r15, #36h ; '6'
extp r15, #1
movb rl1, [r14]
movbz r14, rl1
cmp r14, #7
jmpr cc_SGT, loc_BFDE74
mov DPP0, #2FFh
mov r1, #0D79h
mov r14, word_BFD9D0
mov r15, word_BFD9D2
sub r14, #40h ; '@'
mov r2, #36h ; '6'
extp r2, #1
movb rl1, [r1]
movbz r1, rl1
shl r1, #6
add r14, r1
mov [-r0], r12
mov [-r0], r13
mov [-r0], r14
mov [-r0], r15
mov r13, [r0]
mov r12, [r0+2]
extp #2FFh, #2
mov r4, word_BFDE94
mov r5, word_BFDE96
calls 0BFh, sub_BFDEF4
mov [-r0], r4
mov r13, [r0+6]
mov r12, [r0+8]
mov r15, [r0+2]
mov r14, [r0+4]
extp #2FFh, #2
mov r4, word_BFDEE8
mov r5, word_BFDEEA
calls 0BFh, sub_BFDEF4
add r0, #0Ah
loc_BFDE74: ; CODE XREF: sub_BFDDEE+Cj
; sub_BFDDEE+1Ej
rets
; End of function sub_BFDDEE
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
aKvsimVer0_9: db 'kvSIM ver 0.9',0
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFDE84: ; CODE XREF: P
mov r12, #34A0h
mov r13, #0Eh
mov r14, #5
mov r15, #5
calls 0B4h, sub_B4724C
rets
; End of function sub_BFDE84
; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
word_BFDE94: dw 8536h ; DATA XREF: r
; sub_BFDDEE+54r
word_BFDE96: dw 0C7h ; DATA XREF: r
; sub_BFDDEE+58r
word_BFDE98: dw 83B4h ; DATA XREF: r
; r ...
word_BFDE9A: dw 0C7h ; DATA XREF: r
; r ...
word_BFDE9C: dw 0E410h ; DATA XREF: r
word_BFDE9E: dw 0B2h ; DATA XREF: r
dw 0B04Ch
dw 0CDh
word_BFDEA4: dw 89C8h ; DATA XREF: sub_BFDCA8+2Ar
word_BFDEA6: dw 0D3h ; DATA XREF: sub_BFDCA8+2Er
word_BFDEA8: dw 898Ch ; DATA XREF: sub_BFDCA8+8r
; sub_BFDCA8+ECr
word_BFDEAA: dw 0D3h ; DATA XREF: sub_BFDCA8+Cr
; sub_BFDCA8+F0r
word_BFDEAC: dw 0B24Ch ; DATA XREF: sub_BFDCA8+4Cr
word_BFDEAE: dw 0E5h ; DATA XREF: sub_BFDCA8+50r
dw 0E492h
dw 0E5h
word_BFDEB4: dw 0E20Ah ; DATA XREF: sub_BFDCA8+6Cr
word_BFDEB6: dw 0E5h ; DATA XREF: sub_BFDCA8+70r
word_BFDEB8: dw 0E4A8h ; DATA XREF: sub_BFDCA8+84r
word_BFDEBA: dw 0E5h ; DATA XREF: sub_BFDCA8+88r
word_BFDEBC: dw 0E54Eh ; DATA XREF: sub_BFDCA8+A8r
word_BFDEBE: dw 0E5h ; DATA XREF: sub_BFDCA8+ACr
word_BFDEC0: dw 3EF8h ; DATA XREF: sub_BFDCA8+11Er
word_BFDEC2: dw 0D6h ; DATA XREF: sub_BFDCA8+122r
word_BFDEC4: dw 0EA82h ; DATA XREF: sub_BFDCA8+134r
word_BFDEC6: dw 0F3h ; DATA XREF: sub_BFDCA8+138r
word_BFDEC8: dw 0EEA0h ; DATA XREF: r
word_BFDECA: dw 0E5h ; DATA XREF: r
word_BFDECC: dw 0 ; DATA XREF: r
word_BFDECE: dw 0F6h ; DATA XREF: r
word_BFDED0: dw 0E516h ; DATA XREF: r
word_BFDED2: dw 0E5h ; DATA XREF: r
word_BFDED4: dw 0EC32h ; DATA XREF: r
word_BFDED6: dw 0E5h ; DATA XREF: r
word_BFDED8: dw 0EE40h ; DATA XREF: r
word_BFDEDA: dw 0E5h ; DATA XREF: r
word_BFDEDC: dw 0F0E2h ; DATA XREF: r
word_BFDEDE: dw 0E5h ; DATA XREF: r
word_BFDEE0: dw 132h ; DATA XREF: r
word_BFDEE2: dw 0F6h ; DATA XREF: r
word_BFDEE4: dw 0D860h ; DATA XREF: r
word_BFDEE6: dw 0E5h ; DATA XREF: r
word_BFDEE8: dw 0F6FCh ; DATA XREF: r
; sub_BFDDEE+76r
word_BFDEEA: dw 0E4h ; DATA XREF: r
; sub_BFDDEE+7Ar
word_BFDEEC: dw 0A7CEh ; DATA XREF: sub_BFDCA8+DCr
word_BFDEEE: dw 0E4h ; DATA XREF: sub_BFDCA8+E0r
word_BFDEF0: dw 0A990h ; DATA XREF: sub_BFDCA8+BEr
word_BFDEF2: dw 0E4h ; DATA XREF: sub_BFDCA8+C2r
; ★★★★★★★★ S U B R O U T I N E ★★★★★★★★★★★★★★★★★★★
sub_BFDEF4: ; CODE XREF: P
; P ...
push r5
push r4
rets
; End of function sub_BFDEF4
Patch EndS
END |
|