POKEMON SHUFFLE socre

来源:互联网 发布:电气绘图模拟软件 编辑:程序博客网 时间:2024/06/10 06:27
.text:6045A868
.text:6045A868 ; =============== S U B R O U T I N E =======================================
.text:6045A868
.text:6045A868
.text:6045A868 ; gmThread::Sys_Execute(gmVariable *)
.text:6045A868                 EXPORT _ZN8gmThread11Sys_ExecuteEP10gmVariable
.text:6045A868 _ZN8gmThread11Sys_ExecuteEP10gmVariable ; CODE XREF: gmMachine::ExecuteLib(gmStream &,int *,bool,char const*,gmVariable *)+7Cp
.text:6045A868                                         ; gmMachine::ExecuteFunction(gmFunctionObject *,int *,bool,gmVariable *)+60p ...
.text:6045A868
.text:6045A868 var_80          = -0x80
.text:6045A868 var_78          = -0x78
.text:6045A868 var_74          = -0x74
.text:6045A868 var_70          = -0x70
.text:6045A868 var_6C          = -0x6C
.text:6045A868 var_68          = -0x68
.text:6045A868 var_64          = -0x64
.text:6045A868 var_60          = -0x60
.text:6045A868 var_54          = -0x54
.text:6045A868 var_50          = -0x50
.text:6045A868 var_4C          = -0x4C
.text:6045A868 var_48          = -0x48
.text:6045A868 var_40          = -0x40
.text:6045A868 var_3C          = -0x3C
.text:6045A868 var_38          = -0x38
.text:6045A868 var_30          = -0x30
.text:6045A868 var_28          = -0x28
.text:6045A868
.text:6045A868                 STMFD           SP!, {R4-R11,LR}
.text:6045A86C                 SUB             SP, SP, #0x5C
.text:6045A870                 LDR             R12, [R0,#0x34]
.text:6045A874                 MOV             R5, R0
.text:6045A878                 STR             R1, [SP,#0x80+var_64]
.text:6045A87C                 STR             R12, [SP,#0x80+var_70]
.text:6045A880                 LDR             R12, =(_GLOBAL_OFFSET_TABLE_ - 0x6045A88C)
.text:6045A884                 ADD             R12, PC, R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045A888                 STR             R12, [SP,#0x80+var_68]
.text:6045A88C                 LDR             R12, [SP,#0x80+var_70]
.text:6045A890                 CMP             R12, #0
.text:6045A894                 BNE             loc_6045AA84
.text:6045A898                 LDR             R3, [R0,#0x10]
.text:6045A89C                 CMP             R3, #0
.text:6045A8A0                 BNE             loc_6045B67C
.text:6045A8A4
.text:6045A8A4 loc_6045A8A4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+E20j
.text:6045A8A4                                         ; gmThread::Sys_Execute(gmVariable *)+E2Cj ...
.text:6045A8A4                 LDR             R2, [R5,#0x2C]
.text:6045A8A8                 MOV             R11, #3
.text:6045A8AC                 LDR             R3, [R5,#0x20]
.text:6045A8B0                 ADD             R1, SP, #0x80+var_60
.text:6045A8B4                 SUB             R2, R2, #0xE0000001
.text:6045A8B8                 LDR             R4, [R5,#0x28]
.text:6045A8BC                 STR             R1, [SP,#0x80+var_78]
.text:6045A8C0                 ADD             R12, SP, #0x80+var_30
.text:6045A8C4                 MOV             R2, R2,LSL R11
.text:6045A8C8                 STR             R12, [SP,#0x80+var_6C]
.text:6045A8CC                 ADD             R1, R3, R2
.text:6045A8D0                 ADD             R2, R2, #8
.text:6045A8D4                 ADD             R7, R3, R2
.text:6045A8D8                 ADD             R4, R3, R4,LSL#3
.text:6045A8DC                 LDR             R3, [R1,#4]
.text:6045A8E0                 MOV             R6, #0
.text:6045A8E4                 LDR             R12, [R5,#0x44]
.text:6045A8E8                 LDR             R3, [R3,#0x1C]
.text:6045A8EC                 CMP             R12, R6
.text:6045A8F0                 MOVEQ           R12, R3
.text:6045A8F4                 STR             R3, [SP,#0x80+var_50]
.text:6045A8F8
.text:6045A8F8 loc_6045A8F8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+22Cj
.text:6045A8F8                                         ; gmThread::Sys_Execute(gmVariable *)+264j ...
.text:6045A8F8                 ADD             R3, R12, #4
.text:6045A8FC                 STR             R3, [SP,#0x80+var_54]
.text:6045A900                 LDR             R0, [R12]
.text:6045A904                 CMP             R0, #0x39 ; switch 58 cases
.text:6045A908                 ADDLS           PC, PC, R0,LSL#2 ; switch jump
.text:6045A90C ; ---------------------------------------------------------------------------
.text:6045A90C
.text:6045A90C loc_6045A90C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A90C                 B               loc_6045AA90 ; _ZN18VNetworkLightGroupD2Ev_ptr ; jumptable 003B5908 default case
.text:6045A910 ; ---------------------------------------------------------------------------
.text:6045A910
.text:6045A910 loc_6045A910                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A910                 B               loc_6045AEFC ; jumptable 003B5908 case 0
.text:6045A914 ; ---------------------------------------------------------------------------
.text:6045A914
.text:6045A914 loc_6045A914                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A914                 B               loc_6045B1E8 ; jumptable 003B5908 case 1
.text:6045A918 ; ---------------------------------------------------------------------------
.text:6045A918
.text:6045A918 loc_6045A918                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A918                 B               loc_6045B118 ; jumptable 003B5908 case 2
.text:6045A91C ; ---------------------------------------------------------------------------
.text:6045A91C
.text:6045A91C loc_6045A91C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A91C                 B               loc_6045AFD8 ; jumptable 003B5908 case 3
.text:6045A920 ; ---------------------------------------------------------------------------
.text:6045A920
.text:6045A920 loc_6045A920                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A920                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A924 ; ---------------------------------------------------------------------------
.text:6045A924
.text:6045A924 loc_6045A924                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A924                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A928 ; ---------------------------------------------------------------------------
.text:6045A928
.text:6045A928 loc_6045A928                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A928                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A92C ; ---------------------------------------------------------------------------
.text:6045A92C
.text:6045A92C loc_6045A92C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A92C                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A930 ; ---------------------------------------------------------------------------
.text:6045A930
.text:6045A930 loc_6045A930                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A930                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A934 ; ---------------------------------------------------------------------------
.text:6045A934
.text:6045A934 loc_6045A934                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A934                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A938 ; ---------------------------------------------------------------------------
.text:6045A938
.text:6045A938 loc_6045A938                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A938                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A93C ; ---------------------------------------------------------------------------
.text:6045A93C
.text:6045A93C loc_6045A93C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A93C                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A940 ; ---------------------------------------------------------------------------
.text:6045A940
.text:6045A940 loc_6045A940                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A940                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A944 ; ---------------------------------------------------------------------------
.text:6045A944
.text:6045A944 loc_6045A944                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A944                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A948 ; ---------------------------------------------------------------------------
.text:6045A948
.text:6045A948 loc_6045A948                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A948                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A94C ; ---------------------------------------------------------------------------
.text:6045A94C
.text:6045A94C loc_6045A94C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A94C                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A950 ; ---------------------------------------------------------------------------
.text:6045A950
.text:6045A950 loc_6045A950                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A950                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A954 ; ---------------------------------------------------------------------------
.text:6045A954
.text:6045A954 loc_6045A954                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A954                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A958 ; ---------------------------------------------------------------------------
.text:6045A958
.text:6045A958 loc_6045A958                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A958                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A95C ; ---------------------------------------------------------------------------
.text:6045A95C
.text:6045A95C loc_6045A95C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A95C                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A960 ; ---------------------------------------------------------------------------
.text:6045A960
.text:6045A960 loc_6045A960                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A960                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A964 ; ---------------------------------------------------------------------------
.text:6045A964
.text:6045A964 loc_6045A964                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A964                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A968 ; ---------------------------------------------------------------------------
.text:6045A968
.text:6045A968 loc_6045A968                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A968                 B               loc_6045AF8C ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045A96C ; ---------------------------------------------------------------------------
.text:6045A96C
.text:6045A96C loc_6045A96C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A96C                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A970 ; ---------------------------------------------------------------------------
.text:6045A970
.text:6045A970 loc_6045A970                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A970                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A974 ; ---------------------------------------------------------------------------
.text:6045A974
.text:6045A974 loc_6045A974                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A974                 B               loc_6045AA98 ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045A978 ; ---------------------------------------------------------------------------
.text:6045A978
.text:6045A978 loc_6045A978                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A978                 B               loc_6045AA90 ; jumptable 003B5908 default case
.text:6045A97C ; ---------------------------------------------------------------------------
.text:6045A97C
.text:6045A97C loc_6045A97C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A97C                 B               loc_6045B0CC ; jumptable 003B5908 case 27
.text:6045A980 ; ---------------------------------------------------------------------------
.text:6045A980
.text:6045A980 loc_6045A980                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A980                 B               loc_6045B0BC ; jumptable 003B5908 case 28
.text:6045A984 ; ---------------------------------------------------------------------------
.text:6045A984
.text:6045A984 loc_6045A984                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A984                 B               loc_6045AC5C ; jumptable 003B5908 case 29
.text:6045A988 ; ---------------------------------------------------------------------------
.text:6045A988
.text:6045A988 loc_6045A988                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A988                 B               loc_6045AC00 ; jumptable 003B5908 case 30
.text:6045A98C ; ---------------------------------------------------------------------------
.text:6045A98C
.text:6045A98C loc_6045A98C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A98C                 B               loc_6045ABB4 ; jumptable 003B5908 case 31
.text:6045A990 ; ---------------------------------------------------------------------------
.text:6045A990
.text:6045A990 loc_6045A990                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A990                 B               loc_6045AB60 ; jumptable 003B5908 case 32
.text:6045A994 ; ---------------------------------------------------------------------------
.text:6045A994
.text:6045A994 loc_6045A994                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A994                 B               loc_6045AAD0 ; jumptable 003B5908 case 33
.text:6045A998 ; ---------------------------------------------------------------------------
.text:6045A998
.text:6045A998 loc_6045A998                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A998                 B               loc_6045A9F8 ; jumptable 003B5908 case 34
.text:6045A99C ; ---------------------------------------------------------------------------
.text:6045A99C
.text:6045A99C loc_6045A99C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A99C                 B               loc_6045AA04 ; jumptable 003B5908 case 35
.text:6045A9A0 ; ---------------------------------------------------------------------------
.text:6045A9A0
.text:6045A9A0 loc_6045A9A0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9A0                 B               loc_6045AE4C ; jumptable 003B5908 case 36
.text:6045A9A4 ; ---------------------------------------------------------------------------
.text:6045A9A4
.text:6045A9A4 loc_6045A9A4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9A4                 B               loc_6045AE40 ; jumptable 003B5908 case 37
.text:6045A9A8 ; ---------------------------------------------------------------------------
.text:6045A9A8
.text:6045A9A8 loc_6045A9A8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9A8                 B               loc_6045AE34 ; jumptable 003B5908 case 38
.text:6045A9AC ; ---------------------------------------------------------------------------
.text:6045A9AC
.text:6045A9AC loc_6045A9AC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9AC                 B               loc_6045AE20 ; jumptable 003B5908 case 39
.text:6045A9B0 ; ---------------------------------------------------------------------------
.text:6045A9B0
.text:6045A9B0 loc_6045A9B0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9B0                 B               loc_6045ADFC ; jumptable 003B5908 case 40
.text:6045A9B4 ; ---------------------------------------------------------------------------
.text:6045A9B4
.text:6045A9B4 loc_6045A9B4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9B4                 B               loc_6045ADD4 ; jumptable 003B5908 case 41
.text:6045A9B8 ; ---------------------------------------------------------------------------
.text:6045A9B8
.text:6045A9B8 loc_6045A9B8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9B8                 B               loc_6045ADC0 ; jumptable 003B5908 case 42
.text:6045A9BC ; ---------------------------------------------------------------------------
.text:6045A9BC
.text:6045A9BC loc_6045A9BC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9BC                 B               loc_6045ADA4 ; jumptable 003B5908 case 43
.text:6045A9C0 ; ---------------------------------------------------------------------------
.text:6045A9C0
.text:6045A9C0 loc_6045A9C0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9C0                 B               loc_6045AD90 ; jumptable 003B5908 case 44
.text:6045A9C4 ; ---------------------------------------------------------------------------
.text:6045A9C4
.text:6045A9C4 loc_6045A9C4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9C4                 B               loc_6045AD78 ; jumptable 003B5908 case 45
.text:6045A9C8 ; ---------------------------------------------------------------------------
.text:6045A9C8
.text:6045A9C8 loc_6045A9C8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9C8                 B               loc_6045AD5C ; jumptable 003B5908 case 46
.text:6045A9CC ; ---------------------------------------------------------------------------
.text:6045A9CC
.text:6045A9CC loc_6045A9CC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9CC                 B               loc_6045AD44 ; jumptable 003B5908 case 47
.text:6045A9D0 ; ---------------------------------------------------------------------------
.text:6045A9D0
.text:6045A9D0 loc_6045A9D0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9D0                 B               loc_6045AD14 ; jumptable 003B5908 case 48
.text:6045A9D4 ; ---------------------------------------------------------------------------
.text:6045A9D4
.text:6045A9D4 loc_6045A9D4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9D4                 B               loc_6045ACF8 ; jumptable 003B5908 case 49
.text:6045A9D8 ; ---------------------------------------------------------------------------
.text:6045A9D8
.text:6045A9D8 loc_6045A9D8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9D8                 B               loc_6045ACD4 ; jumptable 003B5908 case 50
.text:6045A9DC ; ---------------------------------------------------------------------------
.text:6045A9DC
.text:6045A9DC loc_6045A9DC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9DC                 B               loc_6045ACB0 ; jumptable 003B5908 case 51
.text:6045A9E0 ; ---------------------------------------------------------------------------
.text:6045A9E0
.text:6045A9E0 loc_6045A9E0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9E0                 B               loc_6045B348 ; jumptable 003B5908 case 52
.text:6045A9E4 ; ---------------------------------------------------------------------------
.text:6045A9E4
.text:6045A9E4 loc_6045A9E4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9E4                 B               loc_6045B308 ; jumptable 003B5908 case 53
.text:6045A9E8 ; ---------------------------------------------------------------------------
.text:6045A9E8
.text:6045A9E8 loc_6045A9E8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9E8                 B               loc_6045B3C0 ; jumptable 003B5908 case 54
.text:6045A9EC ; ---------------------------------------------------------------------------
.text:6045A9EC
.text:6045A9EC loc_6045A9EC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9EC                 B               loc_6045B010 ; jumptable 003B5908 case 55
.text:6045A9F0 ; ---------------------------------------------------------------------------
.text:6045A9F0
.text:6045A9F0 loc_6045A9F0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9F0                 B               loc_6045B238 ; jumptable 003B5908 case 56
.text:6045A9F4 ; ---------------------------------------------------------------------------
.text:6045A9F4
.text:6045A9F4 loc_6045A9F4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9F4                 B               loc_6045B3FC ; jumptable 003B5908 case 57
.text:6045A9F8 ; ---------------------------------------------------------------------------
.text:6045A9F8
.text:6045A9F8 loc_6045A9F8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045A9F8                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A998j
.text:6045A9F8                 STR             R6, [R4] ; jumptable 003B5908 case 34
.text:6045A9FC                 ADD             R4, R4, #8
.text:6045AA00                 STR             R6, [R4,#-4]
.text:6045AA04
.text:6045AA04 loc_6045AA04                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AA04                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A99Cj
.text:6045AA04                 LDR             R3, [R5,#0x20] ; jumptable 003B5908 case 35
.text:6045AA08                 MOV             R0, R5
.text:6045AA0C                 ADD             R1, SP, #0x80+var_54
.text:6045AA10                 ADD             R2, SP, #0x80+var_50
.text:6045AA14                 RSB             R4, R3, R4
.text:6045AA18                 MOV             R4, R4,ASR#3
.text:6045AA1C                 STR             R4, [R5,#0x28]
.text:6045AA20                 BL              _ZN8gmThread17Sys_PopStackFrameERPKhS2_ ; gmThread::Sys_PopStackFrame(uchar const*&,uchar const*&)
.text:6045AA24                 LDR             R4, [R5,#0x28]
.text:6045AA28                 LDR             R7, [R5,#0x2C]
.text:6045AA2C                 LDR             R3, [R5,#0x20]
.text:6045AA30                 ADD             R4, R3, R4,LSL#3
.text:6045AA34                 ADD             R7, R3, R7,LSL#3 ; _ZTV23VisVertexAnimControl_cl_ptr
.text:6045AA38                 CMP             R0, #0
.text:6045AA3C                 BNE             loc_6045B4F8
.text:6045AA40                 LDR             R3, [R5,#0x10]
.text:6045AA44                 CMP             R3, #0
.text:6045AA48                 BEQ             loc_6045B110
.text:6045AA4C                 LDR             R3, [R5,#0x1C]
.text:6045AA50                 LDRB            R2, [R3,#0x228]
.text:6045AA54                 CMP             R2, #0 ; _ZN18VNetworkLightGroupD2Ev_ptr
.text:6045AA58                 BEQ             loc_6045B110
.text:6045AA5C                 LDR             R2, [R3,#0x10]
.text:6045AA60                 CMP             R2, #0
.text:6045AA64                 BEQ             loc_6045B110
.text:6045AA68                 LDR             R2, [SP,#0x80+var_54]
.text:6045AA6C                 MOV             R0, R5
.text:6045AA70                 STR             R2, [R5,#0x44]
.text:6045AA74                 LDR             R3, [R3,#0x10]
.text:6045AA78                 BLX             R3
.text:6045AA7C                 CMP             R0, #0
.text:6045AA80                 BEQ             loc_6045B110
.text:6045AA84
.text:6045AA84 loc_6045AA84                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+2Cj
.text:6045AA84                                         ; gmThread::Sys_Execute(gmVariable *)+2F4j ...
.text:6045AA84                 LDR             R0, [SP,#0x80+var_70]
.text:6045AA88                 ADD             SP, SP, #0x5C
.text:6045AA8C                 LDMFD           SP!, {R4-R11,PC}
.text:6045AA90 ; ---------------------------------------------------------------------------
.text:6045AA90
.text:6045AA90 loc_6045AA90                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AA90                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A90Cj ...
.text:6045AA90                 MOV             R12, R3 ; jumptable 003B5908 default case
.text:6045AA94                 B               loc_6045A8F8
.text:6045AA98 ; ---------------------------------------------------------------------------
.text:6045AA98
.text:6045AA98 loc_6045AA98                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AA98                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A934j ...
.text:6045AA98                 LDR             R8, [R5,#0x1C] ; jumptable 003B5908 cases 9,10,16,23-25
.text:6045AA9C                 LDR             R3, [R4,#-8]
.text:6045AAA0                 LDR             R2, [R8,#0x200]
.text:6045AAA4                 RSB             R3, R3, R3,LSL#4
.text:6045AAA8                 ADD             R3, R2, R3,LSL#4
.text:6045AAAC                 ADD             R3, R3, R0,LSL#2
.text:6045AAB0                 LDR             R12, [R3,#4]
.text:6045AAB4                 CMP             R12, #0
.text:6045AAB8                 BEQ             loc_6045B5D4
.text:6045AABC                 MOV             R0, R5
.text:6045AAC0                 SUB             R1, R4, #8
.text:6045AAC4                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AAC8                 LDR             R12, [SP,#0x80+var_54]
.text:6045AACC                 B               loc_6045A8F8
.text:6045AAD0 ; ---------------------------------------------------------------------------
.text:6045AAD0
.text:6045AAD0 loc_6045AAD0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AAD0                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A994j
.text:6045AAD0                 LDR             R3, [R5,#0x20] ; jumptable 003B5908 case 33
.text:6045AAD4                 ADD             R2, SP, #0x80+var_28
.text:6045AAD8                 ADD             R1, R12, #8
.text:6045AADC                 MOV             R0, R5
.text:6045AAE0                 RSB             R4, R3, R4
.text:6045AAE4                 STR             R1, [R2,#-0x2C]!
.text:6045AAE8                 ADD             R3, SP, #0x80+var_50
.text:6045AAEC                 MOV             R4, R4,ASR#3
.text:6045AAF0                 STR             R4, [R5,#0x28]
.text:6045AAF4                 LDR             R1, [R12,#4]
.text:6045AAF8                 BL              _ZN8gmThread14PushStackFrameEiPPKhS2_ ; gmThread::PushStackFrame(int,uchar const**,uchar const**)
.text:6045AAFC                 LDR             R2, [R5,#0x28]
.text:6045AB00                 LDR             R7, [R5,#0x2C]
.text:6045AB04                 LDR             R3, [R5,#0x20]
.text:6045AB08                 ADD             R4, R3, R2,LSL#3
.text:6045AB0C                 ADD             R7, R3, R7,LSL#3
.text:6045AB10                 CMP             R0, #0
.text:6045AB14                 BNE             loc_6045B778
.text:6045AB18                 LDR             R3, [R5,#0x10]
.text:6045AB1C                 CMP             R3, #0
.text:6045AB20                 BEQ             loc_6045B110
.text:6045AB24                 LDR             R3, [R5,#0x1C]
.text:6045AB28                 LDRB            R2, [R3,#0x228]
.text:6045AB2C                 CMP             R2, #0
.text:6045AB30                 BEQ             loc_6045B110
.text:6045AB34                 LDR             R2, [R3,#0xC]
.text:6045AB38                 CMP             R2, #0
.text:6045AB3C                 BEQ             loc_6045B110
.text:6045AB40                 LDR             R2, [SP,#0x80+var_54]
.text:6045AB44                 MOV             R0, R5
.text:6045AB48                 STR             R2, [R5,#0x44]
.text:6045AB4C                 LDR             R3, [R3,#0xC]
.text:6045AB50                 BLX             R3
.text:6045AB54                 CMP             R0, #0
.text:6045AB58                 BEQ             loc_6045B110
.text:6045AB5C                 B               loc_6045AA84
.text:6045AB60 ; ---------------------------------------------------------------------------
.text:6045AB60
.text:6045AB60 loc_6045AB60                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AB60                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A990j
.text:6045AB60                 LDR             R2, [R4,#-8] ; jumptable 003B5908 case 32
.text:6045AB64                 CMP             R2, #6
.text:6045AB68                 BLE             loc_6045AB98
.text:6045AB6C                 LDR             R1, [R5,#0x1C]
.text:6045AB70                 RSB             R2, R2, R2,LSL#4
.text:6045AB74                 LDR             R1, [R1,#0x200]
.text:6045AB78                 ADD             R2, R1, R2,LSL#4
.text:6045AB7C                 LDR             R12, [R2,#0x6C]
.text:6045AB80                 CMP             R12, #0
.text:6045AB84                 BEQ             loc_6045B6FC
.text:6045AB88                 MOV             R0, R5
.text:6045AB8C                 SUB             R1, R4, #8
.text:6045AB90                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AB94                 LDR             R3, [SP,#0x80+var_54]
.text:6045AB98
.text:6045AB98 loc_6045AB98                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+300j
.text:6045AB98                                         ; gmThread::Sys_Execute(gmVariable *)+EA0j
.text:6045AB98                 LDR             R2, [R4,#-4]
.text:6045AB9C                 CMP             R2, #0
.text:6045ABA0                 BEQ             loc_6045ABF8
.text:6045ABA4
.text:6045ABA4 loc_6045ABA4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+38Cj
.text:6045ABA4                 LDR             R3, [R3]
.text:6045ABA8                 LDR             R12, [SP,#0x80+var_50]
.text:6045ABAC                 ADD             R12, R12, R3 ; _ZN26VActionTimerForceFramerate31classVActionTimerForceFramerateE_ptr
.text:6045ABB0                 B               loc_6045A8F8
.text:6045ABB4 ; ---------------------------------------------------------------------------
.text:6045ABB4
.text:6045ABB4 loc_6045ABB4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ABB4                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A98Cj
.text:6045ABB4                 LDR             R2, [R4,#-8] ; jumptable 003B5908 case 31
.text:6045ABB8                 CMP             R2, #6
.text:6045ABBC                 BLE             loc_6045ABEC
.text:6045ABC0                 LDR             R1, [R5,#0x1C]
.text:6045ABC4                 RSB             R2, R2, R2,LSL#4
.text:6045ABC8                 LDR             R1, [R1,#0x200]
.text:6045ABCC                 ADD             R2, R1, R2,LSL#4
.text:6045ABD0                 LDR             R12, [R2,#0x6C]
.text:6045ABD4                 CMP             R12, #0
.text:6045ABD8                 BEQ             loc_6045B6A8
.text:6045ABDC                 MOV             R0, R5
.text:6045ABE0                 SUB             R1, R4, #8
.text:6045ABE4                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045ABE8                 LDR             R3, [SP,#0x80+var_54]
.text:6045ABEC
.text:6045ABEC loc_6045ABEC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+354j
.text:6045ABEC                                         ; gmThread::Sys_Execute(gmVariable *)+E48j
.text:6045ABEC                 LDR             R2, [R4,#-4]
.text:6045ABF0                 CMP             R2, #0
.text:6045ABF4                 BEQ             loc_6045ABA4
.text:6045ABF8
.text:6045ABF8 loc_6045ABF8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+338j
.text:6045ABF8                 ADD             R12, R3, #4
.text:6045ABFC                 B               loc_6045A8F8
.text:6045AC00 ; ---------------------------------------------------------------------------
.text:6045AC00
.text:6045AC00 loc_6045AC00                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AC00                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A988j
.text:6045AC00                 LDR             R2, [R4,#-8] ; jumptable 003B5908 case 30
.text:6045AC04                 SUB             R8, R4, #8
.text:6045AC08                 CMP             R2, #6
.text:6045AC0C                 BLE             loc_6045AC3C ; _ZN26VActionTimerForceFramerate31classVActionTimerForceFramerateE_ptr
.text:6045AC10                 LDR             R1, [R5,#0x1C]
.text:6045AC14                 RSB             R2, R2, R2,LSL#4
.text:6045AC18                 LDR             R1, [R1,#0x200]
.text:6045AC1C                 ADD             R2, R1, R2,LSL#4
.text:6045AC20                 LDR             R12, [R2,#0x6C]
.text:6045AC24                 CMP             R12, #0
.text:6045AC28                 BEQ             loc_6045B720
.text:6045AC2C                 MOV             R0, R5
.text:6045AC30                 MOV             R1, R8
.text:6045AC34                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AC38                 LDR             R3, [SP,#0x80+var_54]
.text:6045AC3C
.text:6045AC3C loc_6045AC3C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+3A4j
.text:6045AC3C                                         ; gmThread::Sys_Execute(gmVariable *)+EC4j
.text:6045AC3C                 LDR             R2, [R4,#-4]
.text:6045AC40                 CMP             R2, #0
.text:6045AC44                 BEQ             loc_6045ACA4
.text:6045AC48
.text:6045AC48 loc_6045AC48                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+438j
.text:6045AC48                 LDR             R3, [R3] ; _ZTV23VisVertexAnimControl_cl_ptr
.text:6045AC4C                 MOV             R4, R8
.text:6045AC50                 LDR             R12, [SP,#0x80+var_50]
.text:6045AC54                 ADD             R12, R12, R3
.text:6045AC58                 B               loc_6045A8F8
.text:6045AC5C ; ---------------------------------------------------------------------------
.text:6045AC5C
.text:6045AC5C loc_6045AC5C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AC5C                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A984j
.text:6045AC5C                 LDR             R2, [R4,#-8] ; jumptable 003B5908 case 29
.text:6045AC60                 SUB             R8, R4, #8
.text:6045AC64                 CMP             R2, #6
.text:6045AC68                 BLE             loc_6045AC98
.text:6045AC6C                 LDR             R1, [R5,#0x1C]
.text:6045AC70                 RSB             R2, R2, R2,LSL#4
.text:6045AC74                 LDR             R1, [R1,#0x200]
.text:6045AC78                 ADD             R2, R1, R2,LSL#4
.text:6045AC7C                 LDR             R12, [R2,#0x6C]
.text:6045AC80                 CMP             R12, #0
.text:6045AC84                 BEQ             loc_6045B70C
.text:6045AC88                 MOV             R0, R5
.text:6045AC8C                 MOV             R1, R8
.text:6045AC90                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AC94                 LDR             R3, [SP,#0x80+var_54]
.text:6045AC98
.text:6045AC98 loc_6045AC98                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+400j
.text:6045AC98                                         ; gmThread::Sys_Execute(gmVariable *)+EACj
.text:6045AC98                 LDR             R2, [R4,#-4]
.text:6045AC9C                 CMP             R2, #0
.text:6045ACA0                 BEQ             loc_6045AC48
.text:6045ACA4
.text:6045ACA4 loc_6045ACA4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+3DCj
.text:6045ACA4                 ADD             R12, R3, #4
.text:6045ACA8                 MOV             R4, R8
.text:6045ACAC                 B               loc_6045A8F8
.text:6045ACB0 ; ---------------------------------------------------------------------------
.text:6045ACB0
.text:6045ACB0 loc_6045ACB0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ACB0                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9DCj
.text:6045ACB0                 LDR             R3, [R12,#4] ; jumptable 003B5908 case 51
.text:6045ACB4                 ADD             R12, R12, #8
.text:6045ACB8                 STR             R12, [SP,#0x80+var_54]
.text:6045ACBC                 ADD             R3, R7, R3,LSL#3
.text:6045ACC0                 LDMIA           R3, {R0,R1}
.text:6045ACC4                 STMIA           R4, {R0,R1}
.text:6045ACC8                 ADD             R4, R4, #8
.text:6045ACCC                 LDR             R12, [SP,#0x80+var_54]
.text:6045ACD0                 B               loc_6045A8F8
.text:6045ACD4 ; ---------------------------------------------------------------------------
.text:6045ACD4
.text:6045ACD4 loc_6045ACD4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ACD4                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9D8j
.text:6045ACD4                 LDR             R3, [R5,#0x2C] ; jumptable 003B5908 case 50
.text:6045ACD8                 LDR             R2, [R5,#0x20]
.text:6045ACDC                 SUB             R3, R3, #0xE0000002
.text:6045ACE0                 ADD             R3, R2, R3,LSL#3
.text:6045ACE4                 LDMIA           R3, {R0,R1}
.text:6045ACE8                 STMIA           R4, {R0,R1}
.text:6045ACEC                 ADD             R4, R4, #8
.text:6045ACF0                 LDR             R12, [SP,#0x80+var_54]
.text:6045ACF4                 B               loc_6045A8F8
.text:6045ACF8 ; ---------------------------------------------------------------------------
.text:6045ACF8
.text:6045ACF8 loc_6045ACF8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ACF8                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9D4j
.text:6045ACF8                 MOV             R12, #5 ; jumptable 003B5908 case 49
.text:6045ACFC                 STR             R12, [R4]
.text:6045AD00                 LDR             R12, [SP,#0x80+var_54]
.text:6045AD04                 ADD             R4, R4, #8
.text:6045AD08                 LDR             R3, [R12],#4
.text:6045AD0C                 STR             R3, [R4,#-4]
.text:6045AD10                 B               loc_6045A8F8
.text:6045AD14 ; ---------------------------------------------------------------------------
.text:6045AD14
.text:6045AD14 loc_6045AD14                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AD14                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9D0j
.text:6045AD14                 LDR             R3, [R5,#0x20] ; jumptable 003B5908 case 48
.text:6045AD18                 RSB             R3, R3, R4
.text:6045AD1C                 ADD             R4, R4, #8
.text:6045AD20                 MOV             R3, R3,ASR#3
.text:6045AD24                 STR             R3, [R5,#0x28]
.text:6045AD28                 MOV             R3, #4
.text:6045AD2C                 STR             R3, [R4,#-8]
.text:6045AD30                 LDR             R0, [R5,#0x1C]
.text:6045AD34                 BL              _ZN9gmMachine16AllocTableObjectEv ; gmMachine::AllocTableObject(void)
.text:6045AD38                 LDR             R12, [SP,#0x80+var_54]
.text:6045AD3C                 STR             R0, [R4,#-4]
.text:6045AD40                 B               loc_6045A8F8
.text:6045AD44 ; ---------------------------------------------------------------------------
.text:6045AD44
.text:6045AD44 loc_6045AD44                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AD44                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9CCj
.text:6045AD44                 STR             R11, [R4] ; jumptable 003B5908 case 47
.text:6045AD48                 ADD             R4, R4, #8
.text:6045AD4C                 LDR             R12, [SP,#0x80+var_54]
.text:6045AD50                 LDR             R3, [R12],#4
.text:6045AD54                 STR             R3, [R4,#-4]
.text:6045AD58                 B               loc_6045A8F8
.text:6045AD5C ; ---------------------------------------------------------------------------
.text:6045AD5C
.text:6045AD5C loc_6045AD5C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AD5C                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9C8j
.text:6045AD5C                 MOV             R3, #2  ; jumptable 003B5908 case 46
.text:6045AD60                 STR             R3, [R4]
.text:6045AD64                 LDR             R12, [SP,#0x80+var_54]
.text:6045AD68                 ADD             R4, R4, #8
.text:6045AD6C                 LDR             R3, [R12],#4
.text:6045AD70                 STR             R3, [R4,#-4]
.text:6045AD74                 B               loc_6045A8F8
.text:6045AD78 ; ---------------------------------------------------------------------------
.text:6045AD78
.text:6045AD78 loc_6045AD78                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AD78                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9C4j
.text:6045AD78                 MOV             R3, #1  ; jumptable 003B5908 case 45
.text:6045AD7C                 STR             R3, [R4]
.text:6045AD80                 STR             R3, [R4,#4]
.text:6045AD84                 ADD             R4, R4, #8
.text:6045AD88                 LDR             R12, [SP,#0x80+var_54]
.text:6045AD8C                 B               loc_6045A8F8
.text:6045AD90 ; ---------------------------------------------------------------------------
.text:6045AD90
.text:6045AD90 loc_6045AD90                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AD90                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9C0j
.text:6045AD90                 MOV             R3, #1  ; jumptable 003B5908 case 44
.text:6045AD94                 STMIA           R4, {R3,R6}
.text:6045AD98                 ADD             R4, R4, #8
.text:6045AD9C                 LDR             R12, [SP,#0x80+var_54]
.text:6045ADA0                 B               loc_6045A8F8
.text:6045ADA4 ; ---------------------------------------------------------------------------
.text:6045ADA4
.text:6045ADA4 loc_6045ADA4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ADA4                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9BCj
.text:6045ADA4                 MOV             R3, #1  ; jumptable 003B5908 case 43
.text:6045ADA8                 STR             R3, [R4]
.text:6045ADAC                 LDR             R12, [SP,#0x80+var_54]
.text:6045ADB0                 ADD             R4, R4, #8
.text:6045ADB4                 LDR             R3, [R12],#4
.text:6045ADB8                 STR             R3, [R4,#-4]
.text:6045ADBC                 B               loc_6045A8F8
.text:6045ADC0 ; ---------------------------------------------------------------------------
.text:6045ADC0
.text:6045ADC0 loc_6045ADC0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ADC0                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9B8j
.text:6045ADC0                 STR             R6, [R4] ; jumptable 003B5908 case 42
.text:6045ADC4                 ADD             R4, R4, #8
.text:6045ADC8                 STR             R6, [R4,#-4]
.text:6045ADCC                 LDR             R12, [SP,#0x80+var_54]
.text:6045ADD0                 B               loc_6045A8F8
.text:6045ADD4 ; ---------------------------------------------------------------------------
.text:6045ADD4
.text:6045ADD4 loc_6045ADD4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ADD4                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9B4j
.text:6045ADD4                 SUB             R2, R4, #8 ; jumptable 003B5908 case 41
.text:6045ADD8                 SUB             R3, R4, #0x10
.text:6045ADDC                 LDMIA           R2, {R0,R1}
.text:6045ADE0                 STMIA           R4, {R0,R1}
.text:6045ADE4                 LDMIA           R3, {R0,R1}
.text:6045ADE8                 STMIA           R2, {R0,R1}
.text:6045ADEC                 LDMIA           R4, {R0,R1}
.text:6045ADF0                 STMIA           R3, {R0,R1}
.text:6045ADF4                 LDR             R12, [SP,#0x80+var_54]
.text:6045ADF8                 B               loc_6045A8F8
.text:6045ADFC ; ---------------------------------------------------------------------------
.text:6045ADFC
.text:6045ADFC loc_6045ADFC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045ADFC                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9B0j
.text:6045ADFC                 SUB             R2, R4, #0x10 ; jumptable 003B5908 case 40
.text:6045AE00                 ADD             R3, R4, #8
.text:6045AE04                 LDMIA           R2, {R0,R1}
.text:6045AE08                 STMIA           R4, {R0,R1}
.text:6045AE0C                 LDMDB           R4, {R0,R1}
.text:6045AE10                 ADD             R4, R4, #0x10
.text:6045AE14                 LDR             R12, [SP,#0x80+var_54]
.text:6045AE18                 STMIA           R3, {R0,R1}
.text:6045AE1C                 B               loc_6045A8F8
.text:6045AE20 ; ---------------------------------------------------------------------------
.text:6045AE20
.text:6045AE20 loc_6045AE20                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AE20                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9ACj
.text:6045AE20                 LDMDB           R4, {R0,R1} ; jumptable 003B5908 case 39
.text:6045AE24                 STMIA           R4, {R0,R1}
.text:6045AE28                 ADD             R4, R4, #8
.text:6045AE2C                 LDR             R12, [SP,#0x80+var_54]
.text:6045AE30                 B               loc_6045A8F8
.text:6045AE34 ; ---------------------------------------------------------------------------
.text:6045AE34
.text:6045AE34 loc_6045AE34                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AE34                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9A8j
.text:6045AE34                 SUB             R4, R4, #0x10 ; jumptable 003B5908 case 38
.text:6045AE38                 MOV             R12, R3
.text:6045AE3C                 B               loc_6045A8F8
.text:6045AE40 ; ---------------------------------------------------------------------------
.text:6045AE40
.text:6045AE40 loc_6045AE40                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AE40                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9A4j
.text:6045AE40                 SUB             R4, R4, #8 ; jumptable 003B5908 case 37
.text:6045AE44                 MOV             R12, R3
.text:6045AE48                 B               loc_6045A8F8
.text:6045AE4C ; ---------------------------------------------------------------------------
.text:6045AE4C
.text:6045AE4C loc_6045AE4C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AE4C                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9A0j
.text:6045AE4C                 ADD             R3, R12, #8 ; jumptable 003B5908 case 36
.text:6045AE50                 STR             R3, [SP,#0x80+var_54]
.text:6045AE54                 LDR             R3, [R4,#-0x10]
.text:6045AE58                 LDR             R2, [R12,#4]
.text:6045AE5C                 CMP             R3, #4
.text:6045AE60                 MOV             R10, R2,LSR#16
.text:6045AE64                 UXTH            R2, R2
.text:6045AE68                 STR             R2, [SP,#0x80+var_74]
.text:6045AE6C                 BEQ             loc_6045B50C
.text:6045AE70                 LDR             R0, [R5,#0x1C]
.text:6045AE74                 RSB             R3, R3, R3,LSL#4
.text:6045AE78                 LDR             R2, [R0,#0x200]
.text:6045AE7C                 ADD             R3, R2, R3,LSL#4
.text:6045AE80                 LDR             R12, [R3,#0xEC]
.text:6045AE84                 CMP             R12, #0
.text:6045AE88                 BEQ             loc_6045B7DC
.text:6045AE8C                 LDR             R3, [R4,#-4]
.text:6045AE90                 ADD             R2, SP, #0x80+var_28
.text:6045AE94                 ADD             R9, SP, #0x80+var_40
.text:6045AE98                 ADD             R8, SP, #0x80+var_48
.text:6045AE9C                 MOV             R0, R5
.text:6045AEA0                 STR             R3, [R2,#-0x24]!
.text:6045AEA4                 MOV             R3, R9
.text:6045AEA8                 LDR             R1, [R4,#-0xC]
.text:6045AEAC                 STR             R8, [SP,#0x80+var_80]
.text:6045AEB0                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AEB4                 LDR             R3, [SP,#0x80+var_4C]
.text:6045AEB8                 CMN             R3, #1
.text:6045AEBC                 BEQ             loc_6045B66C
.text:6045AEC0                 LDMIA           R9, {R0,R1}
.text:6045AEC4                 ADD             R10, R7, R10,LSL#3
.text:6045AEC8                 LDR             R12, [SP,#0x80+var_74]
.text:6045AECC                 MOV             R3, #1
.text:6045AED0                 STMIA           R10, {R0,R1}
.text:6045AED4                 LDMIA           R8, {R0,R1}
.text:6045AED8                 ADD             R2, R7, R12,LSL#3
.text:6045AEDC                 STMIA           R2, {R0,R1}
.text:6045AEE0                 STR             R3, [R4]
.text:6045AEE4                 STR             R3, [R4,#4]
.text:6045AEE8
.text:6045AEE8 loc_6045AEE8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+E10j
.text:6045AEE8                 LDR             R3, [SP,#0x80+var_4C]
.text:6045AEEC                 ADD             R4, R4, #8
.text:6045AEF0                 STR             R3, [R4,#-0xC]
.text:6045AEF4                 LDR             R12, [SP,#0x80+var_54]
.text:6045AEF8                 B               loc_6045A8F8
.text:6045AEFC ; ---------------------------------------------------------------------------
.text:6045AEFC
.text:6045AEFC loc_6045AEFC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AEFC                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A910j
.text:6045AEFC                 LDR             R10, [R12,#4] ; jumptable 003B5908 case 0
.text:6045AF00                 ADD             R12, R12, #8
.text:6045AF04                 STR             R12, [SP,#0x80+var_54]
.text:6045AF08                 LDR             R8, [R4,#-8]
.text:6045AF0C                 STR             R10, [R4,#4]
.text:6045AF10                 STR             R11, [R4]
.text:6045AF14                 LDR             R0, [R5,#0x1C]
.text:6045AF18                 RSB             R9, R8, R8,LSL#4
.text:6045AF1C                 MOV             R9, R9,LSL#4
.text:6045AF20                 LDR             R3, [R0,#0x200]
.text:6045AF24                 ADD             R3, R3, R9
.text:6045AF28                 LDR             R3, [R3,#4]
.text:6045AF2C                 CMP             R3, #0
.text:6045AF30                 BEQ             loc_6045AF50
.text:6045AF34                 MOV             R0, R5
.text:6045AF38                 SUB             R1, R4, #8
.text:6045AF3C                 BLX             R3
.text:6045AF40                 LDR             R3, [R4,#-8]
.text:6045AF44                 CMP             R3, #0
.text:6045AF48                 BNE             loc_6045B110
.text:6045AF4C                 LDR             R0, [R5,#0x1C]
.text:6045AF50
.text:6045AF50 loc_6045AF50                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+6C8j
.text:6045AF50                 CMP             R8, #0
.text:6045AF54                 BEQ             loc_6045B7F0
.text:6045AF58                 STR             R11, [SP,#0x80+var_40]
.text:6045AF5C                 ADD             R8, SP, #0x80+var_38
.text:6045AF60                 STR             R10, [SP,#0x80+var_3C]
.text:6045AF64                 ADD             R2, SP, #0x80+var_40
.text:6045AF68                 LDR             R3, [R0,#0x200]
.text:6045AF6C                 MOV             R0, R8
.text:6045AF70                 ADD             R9, R3, R9
.text:6045AF74                 LDR             R1, [R9,#0xDC]
.text:6045AF78                 BL              _ZNK13gmTableObject3GetERK10gmVariable ; gmTableObject::Get(gmVariable const&)
.text:6045AF7C                 LDMIA           R8, {R0,R1}
.text:6045AF80                 STMDB           R4, {R0,R1}
.text:6045AF84                 LDR             R12, [SP,#0x80+var_54]
.text:6045AF88                 B               loc_6045A8F8
.text:6045AF8C ; ---------------------------------------------------------------------------
.text:6045AF8C
.text:6045AF8C loc_6045AF8C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AF8C                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A920j ...
.text:6045AF8C                 LDR             R2, [R4,#-0x10] ; jumptable 003B5908 cases 4-8,11-15,17-22
.text:6045AF90                 LDR             R3, [R4,#-8]
.text:6045AF94                 LDR             R8, [R5,#0x1C]
.text:6045AF98                 CMP             R3, R2
.text:6045AF9C                 MOVLT           R3, R2
.text:6045AFA0                 LDR             R2, [R8,#0x200]
.text:6045AFA4                 RSB             R3, R3, R3,LSL#4
.text:6045AFA8                 ADD             R3, R2, R3,LSL#4 ; _ZTV26VActionTimerForceFramerate_ptr
.text:6045AFAC                 ADD             R3, R3, R0,LSL#2
.text:6045AFB0                 LDR             R12, [R3,#4]
.text:6045AFB4                 CMP             R12, #0
.text:6045AFB8                 BEQ             loc_6045B61C
.text:6045AFBC
.text:6045AFBC loc_6045AFBC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+8CCj
.text:6045AFBC                 SUB             R8, R4, #8
.text:6045AFC0                 SUB             R1, R4, #0x10
.text:6045AFC4                 MOV             R0, R5
.text:6045AFC8                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045AFCC                 MOV             R4, R8
.text:6045AFD0                 LDR             R12, [SP,#0x80+var_54]
.text:6045AFD4                 B               loc_6045A8F8
.text:6045AFD8 ; ---------------------------------------------------------------------------
.text:6045AFD8
.text:6045AFD8 loc_6045AFD8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045AFD8                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A91Cj
.text:6045AFD8                 LDR             R0, [R5,#0x1C] ; jumptable 003B5908 case 3
.text:6045AFDC                 LDR             R3, [R4,#-0x18]
.text:6045AFE0                 LDR             R2, [R0,#0x200]
.text:6045AFE4                 RSB             R3, R3, R3,LSL#4
.text:6045AFE8                 ADD             R3, R2, R3,LSL#4
.text:6045AFEC                 LDR             R12, [R3,#0x10]
.text:6045AFF0                 CMP             R12, #0
.text:6045AFF4                 BEQ             loc_6045B568
.text:6045AFF8                 SUB             R4, R4, #0x18
.text:6045AFFC                 MOV             R0, R5
.text:6045B000                 MOV             R1, R4
.text:6045B004                 BLX             R12 ; _GLOBAL_OFFSET_TABLE_
.text:6045B008                 LDR             R12, [SP,#0x80+var_54]
.text:6045B00C                 B               loc_6045A8F8
.text:6045B010 ; ---------------------------------------------------------------------------
.text:6045B010
.text:6045B010 loc_6045B010                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B010                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9ECj
.text:6045B010                 LDR             R9, [R5,#0x2C] ; jumptable 003B5908 case 55
.text:6045B014                 ADD             R3, R12, #8
.text:6045B018                 LDR             R8, [R5,#0x20]
.text:6045B01C                 SUB             R9, R9, #0xE0000002
.text:6045B020                 STR             R3, [SP,#0x80+var_54]
.text:6045B024                 LDR             R2, [R12,#4]
.text:6045B028                 ADD             R3, R8, R9,LSL#3
.text:6045B02C                 LDMIA           R3, {R0,R1}
.text:6045B030                 STR             R2, [R4,#0xC]
.text:6045B034                 STR             R11, [R4,#8]
.text:6045B038                 STMIA           R4, {R0,R1}
.text:6045B03C                 LDR             R0, [R5,#0x1C]
.text:6045B040                 LDR             R3, [R8,R9,LSL#3]
.text:6045B044                 LDR             R2, [R0,#0x200]
.text:6045B048                 RSB             R1, R3, R3,LSL#4
.text:6045B04C                 ADD             R2, R2, R1,LSL#4
.text:6045B050                 LDR             R2, [R2,#4]
.text:6045B054                 CMP             R2, #0
.text:6045B058                 BEQ             loc_6045B07C
.text:6045B05C                 MOV             R0, R5 ; _ZTV19VisBitmapManager_cl_ptr
.text:6045B060                 MOV             R1, R4
.text:6045B064                 BLX             R2
.text:6045B068                 LDR             R3, [R4]
.text:6045B06C                 CMP             R3, #0
.text:6045B070                 BNE             loc_6045B55C
.text:6045B074                 LDR             R3, [R8,R9,LSL#3]
.text:6045B078                 LDR             R0, [R5,#0x1C]
.text:6045B07C
.text:6045B07C loc_6045B07C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+7F0j
.text:6045B07C                 CMP             R3, #0
.text:6045B080                 BEQ             loc_6045B804
.text:6045B084                 LDR             R2, [R0,#0x200]
.text:6045B088                 RSB             R3, R3, R3,LSL#4
.text:6045B08C                 ADD             R8, R4, #8
.text:6045B090                 ADD             R0, SP, #0x80+var_30
.text:6045B094                 ADD             R3, R2, R3,LSL#4
.text:6045B098                 MOV             R2, R8
.text:6045B09C                 LDR             R1, [R3,#0xDC]
.text:6045B0A0                 BL              _ZNK13gmTableObject3GetERK10gmVariable ; gmTableObject::Get(gmVariable const&)
.text:6045B0A4                 LDR             R12, [SP,#0x80+var_6C]
.text:6045B0A8                 LDMIA           R12, {R0,R1}
.text:6045B0AC                 STMIA           R4, {R0,R1}
.text:6045B0B0                 MOV             R4, R8
.text:6045B0B4                 LDR             R12, [SP,#0x80+var_54]
.text:6045B0B8                 B               loc_6045A8F8
.text:6045B0BC ; ---------------------------------------------------------------------------
.text:6045B0BC
.text:6045B0BC loc_6045B0BC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B0BC                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A980j
.text:6045B0BC                 LDR             R3, [R12,#4] ; jumptable 003B5908 case 28
.text:6045B0C0                 LDR             R12, [SP,#0x80+var_50]
.text:6045B0C4                 ADD             R12, R12, R3 ; _GLOBAL_OFFSET_TABLE_
.text:6045B0C8                 B               loc_6045A8F8
.text:6045B0CC ; ---------------------------------------------------------------------------
.text:6045B0CC
.text:6045B0CC loc_6045B0CC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B0CC                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A97Cj
.text:6045B0CC                 LDR             R2, [R5,#0x1C] ; jumptable 003B5908 case 27
.text:6045B0D0                 LDRB            R1, [R2,#0x228]
.text:6045B0D4                 CMP             R1, #0
.text:6045B0D8                 BEQ             loc_6045AA90 ; jumptable 003B5908 default case
.text:6045B0DC                 LDR             R1, [R2,#8]
.text:6045B0E0                 CMP             R1, #0
.text:6045B0E4                 BEQ             loc_6045AA90 ; jumptable 003B5908 default case
.text:6045B0E8                 LDR             R1, [R5,#0x20]
.text:6045B0EC                 MOV             R0, R5
.text:6045B0F0                 STR             R3, [R5,#0x44]
.text:6045B0F4                 RSB             R3, R1, R4
.text:6045B0F8                 MOV             R3, R3,ASR#3
.text:6045B0FC                 STR             R3, [R5,#0x28]
.text:6045B100                 LDR             R3, [R2,#8]
.text:6045B104                 BLX             R3
.text:6045B108                 CMP             R0, #0
.text:6045B10C                 BNE             loc_6045AA84
.text:6045B110
.text:6045B110 loc_6045B110                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+1E0j
.text:6045B110                                         ; gmThread::Sys_Execute(gmVariable *)+1F0j ...
.text:6045B110                 LDR             R12, [SP,#0x80+var_54]
.text:6045B114                 B               loc_6045A8F8
.text:6045B118 ; ---------------------------------------------------------------------------
.text:6045B118
.text:6045B118 loc_6045B118                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B118                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A918j
.text:6045B118                 LDR             R8, [R5,#0x1C] ; jumptable 003B5908 case 2
.text:6045B11C                 LDR             R3, [R4,#-0x10]
.text:6045B120                 LDR             R2, [R8,#0x200]
.text:6045B124                 RSB             R3, R3, R3,LSL#4
.text:6045B128                 ADD             R3, R2, R3,LSL#4
.text:6045B12C                 LDR             R12, [R3,#0xC]
.text:6045B130                 CMP             R12, #0
.text:6045B134                 BNE             loc_6045AFBC
.text:6045B138                 LDR             LR, [R3,#0x78]
.text:6045B13C                 CMP             LR, #0
.text:6045B140                 BEQ             loc_6045B888
.text:6045B144
.text:6045B144 loc_6045B144                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+DBCj
.text:6045B144                 SUB             R3, R4, #0x10
.text:6045B148                 ADD             R7, R4, #8
.text:6045B14C                 ADD             R8, R4, #0x10
.text:6045B150                 ADD             R2, SP, #0x80+var_54
.text:6045B154                 LDMIA           R3, {R0,R1}
.text:6045B158                 ADD             R3, SP, #0x80+var_50
.text:6045B15C                 STMIA           R4, {R0,R1}
.text:6045B160                 LDMDB           R4, {R0,R1}
.text:6045B164                 STMIA           R7, {R0,R1}
.text:6045B168                 MOV             R0, R5
.text:6045B16C                 STR             R12, [R4,#-0x10]
.text:6045B170                 MOV             R1, #2
.text:6045B174                 STR             R12, [R4,#-0xC]
.text:6045B178                 MOV             R12, #5
.text:6045B17C                 STMDB           R4, {R12,LR}
.text:6045B180                 LDR             R12, [R5,#0x20]
.text:6045B184                 RSB             R12, R12, R8
.text:6045B188
.text:6045B188 loc_6045B188                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+DB0j
.text:6045B188                                         ; gmThread::Sys_Execute(gmVariable *)+E90j
.text:6045B188                 MOV             R12, R12,ASR#3
.text:6045B18C
.text:6045B18C loc_6045B18C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+D68j
.text:6045B18C                 STR             R12, [R5,#0x28]
.text:6045B190                 BL              _ZN8gmThread14PushStackFrameEiPPKhS2_ ; gmThread::PushStackFrame(int,uchar const**,uchar const**)
.text:6045B194                 LDR             R4, [R5,#0x28]
.text:6045B198                 LDR             R7, [R5,#0x2C]
.text:6045B19C                 LDR             R3, [R5,#0x20]
.text:6045B1A0                 ADD             R4, R3, R4,LSL#3
.text:6045B1A4                 ADD             R7, R3, R7,LSL#3
.text:6045B1A8                 CMP             R0, #0
.text:6045B1AC                 BEQ             loc_6045B110
.text:6045B1B0                 CMP             R0, #6
.text:6045B1B4                 MOV             R3, R0
.text:6045B1B8                 BEQ             loc_6045AA84
.text:6045B1BC                 CMP             R0, #7
.text:6045B1C0                 BEQ             loc_6045B2A0
.text:6045B1C4                 CMP             R0, #3
.text:6045B1C8                 STRNE           R0, [SP,#0x80+var_70]
.text:6045B1CC                 BNE             loc_6045AA84
.text:6045B1D0                 LDR             R0, [R5,#0x1C]
.text:6045B1D4                 MOV             R1, R5
.text:6045B1D8                 MOV             R2, R3
.text:6045B1DC                 STR             R3, [SP,#0x80+var_70]
.text:6045B1E0                 BL              _ZN9gmMachine15Sys_SwitchStateEP8gmThreadi ; gmMachine::Sys_SwitchState(gmThread *,int)
.text:6045B1E4                 B               loc_6045AA84
.text:6045B1E8 ; ---------------------------------------------------------------------------
.text:6045B1E8
.text:6045B1E8 loc_6045B1E8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B1E8                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A914j
.text:6045B1E8                 LDR             R3, [R12,#4] ; jumptable 003B5908 case 1
.text:6045B1EC                 ADD             R12, R12, #8
.text:6045B1F0                 STR             R12, [SP,#0x80+var_54]
.text:6045B1F4                 SUB             R8, R4, #0x10
.text:6045B1F8                 STR             R11, [R4]
.text:6045B1FC                 STR             R3, [R4,#4]
.text:6045B200                 LDR             R3, [R4,#-0x10]
.text:6045B204                 LDR             R0, [R5,#0x1C]
.text:6045B208                 RSB             R3, R3, R3,LSL#4
.text:6045B20C                 LDR             R2, [R0,#0x200]
.text:6045B210                 ADD             R3, R2, R3,LSL#4
.text:6045B214                 LDR             R3, [R3,#8]
.text:6045B218                 CMP             R3, #0
.text:6045B21C                 BEQ             loc_6045B7B0
.text:6045B220
.text:6045B220 loc_6045B220                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A24j
.text:6045B220                 MOV             R0, R5
.text:6045B224                 MOV             R1, R8
.text:6045B228                 BLX             R3
.text:6045B22C                 MOV             R4, R8
.text:6045B230                 LDR             R12, [SP,#0x80+var_54]
.text:6045B234                 B               loc_6045A8F8
.text:6045B238 ; ---------------------------------------------------------------------------
.text:6045B238
.text:6045B238 loc_6045B238                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B238                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9F0j
.text:6045B238                 LDR             R2, [R5,#0x2C] ; jumptable 003B5908 case 56
.text:6045B23C                 SUB             R8, R4, #8
.text:6045B240                 LDR             R3, [R5,#0x20]
.text:6045B244                 ADD             R1, R12, #8
.text:6045B248                 SUB             R2, R2, #0xE0000002
.text:6045B24C                 STR             R1, [SP,#0x80+var_54]
.text:6045B250                 LDMIA           R8, {R0,R1}
.text:6045B254                 ADD             LR, R3, R2,LSL#3
.text:6045B258                 LDR             R12, [R12,#4]
.text:6045B25C                 STMIA           R4, {R0,R1}
.text:6045B260                 LDMIA           LR, {R0,R1}
.text:6045B264                 STMIA           R8, {R0,R1}
.text:6045B268                 STR             R12, [R4,#0xC]
.text:6045B26C                 STR             R11, [R4,#8]
.text:6045B270                 LDR             R3, [R3,R2,LSL#3]
.text:6045B274                 LDR             R0, [R5,#0x1C]
.text:6045B278                 RSB             R3, R3, R3,LSL#4
.text:6045B27C                 LDR             R2, [R0,#0x200]
.text:6045B280                 ADD             R3, R2, R3,LSL#4
.text:6045B284                 LDR             R3, [R3,#8]
.text:6045B288                 CMP             R3, #0
.text:6045B28C                 BNE             loc_6045B220
.text:6045B290                 LDR             R1, =(aSetthisFailed_ - 0x6045B2A0)
.text:6045B294                 ADD             R0, R0, #0x238
.text:6045B298                 ADD             R1, PC, R1 ; "setthis failed."
.text:6045B29C                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B2A0
.text:6045B2A0 loc_6045B2A0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+958j
.text:6045B2A0                                         ; gmThread::Sys_Execute(gmVariable *)+CA0j ...
.text:6045B2A0                 LDR             R3, [SP,#0x80+var_54]
.text:6045B2A4                 MOV             R0, R5
.text:6045B2A8                 STR             R3, [R5,#0x44]
.text:6045B2AC                 BL              _ZN8gmThread11LogLineFileEv ; gmThread::LogLineFile(void)
.text:6045B2B0                 MOV             R0, R5
.text:6045B2B4                 BL              _ZN8gmThread12LogCallStackEv ; gmThread::LogCallStack(void)
.text:6045B2B8                 LDR             R3, =(_ZN9gmMachine17s_machineCallbackE_ptr - 0x60A00914)
.text:6045B2BC                 LDR             R12, [SP,#0x80+var_68]
.text:6045B2C0                 LDR             R0, [R5,#0x1C]
.text:6045B2C4                 LDR             R3, [R12,R3] ; _ZN9gmMachine17s_machineCallbackE_ptr ; gmMachine::s_machineCallback
.text:6045B2C8                 LDR             R3, [R3]
.text:6045B2CC                 CMP             R3, #0
.text:6045B2D0                 BEQ             loc_6045B2EC
.text:6045B2D4                 MOV             R1, #1
.text:6045B2D8                 MOV             R2, R5
.text:6045B2DC                 BLX             R3
.text:6045B2E0                 CMP             R0, #0
.text:6045B2E4                 LDR             R0, [R5,#0x1C]
.text:6045B2E8                 BNE             loc_6045B730
.text:6045B2EC
.text:6045B2EC loc_6045B2EC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A68j
.text:6045B2EC                                         ; gmThread::Sys_Execute(gmVariable *)+ED0j ...
.text:6045B2EC                 MOV             R2, #3
.text:6045B2F0                 MOV             R1, R5
.text:6045B2F4                 STR             R2, [SP,#0x80+var_70]
.text:6045B2F8                 BL              _ZN9gmMachine15Sys_SwitchStateEP8gmThreadi ; gmMachine::Sys_SwitchState(gmThread *,int)
.text:6045B2FC                 LDR             R0, [SP,#0x80+var_70]
.text:6045B300                 ADD             SP, SP, #0x5C
.text:6045B304                 LDMFD           SP!, {R4-R11,PC}
.text:6045B308 ; ---------------------------------------------------------------------------
.text:6045B308
.text:6045B308 loc_6045B308                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B308                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9E4j
.text:6045B308                 STR             R11, [R4] ; jumptable 003B5908 case 53
.text:6045B30C                 ADD             R0, SP, #0x80+var_60
.text:6045B310                 LDR             R3, [SP,#0x80+var_54]
.text:6045B314                 MOV             R2, R4
.text:6045B318                 LDR             R1, [R3],#4
.text:6045B31C                 STR             R1, [R4,#4]
.text:6045B320                 LDR             R1, [R5,#0x1C]
.text:6045B324                 STR             R3, [SP,#0x80+var_54]
.text:6045B328                 LDR             R1, [R1,#0x74]
.text:6045B32C                 BL              _ZNK13gmTableObject3GetERK10gmVariable ; gmTableObject::Get(gmVariable const&)
.text:6045B330                 LDR             R12, [SP,#0x80+var_78]
.text:6045B334                 LDMIA           R12, {R0,R1}
.text:6045B338                 STMIA           R4, {R0,R1}
.text:6045B33C                 ADD             R4, R4, #8
.text:6045B340                 LDR             R12, [SP,#0x80+var_54]
.text:6045B344                 B               loc_6045A8F8
.text:6045B348 ; ---------------------------------------------------------------------------
.text:6045B348
.text:6045B348 loc_6045B348                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B348                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9E0j
.text:6045B348                 LDR             R3, [R5,#0x1C] ; jumptable 003B5908 case 52
.text:6045B34C                 ADD             R2, R12, #8
.text:6045B350                 LDR             R8, [R12,#4]
.text:6045B354                 STR             R2, [SP,#0x80+var_54]
.text:6045B358                 LDR             R0, [R3,#0x18]
.text:6045B35C                 LDRB            R3, [R0,#0x70]
.text:6045B360                 CMP             R3, #0
.text:6045B364                 ADDNE           R8, R7, R8,LSL#3
.text:6045B368                 BNE             loc_6045B3AC
.text:6045B36C                 LDR             R3, [R7,R8,LSL#3]
.text:6045B370                 ADD             R8, R7, R8,LSL#3
.text:6045B374                 CMP             R3, #2
.text:6045B378                 BLE             loc_6045B3AC
.text:6045B37C                 LDR             R1, [R8,#4]
.text:6045B380                 CMP             R1, #0
.text:6045B384                 BEQ             loc_6045B3AC
.text:6045B388                 LDRB            R3, [R1,#0xD]
.text:6045B38C                 CMP             R3, #0
.text:6045B390                 BNE             loc_6045B3AC
.text:6045B394                 LDRB            R3, [R1,#0xC]
.text:6045B398                 LDR             R2, [R0,#0x60]
.text:6045B39C                 CMP             R2, R3
.text:6045B3A0                 BEQ             loc_6045B3AC
.text:6045B3A4                 ADD             R0, R0, #4
.text:6045B3A8                 BL              _ZN12gmGCColorSet14GrayThisObjectEP11gmGCObjBase ; gmGCColorSet::GrayThisObject(gmGCObjBase *)
.text:6045B3AC
.text:6045B3AC loc_6045B3AC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+B00j
.text:6045B3AC                                         ; gmThread::Sys_Execute(gmVariable *)+B10j ...
.text:6045B3AC                 SUB             R4, R4, #8
.text:6045B3B0                 LDMIA           R4, {R0,R1}
.text:6045B3B4                 STMIA           R8, {R0,R1}
.text:6045B3B8                 LDR             R12, [SP,#0x80+var_54]
.text:6045B3BC                 B               loc_6045A8F8
.text:6045B3C0 ; ---------------------------------------------------------------------------
.text:6045B3C0
.text:6045B3C0 loc_6045B3C0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B3C0                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9E8j
.text:6045B3C0                 STR             R11, [R4] ; jumptable 003B5908 case 54
.text:6045B3C4                 SUB             R1, R4, #8
.text:6045B3C8                 LDR             R0, [SP,#0x80+var_54]
.text:6045B3CC                 MOV             R2, R4
.text:6045B3D0                 MOV             R3, R1
.text:6045B3D4                 LDR             R12, [R0],#4
.text:6045B3D8                 STR             R12, [R4,#4]
.text:6045B3DC                 MOV             R4, R1
.text:6045B3E0                 LDR             R1, [R5,#0x1C]
.text:6045B3E4                 STR             R0, [SP,#0x80+var_54]
.text:6045B3E8                 LDR             R0, [R1,#0x74]
.text:6045B3EC                 STR             R6, [SP,#0x80+var_80]
.text:6045B3F0                 BL              _ZN13gmTableObject3SetEP9gmMachineRK10gmVariableS4_b ; gmTableObject::Set(gmMachine *,gmVariable const&,gmVariable const&,bool)
.text:6045B3F4                 LDR             R12, [SP,#0x80+var_54]
.text:6045B3F8                 B               loc_6045A8F8
.text:6045B3FC ; ---------------------------------------------------------------------------
.text:6045B3FC
.text:6045B3FC loc_6045B3FC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A0j
.text:6045B3FC                                         ; gmThread::Sys_Execute(gmVariable *):loc_6045A9F4j
.text:6045B3FC                 ADD             R1, SP, #0x80+var_40 ; jumptable 003B5908 case 57
.text:6045B400                 LDR             R0, [R5,#0x1C]
.text:6045B404                 BL              _ZN9gmMachine12CreateThreadEPi ; gmMachine::CreateThread(int *)
.text:6045B408                 LDR             R3, [R5,#0x2C]
.text:6045B40C                 LDR             R1, [R5,#0x24]
.text:6045B410                 RSB             R1, R3, R1
.text:6045B414                 SUB             R1, R1, #4
.text:6045B418                 MOV             R8, R0
.text:6045B41C                 BL              _ZN8gmThread5TouchEi ; gmThread::Touch(int)
.text:6045B420                 LDR             R3, [R5,#0x2C]
.text:6045B424                 LDR             R2, [R5,#0x28]
.text:6045B428                 SUB             R12, R3, #0xE0000002
.text:6045B42C                 LDR             R1, [R5,#0x20]
.text:6045B430                 RSB             R3, R3, R2
.text:6045B434                 LDR             R0, [R8,#0x20] ; dest
.text:6045B438                 ADD             R2, R3, #2
.text:6045B43C                 ADD             R1, R1, R12,LSL#3 ; src
.text:6045B440                 MOV             R2, R2,LSL#3 ; n
.text:6045B444                 BL              memcpy
.text:6045B448                 LDR             R2, [R5,#0x28]
.text:6045B44C                 LDR             R3, [R5,#0x2C]
.text:6045B450                 RSB             R3, R3, R2
.text:6045B454                 ADD             R3, R3, #2
.text:6045B458                 STR             R3, [R8,#0x28]
.text:6045B45C                 LDR             R3, [R5,#0x1C]
.text:6045B460                 LDR             R0, [R3,#0xDC]
.text:6045B464                 CMP             R0, #0
.text:6045B468                 BEQ             loc_6045B75C
.text:6045B46C                 LDR             R2, [R0]
.text:6045B470                 STR             R2, [R3,#0xDC]
.text:6045B474
.text:6045B474 loc_6045B474                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+EFCj
.text:6045B474                 STR             R0, [R8,#0x30]
.text:6045B478                 MOV             R3, #1
.text:6045B47C                 STR             R6, [R0]
.text:6045B480                 MOV             R12, #2
.text:6045B484                 LDR             R2, [R8,#0x30]
.text:6045B488                 ADD             R4, R4, #8
.text:6045B48C                 LDR             R0, [SP,#0x80+var_54]
.text:6045B490                 STR             R6, [R2,#4]
.text:6045B494                 ADD             R0, R0, #4
.text:6045B498                 LDR             R2, [R8,#0x30]
.text:6045B49C                 STR             R6, [R2,#8]
.text:6045B4A0                 LDR             R1, [R8,#0x28]
.text:6045B4A4                 LDR             R2, [R8,#0x20]
.text:6045B4A8                 STR             R0, [R8,#0x44]
.text:6045B4AC                 STR             R12, [R8,#0x2C]
.text:6045B4B0                 LDR             R12, [R5,#0x48]
.text:6045B4B4                 STR             R3, [R2,R1,LSL#3]
.text:6045B4B8                 LDR             R2, [R8,#0x28]
.text:6045B4BC                 LDR             LR, [R8,#0x20]
.text:6045B4C0                 LDR             R0, [SP,#0x80+var_54]
.text:6045B4C4                 ADD             R1, R2, R3
.text:6045B4C8                 ADD             R2, LR, R2,LSL#3
.text:6045B4CC                 STR             R1, [R8,#0x28]
.text:6045B4D0                 LDR             R1, [SP,#0x80+var_50]
.text:6045B4D4                 STR             R12, [R2,#4]
.text:6045B4D8                 LDR             R2, [R0]
.text:6045B4DC                 ADD             R2, R1, R2
.text:6045B4E0                 STR             R2, [SP,#0x80+var_54]
.text:6045B4E4                 STR             R3, [R4,#-8]
.text:6045B4E8                 LDR             R3, [R8,#0x48]
.text:6045B4EC                 LDR             R12, [SP,#0x80+var_54]
.text:6045B4F0                 STR             R3, [R4,#-4]
.text:6045B4F4                 B               loc_6045A8F8
.text:6045B4F8 ; ---------------------------------------------------------------------------
.text:6045B4F8
.text:6045B4F8 loc_6045B4F8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+1D4j
.text:6045B4F8                 CMP             R0, #3
.text:6045B4FC                 BEQ             loc_6045B7C4
.text:6045B500                 CMP             R0, #7
.text:6045B504                 BNE             loc_6045B110
.text:6045B508                 B               loc_6045B2A0
.text:6045B50C ; ---------------------------------------------------------------------------
.text:6045B50C
.text:6045B50C loc_6045B50C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+604j
.text:6045B50C                 LDR             R3, [R4,#-4]
.text:6045B510                 ADD             R1, SP, #0x80+var_28
.text:6045B514                 STR             R3, [R1,#-0x18]!
.text:6045B518                 LDR             R0, [R4,#-0xC]
.text:6045B51C                 BL              _ZNK13gmTableObject7GetNextERi ; gmTableObject::GetNext(int &)
.text:6045B520                 LDR             R3, [SP,#0x80+var_40]
.text:6045B524                 STR             R3, [R4,#-4]
.text:6045B528                 SUBS            R3, R0, #0
.text:6045B52C                 BEQ             loc_6045B768
.text:6045B530                 LDMIB           R3, {R0,R1}
.text:6045B534                 ADD             R10, R7, R10,LSL#3
.text:6045B538                 LDR             R2, [SP,#0x80+var_74]
.text:6045B53C                 ADD             R3, R3, #0xC
.text:6045B540                 STMIA           R10, {R0,R1}
.text:6045B544                 LDMIA           R3, {R0,R1}
.text:6045B548                 ADD             R12, R7, R2,LSL#3
.text:6045B54C                 MOV             R2, #1
.text:6045B550                 STMIA           R12, {R0,R1}
.text:6045B554                 STR             R2, [R4]
.text:6045B558                 STR             R2, [R4,#4]
.text:6045B55C
.text:6045B55C loc_6045B55C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+808j
.text:6045B55C                                         ; gmThread::Sys_Execute(gmVariable *)+F0Cj
.text:6045B55C                 ADD             R4, R4, #8
.text:6045B560                 LDR             R12, [SP,#0x80+var_54]
.text:6045B564                 B               loc_6045A8F8
.text:6045B568 ; ---------------------------------------------------------------------------
.text:6045B568
.text:6045B568 loc_6045B568                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+78Cj
.text:6045B568                 LDR             R7, [R3,#0x7C]
.text:6045B56C                 CMP             R7, #0
.text:6045B570                 BEQ             loc_6045B848
.text:6045B574                 SUB             LR, R4, #8
.text:6045B578                 ADD             R8, R4, #8
.text:6045B57C                 SUB             R2, R4, #0x10
.text:6045B580                 SUB             R3, R4, #0x18
.text:6045B584                 LDMIA           LR, {R0,R1}
.text:6045B588                 STMIA           R8, {R0,R1}
.text:6045B58C                 ADD             R8, R4, #0x10
.text:6045B590                 LDMIA           R2, {R0,R1}
.text:6045B594                 ADD             R2, SP, #0x80+var_54
.text:6045B598                 STMIA           R4, {R0,R1}
.text:6045B59C                 LDMIA           R3, {R0,R1}
.text:6045B5A0                 ADD             R3, SP, #0x80+var_50
.text:6045B5A4                 STMIA           LR, {R0,R1}
.text:6045B5A8                 MOV             R1, #3
.text:6045B5AC                 STR             R12, [R4,#-0x18]
.text:6045B5B0                 MOV             R0, R5
.text:6045B5B4                 STR             R12, [R4,#-0x14]
.text:6045B5B8                 MOV             R12, #5
.text:6045B5BC                 STR             R7, [R4,#-0xC]
.text:6045B5C0                 STR             R12, [R4,#-0x10]
.text:6045B5C4                 LDR             R12, [R5,#0x20]
.text:6045B5C8                 RSB             R12, R12, R8
.text:6045B5CC                 MOV             R12, R12,ASR R1
.text:6045B5D0                 B               loc_6045B18C
.text:6045B5D4 ; ---------------------------------------------------------------------------
.text:6045B5D4
.text:6045B5D4 loc_6045B5D4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+250j
.text:6045B5D4                 LDR             LR, [R3,#0x70]
.text:6045B5D8                 CMP             LR, #0
.text:6045B5DC                 BEQ             loc_6045B818
.text:6045B5E0                 LDMDB           R4, {R0,R1}
.text:6045B5E4                 ADD             R3, R4, #8
.text:6045B5E8                 ADD             R7, R4, #0x10
.text:6045B5EC                 ADD             R2, SP, #0x80+var_54
.text:6045B5F0                 STMIA           R3, {R0,R1}
.text:6045B5F4                 ADD             R3, SP, #0x80+var_50
.text:6045B5F8                 STR             R12, [R4,#-8]
.text:6045B5FC                 MOV             R0, R5
.text:6045B600                 STR             R12, [R4,#-4]
.text:6045B604                 MOV             R12, #5
.text:6045B608                 STMIA           R4, {R12,LR}
.text:6045B60C                 MOV             R1, #1
.text:6045B610                 LDR             R12, [R5,#0x20]
.text:6045B614                 RSB             R12, R12, R7
.text:6045B618                 B               loc_6045B188
.text:6045B61C ; ---------------------------------------------------------------------------
.text:6045B61C
.text:6045B61C loc_6045B61C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+750j
.text:6045B61C                 LDR             LR, [R3,#0x70]
.text:6045B620                 CMP             LR, #0
.text:6045B624                 BNE             loc_6045B144
.text:6045B628                 BL              _Z17gmGetOperatorName10gmOperator ; gmGetOperatorName(gmOperator)
.text:6045B62C                 LDR             R1, [R4,#-0x10]
.text:6045B630                 MOV             R7, R0
.text:6045B634                 LDR             R0, [R5,#0x1C]
.text:6045B638                 BL              _ZN9gmMachine11GetTypeNameEi ; gmMachine::GetTypeName(int)
.text:6045B63C                 LDR             R1, [R4,#-8]
.text:6045B640                 MOV             R6, R0
.text:6045B644                 LDR             R0, [R5,#0x1C]
.text:6045B648                 BL              _ZN9gmMachine11GetTypeNameEi ; gmMachine::GetTypeName(int)
.text:6045B64C                 LDR             R1, =(aOperatorSUndef - 0x6045B660)
.text:6045B650                 MOV             R2, R7
.text:6045B654                 MOV             R3, R6
.text:6045B658                 ADD             R1, PC, R1 ; "operator %s undefined for type %s and %"...
.text:6045B65C                 STR             R0, [SP,#0x80+var_80]
.text:6045B660                 ADD             R0, R8, #0x238
.text:6045B664                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B668                 B               loc_6045B2A0
.text:6045B66C ; ---------------------------------------------------------------------------
.text:6045B66C
.text:6045B66C loc_6045B66C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+654j
.text:6045B66C                 MOV             R3, #1
.text:6045B670                 STR             R6, [R4,#4]
.text:6045B674                 STR             R3, [R4]
.text:6045B678                 B               loc_6045AEE8
.text:6045B67C ; ---------------------------------------------------------------------------
.text:6045B67C
.text:6045B67C loc_6045B67C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+38j
.text:6045B67C                 LDR             R3, [R0,#0x1C]
.text:6045B680                 LDRB            R2, [R3,#0x228]
.text:6045B684                 CMP             R2, #0
.text:6045B688                 BEQ             loc_6045A8A4
.text:6045B68C                 LDR             R3, [R3,#0x14]
.text:6045B690                 CMP             R3, #0
.text:6045B694                 BEQ             loc_6045A8A4
.text:6045B698                 BLX             R3
.text:6045B69C                 CMP             R0, #0
.text:6045B6A0                 BEQ             loc_6045A8A4
.text:6045B6A4                 B               loc_6045AA84
.text:6045B6A8 ; ---------------------------------------------------------------------------
.text:6045B6A8
.text:6045B6A8 loc_6045B6A8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+370j
.text:6045B6A8                 LDR             LR, [R2,#0xD8]
.text:6045B6AC                 CMP             LR, #0
.text:6045B6B0                 BEQ             loc_6045ABEC
.text:6045B6B4
.text:6045B6B4 loc_6045B6B4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+E9Cj
.text:6045B6B4                 LDMDB           R4, {R0,R1}
.text:6045B6B8
.text:6045B6B8 loc_6045B6B8                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+EB4j
.text:6045B6B8                 ADD             R3, R4, #8
.text:6045B6BC                 ADD             R2, SP, #0x80+var_28
.text:6045B6C0                 ADD             R7, R4, #0x10
.text:6045B6C4                 STMIA           R3, {R0,R1}
.text:6045B6C8                 ADD             R3, SP, #0x80+var_50
.text:6045B6CC                 STR             R12, [R4,#-8]
.text:6045B6D0                 MOV             R0, R5
.text:6045B6D4                 STR             R12, [R4,#-4]
.text:6045B6D8                 MOV             R12, #5
.text:6045B6DC                 STMIA           R4, {R12,LR}
.text:6045B6E0                 MOV             R1, #1
.text:6045B6E4                 LDR             LR, [SP,#0x80+var_54]
.text:6045B6E8                 LDR             R12, [R5,#0x20]
.text:6045B6EC                 SUB             LR, LR, #4
.text:6045B6F0                 STR             LR, [R2,#-0x2C]!
.text:6045B6F4                 RSB             R12, R12, R7
.text:6045B6F8                 B               loc_6045B188
.text:6045B6FC ; ---------------------------------------------------------------------------
.text:6045B6FC
.text:6045B6FC loc_6045B6FC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+31Cj
.text:6045B6FC                 LDR             LR, [R2,#0xD8]
.text:6045B700                 CMP             LR, #0
.text:6045B704                 BNE             loc_6045B6B4
.text:6045B708                 B               loc_6045AB98
.text:6045B70C ; ---------------------------------------------------------------------------
.text:6045B70C
.text:6045B70C loc_6045B70C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+41Cj
.text:6045B70C                 LDR             LR, [R2,#0xD8]
.text:6045B710                 CMP             LR, #0
.text:6045B714                 BEQ             loc_6045AC98
.text:6045B718
.text:6045B718 loc_6045B718                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+EC0j
.text:6045B718                 LDMIA           R8, {R0,R1}
.text:6045B71C                 B               loc_6045B6B8
.text:6045B720 ; ---------------------------------------------------------------------------
.text:6045B720
.text:6045B720 loc_6045B720                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+3C0j
.text:6045B720                 LDR             LR, [R2,#0xD8]
.text:6045B724                 CMP             LR, #0
.text:6045B728                 BNE             loc_6045B718
.text:6045B72C                 B               loc_6045AC3C
.text:6045B730 ; ---------------------------------------------------------------------------
.text:6045B730
.text:6045B730 loc_6045B730                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+A80j
.text:6045B730                 LDRB            R3, [R0,#0x228]
.text:6045B734                 CMP             R3, #0
.text:6045B738                 BEQ             loc_6045B2EC
.text:6045B73C                 LDR             R3, [R0,#4]
.text:6045B740                 CMP             R3, #0
.text:6045B744                 BEQ             loc_6045B2EC
.text:6045B748                 MOV             R2, #4
.text:6045B74C                 MOV             R1, R5
.text:6045B750                 STR             R2, [SP,#0x80+var_70]
.text:6045B754                 BL              _ZN9gmMachine15Sys_SwitchStateEP8gmThreadi ; gmMachine::Sys_SwitchState(gmThread *,int)
.text:6045B758                 B               loc_6045AA84
.text:6045B75C ; ---------------------------------------------------------------------------
.text:6045B75C
.text:6045B75C loc_6045B75C                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+C00j
.text:6045B75C                 ADD             R0, R3, #0xE0
.text:6045B760                 BL              _ZN10gmMemChain5AllocEv ; gmMemChain::Alloc(void)
.text:6045B764                 B               loc_6045B474
.text:6045B768 ; ---------------------------------------------------------------------------
.text:6045B768
.text:6045B768 loc_6045B768                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+CC4j
.text:6045B768                 STR             R3, [R4,#4]
.text:6045B76C                 MOV             R3, #1
.text:6045B770                 STR             R3, [R4]
.text:6045B774                 B               loc_6045B55C
.text:6045B778 ; ---------------------------------------------------------------------------
.text:6045B778
.text:6045B778 loc_6045B778                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+2ACj
.text:6045B778                 CMP             R0, #6
.text:6045B77C                 BEQ             loc_6045AA84
.text:6045B780                 CMP             R0, #7
.text:6045B784                 BEQ             loc_6045B2A0
.text:6045B788                 CMP             R0, #3
.text:6045B78C                 STRNE           R0, [SP,#0x80+var_70]
.text:6045B790                 BNE             loc_6045AA84
.text:6045B794                 LDR             R12, [SP,#0x80+var_64]
.text:6045B798                 CMP             R12, #0
.text:6045B79C                 SUBNE           R2, R2, #0xE0000001
.text:6045B7A0                 ADDNE           R3, R3, R2,LSL#3
.text:6045B7A4                 LDMNEIA         R3, {R0,R1}
.text:6045B7A8                 STMNEIA         R12, {R0,R1}
.text:6045B7AC                 B               loc_6045B7D4
.text:6045B7B0 ; ---------------------------------------------------------------------------
.text:6045B7B0
.text:6045B7B0 loc_6045B7B0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+9B4j
.text:6045B7B0                 LDR             R1, =(aSetdotFailed_ - 0x6045B7C0)
.text:6045B7B4                 ADD             R0, R0, #0x238
.text:6045B7B8                 ADD             R1, PC, R1 ; "setdot failed."
.text:6045B7BC                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B7C0                 B               loc_6045B2A0
.text:6045B7C4 ; ---------------------------------------------------------------------------
.text:6045B7C4
.text:6045B7C4 loc_6045B7C4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+C94j
.text:6045B7C4                 LDR             R12, [SP,#0x80+var_64]
.text:6045B7C8                 CMP             R12, #0
.text:6045B7CC                 LDMNEDB         R4, {R0,R1}
.text:6045B7D0                 STMNEIA         R12, {R0,R1}
.text:6045B7D4
.text:6045B7D4 loc_6045B7D4                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+F44j
.text:6045B7D4                 LDR             R0, [R5,#0x1C]
.text:6045B7D8                 B               loc_6045B2EC
.text:6045B7DC ; ---------------------------------------------------------------------------
.text:6045B7DC
.text:6045B7DC loc_6045B7DC                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+620j
.text:6045B7DC                 LDR             R1, =(aForeachExpress - 0x6045B7EC)
.text:6045B7E0                 ADD             R0, R0, #0x238
.text:6045B7E4                 ADD             R1, PC, R1 ; "foreach expression has no iterator func"...
.text:6045B7E8                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B7EC                 B               loc_6045B2A0
.text:6045B7F0 ; ---------------------------------------------------------------------------
.text:6045B7F0
.text:6045B7F0 loc_6045B7F0                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+6ECj
.text:6045B7F0                 LDR             R1, =(aGetdotFailed_ - 0x6045B800)
.text:6045B7F4                 ADD             R0, R0, #0x238
.text:6045B7F8                 ADD             R1, PC, R1 ; "getdot failed."
.text:6045B7FC                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B800                 B               loc_6045B2A0
.text:6045B804 ; ---------------------------------------------------------------------------
.text:6045B804
.text:6045B804 loc_6045B804                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+818j
.text:6045B804                 LDR             R1, =(aGetthisFailed_ - 0x6045B814)
.text:6045B808                 ADD             R0, R0, #0x238
.text:6045B80C                 ADD             R1, PC, R1 ; "getthis failed. this is null"
.text:6045B810                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B814                 B               loc_6045B2A0
.text:6045B818 ; ---------------------------------------------------------------------------
.text:6045B818
.text:6045B818 loc_6045B818                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+D74j
.text:6045B818                 BL              _Z17gmGetOperatorName10gmOperator ; gmGetOperatorName(gmOperator)
.text:6045B81C                 LDR             R1, [R4,#-8]
.text:6045B820                 MOV             R6, R0
.text:6045B824                 LDR             R0, [R5,#0x1C]
.text:6045B828                 BL              _ZN9gmMachine11GetTypeNameEi ; gmMachine::GetTypeName(int)
.text:6045B82C                 LDR             R1, =(aUnaryOperatorS - 0x6045B83C)
.text:6045B830                 MOV             R2, R6
.text:6045B834                 ADD             R1, PC, R1 ; "unary operator %s undefined for type %s"
.text:6045B838                 MOV             R3, R0
.text:6045B83C                 ADD             R0, R8, #0x238
.text:6045B840                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B844                 B               loc_6045B2A0
.text:6045B848 ; ---------------------------------------------------------------------------
.text:6045B848
.text:6045B848 loc_6045B848                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+D08j
.text:6045B848                 LDR             R1, =(aSetindFailed_ - 0x6045B858)
.text:6045B84C                 ADD             R0, R0, #0x238
.text:6045B850                 ADD             R1, PC, R1 ; "setind failed."
.text:6045B854                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B858                 B               loc_6045B2A0
.text:6045B858 ; ---------------------------------------------------------------------------
.text:6045B85C off_6045B85C    DCD _GLOBAL_OFFSET_TABLE_ - 0x6045A88C
.text:6045B85C                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+18r
.text:6045B860 off_6045B860    DCD aSetthisFailed_ - 0x6045B2A0
.text:6045B860                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+A28r
.text:6045B860                                         ; "setthis failed."
.text:6045B864 off_6045B864    DCD _ZN9gmMachine17s_machineCallbackE_ptr - 0x60A00914
.text:6045B864                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+A50r
.text:6045B868 off_6045B868    DCD aOperatorSUndef - 0x6045B660
.text:6045B868                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+DE4r
.text:6045B868                                         ; "operator %s undefined for type %s and %"...
.text:6045B86C off_6045B86C    DCD aSetdotFailed_ - 0x6045B7C0
.text:6045B86C                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *):loc_6045B7B0r
.text:6045B86C                                         ; "setdot failed."
.text:6045B870 off_6045B870    DCD aForeachExpress - 0x6045B7EC
.text:6045B870                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *):loc_6045B7DCr
.text:6045B870                                         ; "foreach expression has no iterator func"...
.text:6045B874 off_6045B874    DCD aGetdotFailed_ - 0x6045B800
.text:6045B874                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *):loc_6045B7F0r
.text:6045B874                                         ; "getdot failed."
.text:6045B878 off_6045B878    DCD aGetthisFailed_ - 0x6045B814
.text:6045B878                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *):loc_6045B804r
.text:6045B878                                         ; "getthis failed. this is null"
.text:6045B87C off_6045B87C    DCD aUnaryOperatorS - 0x6045B83C
.text:6045B87C                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+FC4r
.text:6045B87C                                         ; "unary operator %s undefined for type %s"
.text:6045B880 off_6045B880    DCD aSetindFailed_ - 0x6045B858
.text:6045B880                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *):loc_6045B848r
.text:6045B880                                         ; "setind failed."
.text:6045B884 off_6045B884    DCD aOperatorSUndef - 0x6045B8C4
.text:6045B884                                         ; DATA XREF: gmThread::Sys_Execute(gmVariable *)+1048r
.text:6045B884                                         ; "operator %s undefined for type %s and %"...
.text:6045B888 ; ---------------------------------------------------------------------------
.text:6045B888
.text:6045B888 loc_6045B888                            ; CODE XREF: gmThread::Sys_Execute(gmVariable *)+8D8j
.text:6045B888                 MOV             R0, #2
.text:6045B88C                 BL              _Z17gmGetOperatorName10gmOperator ; gmGetOperatorName(gmOperator)
.text:6045B890                 LDR             R1, [R4,#-0x10]
.text:6045B894                 MOV             R7, R0
.text:6045B898                 LDR             R0, [R5,#0x1C]
.text:6045B89C                 BL              _ZN9gmMachine11GetTypeNameEi ; gmMachine::GetTypeName(int)
.text:6045B8A0                 LDR             R1, [R4,#-8]
.text:6045B8A4                 MOV             R6, R0
.text:6045B8A8                 LDR             R0, [R5,#0x1C]
.text:6045B8AC                 BL              _ZN9gmMachine11GetTypeNameEi ; gmMachine::GetTypeName(int)
.text:6045B8B0                 LDR             R1, =(aOperatorSUndef - 0x6045B8C4)
.text:6045B8B4                 MOV             R2, R7
.text:6045B8B8                 MOV             R3, R6
.text:6045B8BC                 ADD             R1, PC, R1 ; "operator %s undefined for type %s and %"...
.text:6045B8C0                 STR             R0, [SP,#0x80+var_80]
.text:6045B8C4                 ADD             R0, R8, #0x238
.text:6045B8C8                 BL              _ZN5gmLog8LogEntryEPKcz ; gmLog::LogEntry(char const*,...)
.text:6045B8CC                 B               loc_6045B2A0
.text:6045B8CC ; End of function gmThread::Sys_Execute(gmVariable *)
.text:6045B8CC
0 0
原创粉丝点击