//Release 23.08.2006

typedef unsigned int size_t;
typedef unsigned long time_t;
typedef int jmp_buf[11];

#ifndef _NULL
#define _NULL 0
#endif

#ifndef NULL
#define NULL   _NULL
#endif /* NULL */

#define __int16 short

//#include "png/png.h"

//Если S75, расскоментировать сл. строку
#define NEWSGOLD

#ifdef NEWSGOLD

#define MSG_GUI_DESTROYED 0x640E
#define MMI_CEPID 0x4209
#define DISPLACE_OF_EDGUI 0x88
#define DISPLACE_OF_EDGUI_ID 0x4C
#define DISPLACE_OF_IDLEGUI_ID 0x2C
#define DISPLACE_OF_IDLECANVAS 0x18

#else
//­Ґ‚…ђЌЋ!!!!!!!!
#define MSG_GUI_DESTROYED 0x640E 

#define DISPLACE_OF_IDLECANVAS 0x14
#endif

#define NAMECSM_MAGIC1 ((void *(*)(int))0x55AACCCC)
#define NAMECSM_MAGIC2 ((void (*)(void *))0x3333AA55)

typedef struct{
  unsigned long year;
  unsigned char month;
  unsigned char day;
} TDate;

typedef struct{
  unsigned char hour;
  unsigned char min;
  unsigned char param;
  unsigned long param2;
} TTime;

typedef struct{
  unsigned int type;
  unsigned int param2;
  unsigned short param3;
  char wstr[50];
}StructUSSDStr;

typedef struct{
  void *p1;
  void *p2;
  StructUSSDStr *pussdstr;
}StructUSSD;

typedef struct
{
  void *first;
  void *last;
  void (*data_mfree)(void *);
}LLQ;

typedef struct{
  int param0;
  int param1;
  int param2;
  int param3;
} GBSTMR;

typedef struct{
#ifdef NEWSGOLD
  int pid_from;
  int msg;
#else
  short pid_from;
  short msg;
#endif
  int submess;
  void *data0;
  void *data1;
} GBS_MSG;

typedef struct{
  void *next;
  void *prev;
  void /*CSM_DESC*/ *constr;
  int id;
  int state;
  int unk1;
  int unk2;
  LLQ gui_ll;
} CSM_RAM;

typedef struct{
  int (*onMessage)(CSM_RAM*,GBS_MSG*);
  void (*onCreate)(CSM_RAM*);
#ifdef NEWSGOLD
  int zero1;
  int zero2;
  int zero3;
  int zero4;
#endif
  void (*onClose)(CSM_RAM*);
  int datasize;
  int statesize;
  const int *states;
} CSM_DESC;

typedef struct{
  int under_idle_id;
  int idle_id;
  void *csm_q;
} CSMROOT;

typedef struct{
  short x;
  short y;
  short x2;
  short y2;
} RECT;

typedef struct{
  char dummy[0x24];
} DRWOBJ;

typedef struct{
  unsigned short *wsbody;
  void *(*ws_malloc)(int);
  void (*ws_mfree)(void *);
  int unk;
  int maxlen;
} WSHDR;

typedef struct
{
  void *next;
  void *prev;
  void *data;
}EDITQ;

typedef struct
{
  void *next;
  void *prev;
}LLIST;

typedef struct
{
#ifdef NEWSGOLD
  const char *ext;
  int unical_id;
  int unk1;
  const int *icon1;
  const int *icon2;
  int unk4;	//0x109
  int unk5;	//0x10A
  int unk6;	//0x7FFFC0FB
  void *proc;
  int zero;
#else
  const char *ext;
  int unical_id;
  int unk1;	//0x57807FF
  const int *icon1;
  const int *icon2;
  void *proc;
  int zero;
#endif
}REGEXPLEXT;

typedef struct
{
  RECT *canvas;
  void *methods;
  void *definition;
  char state;
  char unk2;
  char unk3;
  char unk4;
  int color1; //Параметр GeneralFunc пишется сюда?????
  int color2;
  LLQ item_ll;
  int unk5;
  char unk6;
  char unk7;
  char unk8;
  char unk9;
  int unk10;
  int flag30; //Используется при создании (бывает |=0x02)
}GUI;

typedef struct
{
  char zero;
  char unk1;
  short keys;
  GBS_MSG *gbsmsg;
}GUI_MSG;

//Constants
//Seek
#define S_SET 0
#define S_CUR 1
#define S_END 2

//Permissions
#define P_WRITE 0x100
#define P_READ 0x80

//Access
#define A_ReadOnly 0
#define A_WriteOnly 1
#define A_ReadWrite 2
#define A_NoShare 4
#define A_Append 8
#define A_Exclusive 0x10
#define A_MMCStream 0x20
#define A_Create 0x100
#define A_Truncate 0x200
#define A_FailCreateOnExist 0x400
#define A_FailOnReopen 0x800

#define A_TXT 0x4000
#define A_BIN 0x8000

// kbd msg:
#define KEY_DOWN        0x193
#define KEY_UP          0x194
#define LONG_PRESS      0x195
// 196 - sent 1 second after last key release, but not always?
// 197 - ? unknown kbd msg
// 198 - ? unknown kbd msg

// For kbd msg:
// submsg - scan Code:
#ifdef NEWSGOLD
#define LEFT_SOFT       0x01
#define RIGHT_SOFT      0x04
#define GREEN_BUTTON    0x0B
#define RED_BUTTON      0x0C
#define VOL_UP_BUTTON   0x0D
#define VOL_DOWN_BUTTON 0x0E
#define UP_BUTTON       0x3B
#define DOWN_BUTTON     0x3C
#define LEFT_BUTTON     0x3D
#define RIGHT_BUTTON    0x3E
#define ENTER_BUTTON	0x1A
#define INTERNET_BUTTON     0x11
#define PLAY_BUTTON	0x15
#define CAMERA_BUTTON	0x14
#else
#define LEFT_SOFT       0x01
#define RIGHT_SOFT      0x04
#define GREEN_BUTTON    0x0B
#define RED_BUTTON      0x0C
#define VOL_UP_BUTTON   0x14
#define VOL_DOWN_BUTTON 0x15
#define UP_BUTTON       0x3B
#define DOWN_BUTTON     0x3C
#define LEFT_BUTTON     0x3D
#define RIGHT_BUTTON    0x3E
#define ENTER_BUTTON	0x1A
#define INTERNET_BUTTON     0x11
#endif
// '*', '#', '0'-'9'

typedef struct
{
  unsigned char w; //!!add unsigned
  unsigned char h; //!!add unsigned
  char bpnum; //For BW=1, 8bit=5, 16bit=8, 0x80 - packed
  char zero;
  char *bitmap;
}IMGHDR;

typedef struct
{
  RECT rc;
  int *icon;
  int lgp_id;
  int lgp_null; //0x7FFFFFFF
}HEADER_DESC;

typedef struct
{
  int *icon;
  int lgp_id_small;
  int lgp_id_large;
  int zero;
  int *softkeys; //{6,0x22,0x1D}
  int flag1; //0
  int flag2; //0x59D
}MENUITEM_DESC;

typedef struct
{
  short key1;
  short key2;
  int lgp_id;
}SOFTKEY_DESC;

typedef struct
{
  SOFTKEY_DESC *desc;
  int n;
}SOFTKEYSTAB;

typedef struct
{
  int flag; //0,8 etc
  void *proc1;
  void *global_hook_proc; //GUI * gui, int cmd
  void *proc3;
  int *softkeys; //{6,0x22,0x1D}, mb default for all items, if item.softkeys==NULL
  SOFTKEYSTAB *softkeystab;
  int flags2; //2
  void *itemproc; //Called when draw item
  MENUITEM_DESC * items; //Table of items desc;
  void ** procs; //Table of procs when item selected
  int n_items; //Number of items
}MENU_DESC;


typedef struct{
#ifdef NEWSGOLD
  char unk1[44];
  short file_attr;
  char unk2[135];
  char file_name[655];
#else
  char unk1[20];
  unsigned int file_size;
  char unk2[16];
  char folder_name[129];
  char file_name[200];
#endif
}DIR_ENTRY;

typedef struct
{
  unsigned short ch_number;
  unsigned short ci;
  unsigned short lac;
  char power;
  char c1;
  char c2;
  char unk;
  unsigned short unk2;
}RAMNET;

//-----------------------------------------

typedef struct
{
  int one;
  int (*onKey)(GUI *gui, GUI_MSG *msg);
  void (*global_hook_proc)(GUI *gui, int cmd);
  void *locret;
  int zero1;
  SOFTKEYSTAB *softkeystab;
  RECT rc;
  int font;
  int _100;
  int _101;
  int zero2;
  int zero3;
  int _0x40000000;
}INPUTDIA_DESC;

typedef struct
{
  char dummy[40];
  WSHDR *pWS;
}EDITCONTROL;

#ifdef NEWSGOLD
#define EDIT_CURSOR_POS(DATA) (((short ****)DATA)[0x88/4][0x84/4][0x28/4][0x34/2])
#else
#define EDIT_CURSOR_POS(DATA) (((short ****)DATA)[0x50/4][0x4C/4][0x28/4][0x30/2])
#endif

typedef struct
{
  short field_0;
  char no_data;
  char item_type;
  int field_4;
  void *data;
}AB_UNPRES_ITEM;

typedef struct
{
  short field_0;
  short number_of_records;
  short field_4;
  short field_6;
  short field_8;
  char field_A;
  char field_B;
  AB_UNPRES_ITEM *record_list;
  char field_10;
  char field_11;
  short field_12;
  int field_14;
  int field_18;
}AB_UNPRES;

#pragma pack(1)
typedef struct
{
  char _1D;
  char format;
  char data_size;
  char _0_1;
  char _0_2;
//  char _0_3;
  char data[128];
}PKT_NUM;
#pragma pack()

//================================
// Sockets
//================================
typedef struct
{
  unsigned short family; //1
  unsigned short port; //network order
  unsigned int ip; //network order
  unsigned int unk1;
  unsigned int unk2;
}SOCK_ADDR;

#pragma pack(1)
typedef struct
{
  unsigned short _0x0080;
  unsigned short _0xFFFF;
  unsigned short _0x0000;
}REGSOCKCEPID_DATA;
#pragma pack()

#define IP_ADDR(A,B,C,D) (((unsigned long)A<<24)|((unsigned long)B<<16)|((unsigned long)C<<8)|((unsigned long)D<<0))

#pragma diag_suppress=Ta035

#pragma swi_number=0
__swi __arm void loopback0();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=1
__swi __arm void loopback1();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=2
__swi __arm void loopback2();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=3
__swi __arm void loopback3();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=4
__swi __arm void loopback4();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=6
__swi __arm int GetAkku(int param1,int param2);
//arm
//pattern=1C,40,2D,E9,??,??,9F,E5,00,21,80,E0,82,20,83,E0,01,20,D2,E7,FF,00,52,E3,??,??,9F,05,??,00,00,0A,80,00,12,E3,??,??,9F,05,00,00,90,05,82,01,80,00,B2,00,D0,01,??,00,00,0A,00,30,A0,E3

#pragma swi_number=8
__swi __arm long SetIllumination(unsigned char dev,unsigned long param1,unsigned short bright,unsigned long delay);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E5,??,??,??,E2,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E3,??,??,??,03,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,0A,??,??,??,E3,??,??,??,2A,??,??,??,E3,??,??,??,E1,??,??,??,E5,??,??,??,E7,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,E2,??,??,??,E8

#pragma swi_number=10
__swi __arm int fopen(const char * cFileName, unsigned int iFileFlags, unsigned int iFileMode, unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E8,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E8

#pragma swi_number=11
__swi __arm int fread(int FileHandler, void *cBuffer, int iByteCount, unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E5,34,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E8

#pragma swi_number=12
__swi __arm unsigned int fwrite(int FileHandler, void const * cBuffer, int iByteCount, unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E5,68,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E8

#pragma swi_number=13
__swi __arm void fclose(int FileHandler, unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E8,??,??,??,E3,??,??,??,E3,??,??,??,E1

#pragma swi_number=15
__swi __arm unsigned int lseek(int FileHandler, unsigned int offset, unsigned int origin, unsigned int *ErrorNumber, unsigned int *ErrorNumber2);
//arm
//pattern=??,??,??,E9,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,E8

#pragma swi_number=16
__swi __arm int mkdir(const char * cFileName, unsigned int *ErrorNumber);
//arm
//pattern=38,40,2D,E9,01,50,A0,E1,00,40,A0,E1,??,??,??,??,00,30,E0,E3,??,??,??,??,28,C0,90,E5,00,00,A0,E3,05,30,A0,E1,00,20,A0,E3


#pragma swi_number=20
__swi __arm void *malloc(unsigned int size);
//arm
//pattern=??,??,??,E1,02,??,??,E3,_blf(??,??,??,E9,??,??,??,E1,??,??,??,E3,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,2A,??,??,??,??,??,??,??,E3,??,??,??,??,??,??,??,8A,??,??,??,E3,??,??,??,03,??,??,??,0A,??,??,??,E3,??,??,??,03,??,??,??,0A,??,??,??,E3,??,??,??,03,??,??,??,13,??,??,??,EA)

#pragma swi_number=0x8014
__swi __arm void *malloc_adr(void);

#pragma swi_number=21
__swi __arm void mfree(void *);
//arm
//pattern=??,??,??,E3,??,??,??,01,??,??,??,E9,??,??,??,E5,??,??,??,E2,??,??,??,??,??,??,??,??,??,??,??,E1,??,??,??,11,??,??,??,??,??,??,??,??,??,??,??,0A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3

#pragma swi_number=0x8015
__swi __arm void *mfree_adr(void);

#pragma swi_number=22
__swi __arm int sprintf(char *buf, const char *str, ...);
//thumb
//pattern=??,B4,??,B5,??,B0,??,90,??,48,??,A9,??,91,??,44,??,90,??,48,??,44,??,90,??,AD,??,1C,??,AB,??,AA,??,99,??,??,??,??,??,1C,??,1C,??,20,??,??,??,??,??,1C,??,B0,??,BC,??,BC,??,B0,??,47

#pragma swi_number=23
__swi	__arm	char * strcat (char *,const char *);
//thumb
//pattern=??,78,??,1C,??,2B,??,D0,??,32,??,78,??,2B,??,D1,??,78,??,31,??,70,??,32,??,2B,??,D1,??,47

#pragma swi_number=24
__swi	__arm	char * strchr (const char *,int);
//thumb
//pattern=??,06,??,0E,??,38,??,30,??,78,??,42,??,D0,??,29,??,D1,??,42,??,D0,??,20,??,47

#pragma swi_number=25
__swi	__arm	int  strcmp (const char *,const char *);
//arm
//pattern=??,??,??,E3,??,??,??,03,??,??,??,1A,??,??,??,E9,??,??,??,??,??,??,??,E4,??,??,??,E4,??,??,??,E0,??,??,??,E1,??,??,??,E0,??,??,??,01,??,??,??,0A,??,??,??,E8,??,??,??,E1,??,??,??,E0,??,??,??,03,??,??,??,1A,??,??,??,E1,??,??,??,E0,??,??,??,03,??,??,??,1A,??,??,??,E1,??,??,??,E0,??,??,??,03,??,??,??,00,??,??,??,11,??,??,??,E1,??,??,??,E4,??,??,??,E4,??,??,??,E3,??,??,??,21,??,??,??,1A,??,??,??,E4,??,??,??,E4,??,??,??,E3,??,??,??,21,??,??,??,0A,??,??,??,E0,??,??,??,E1

#pragma swi_number=26
__swi	__arm	char * strcpy (char *dest,const char *source);
//thumb
//pattern=??,1C,??,1C,??,43,??,07,??,B4,??,D1,??,??,??,01,??,E0,??,C2,??,C9,??,1B,??,43,??,40,??,D0,??,06,??,0E,??,70,??,32,??,29,??,D0,??,0A,??,E7,??,78,??,31,??,70,??,32,??,2B,??,D0,??,78,??,31,??,70,??,32,??,2B,??,D1,??,BC,??,47

#pragma swi_number=27
__swi __arm unsigned int strlen(const char *);
//thumb
//pattern=??,B4,??,1C,??,07,??,D0,??,78,??,30,??,29,??,D1,??,1B,??,BC,??,47,??,07,??,D1,??,??,??,01,??,C8,??,1A,??,43,??,40,??,D0,??,1B,??,06,??,D1,??,38,??,E7,??,04,??,0E,??,D1,??,38,??,E7,??,02,??,0E,??,D1,??,38,??,E7

#pragma swi_number=28
__swi	__arm	void  wsAppendChar (void *WSHDR,int wchar);
//thumb
//pattern=??,B5,??,1C,??,D0,??,1C,??,??,??,??,??,68,??,88,??,42,??,D9,??,33,??,04,??,0C,??,80,??,68,??,00,??,52,??,BD

#pragma swi_number=35
__swi __arm void DrawImg(unsigned char x, unsigned char y, short picture);
//thumb
//pattern=??,4B,??,B5,??,42,??,D0,??,??,??,??,??,BD

#pragma swi_number=37
__swi __arm void DrawCanvas(void *data, int x1, int y1, int x2, int y2, int flag_one);
//thumb
//pattern=??,B5,??,1C,??,1C,??,AB,??,98,??,9C,??,80,??,80,??,80,??,80,??,46,??,??,??,??,??,2D,??,D0,??,2C,??,D0,??,1C,??,46,??,47,??,BD

#pragma swi_number=50
__swi __arm void PlaySound(long param1, long param2, long param3, long tone, long param5);
//arm
//pattern=??,??,??,E9,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,1A,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,EF,??,??,??,E3,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,EA

#pragma swi_number=0x43
__swi __arm int IsUnlocked(void);
//thumb
//pattern=??,48,??,B5,??,68,??,28,??,D0,??,??,??,FF,??,28,??,D1,??,20,??,BD

#pragma swi_number=77
__swi __arm void GBS_StartTimerProc(void *htimer, long ms, void ptr());
//arm
//pattern_s75_32=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,1A,??,??,??,E3,??,??,??,E2,??,??,??,??,??,??,??,EF,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,E8
//thumb
//pattern_s75_24=??,B5,??,1C,??,1C,??,1C,??,D1,??,21,??,??,??,??,??,??,??,DF,??,22,??,20,??,??,??,??,??,??,??,??,??,1C,??,??,??,??,??,21,??,1C,??,??,??,??,??,68,??,65,??,20,??,68,??,02,??,31,??,82,??,??,??,??,??,68,??,31,??,82,??,1C,??,1C,??,??,??,??,??,68,??,30,??,88,??,31,??,80,??,BD

#pragma swi_number=92
__swi __arm unsigned char GetCPUClock();
//arm
//pattern=??,??,??,E9,??,??,??,??,??,??,??,E2,??,??,??,E3,??,??,??,90,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,E3,??,??,??,E8,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,EA

#pragma swi_number=93
__swi __arm unsigned char GetCPULoad();
//thumb
//pattern=??,B5,??,4C,??,68,??,28,??,D1,??,??,??,??,??,20,??,60,??,20,??,BD,??,??,??,??,??,BD
//thumb
//pattern=??,B5,??,??,??,68,??,28,??,D1,??,??,??,??,??,20,??,60,??,20,??,BD,??,??,??,??,??,BD

#pragma swi_number=107
__swi	__arm	int  FindFirstFile (DIR_ENTRY *DIRENTRY,char *mask,unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E8

#pragma swi_number=108
__swi	__arm	int  FindNextFile (DIR_ENTRY *DIRENTRY,unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,0A,??,??,??,E1,??,??,??,??,??,??,??,EA,??,??,??,??,20,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E8,??,??,??,E3,??,??,??,??,??,??,??,E1

#pragma swi_number=109
__swi	__arm	int  FindClose (DIR_ENTRY *DIRENTRY,unsigned int *ErrorNumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,0A,??,??,??,E1,??,??,??,??,??,??,??,EA,??,??,??,??,10,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E8,??,??,??,E3,??,??,??,??,??,??,??,E1

#pragma swi_number=124
__swi __arm unsigned int SetVibration(unsigned int power);
//thumb
//pattern=??,B5,??,??,??,1C,??,20,??,39,??,71,??,1C,??,68,??,??,??,27,??,26,??,42,??,??,??,68,??,DA,??,??,??,??,??,??,??,3C,??,78,??,28,??,D9,??,??,??,??,??,70,??,78,??,31,??,70,??,70,??,??,??,??,??,20,??,68,??,??,??,??,??,28,??,D1,??,DF,??,E0

#pragma swi_number=128
__swi __arm int ShowCallList(int list, int zero);
//thumb
//pattern=??,B5,??,B0,??,91,??,A9,??,72,??,A9,??,20,??,80,??,90,??,22,??,73,??,90,??,90,??,90,??,90,??,90,??,A9,??,62,??,63,??,61,??,21,??,AC,??,1C,??,??,??,??,??,20,??,72,??,??,??,22,??,46,??,??,??,??,??,B0,??,BD

#pragma swi_number=140
__swi __arm void RegExplorerExt(REGEXPLEXT const *);
//thumb
//pattern=??,B5,??,68,??,1C,??,68,??,??,??,??,??,28,??,D1,??,??,??,3A,??,68,??,29,??,DA,??,20,??,43,??,1D,??,18,??,31,??,60,??,22,??,1C,??,??,??,??,??,BD

#pragma swi_number=163
__swi __arm void ws_2str(WSHDR *ws, char *str, unsigned int size);
//arm
//pattern=??,??,??,E9,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,E2,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,E3,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,EA

#pragma swi_number=171
__swi __arm void loopback171();
//arm
//pattern=1E,FF,2F,E1

#pragma swi_number=180
__swi __arm void GetDateTime(TDate *, TTime *);
//thumb
//pattern=??,B5,??,1C,??,1C,??,28,??,D1,??,AC,??,2D,??,D1,??,46,??,1C,??,??,??,??,??,1C,??,??,??,??,??,??,??,??,??,1C,??,1C,??,1C,??,??,??,??,??,22,??,43,??,23,??,1C,??,1C,??,??,??,??,??,BD
//pattern=??,B5,??,1C,??,1C,??,28,??,D1,??,AD,??,2C,??,D1,??,46,??,1C,??,??,??,??,??,1C,??,??,??,??,??,1C,??,1C,??,??,??,??,??,1C,??,??,??,??,??,1C,??,1C,??,1C,??,??,??,??,??,23,??,43,??,1C,??,19,??,1C,??,??,??,??,??,BD

#pragma swi_number=181
__swi __arm char GetWeek(TDate*);
//thumb
//pattern=??,B5,??,??,??,??,??,1D,??,20,??,??,??,??,??,06,??,0E,??,BD

#pragma swi_number=182
__swi __arm char GetProfile();
//thumb
//pattern=??,B5,??,22,??,21,??,46,??,??,??,??,??,??,??,28,??,D0,??,??,??,??,??,99,??,42,??,DD,??,1C,??,BD,??,21,??,??,??,??,??,??,??,??,??,3C,??,1C,??,20,??,??,??,??,??,25,??,28,??,D0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,E0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,??,??,38,??,68,??,E7

#pragma swi_number=183
__swi __arm char SetProfile(char);
//thumb
//pattern=??,B5,??,1C,??,??,??,??,??,??,??,??,??,??,??,1C,??,20,??,??,??,??,??,42,??,D0,??,20,??,??,??,??,??,42,??,D0,??,22,??,21,??,1C,??,??,??,??,??,??,??,1C,??,??,??,??,??,1C,??,1C,??,??,??,??,??,22,??,21,??,1C,??,??,??,??,??,??,??,BD

#pragma swi_number=184
__swi __arm int dwMODdw(int denom,int number);
//arm
//pattern=80,24,10,E2,00,00,60,42,41,30,32,E0,00,10,61,22,A1,C1,70,E0

#pragma swi_number=0x80C8
__swi __arm unsigned short *RamCap();
//thumb

#pragma swi_number=0x80CA
__swi __arm  RAMNET * RamNet();
//thumb

#pragma swi_number=0x0100
__swi __arm void GBS_SendMessage(int cepid_to, int msg, ...); //int submess, void *data1, void *data2
//arm
//pattern=??,??,??,E9,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E8,??,??,??,E5,??,??,??,E2,??,??,??,??,??,??,??,E8

#pragma swi_number=0x0101
__swi __arm int GBS_ReciveMessage(GBS_MSG *);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E2,??,??,??,??,??,??,??,E2,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E5,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x0102
__swi __arm void GBS_AcceptMessage(void);
//arm
//pattern=??,??,??,E9,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,1A,??,??,??,E5,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,E5,??,??,??,E5,??,??,??,E1,??,??,??,??,??,??,??,E2,??,??,??,??,??,??,??,E2,??,??,??,E5,??,??,??,??,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,92,??,??,??,??,??,??,??,E5,??,??,??,E8

#pragma swi_number=0x0103
__swi __arm void GBS_ClearMessage(void);
//arm
//pattern=??,??,??,E9,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E2,??,??,??,??,??,??,??,E2,??,??,??,??,??,??,??,E8,??,??,??,??

#pragma swi_number=0x0104
__swi __arm void GBS_PendMessage(GBS_MSG *);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,??,??,??,??,E1,??,??,??,E5,??,??,??,E1,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E9,??,??,??,E2,??,??,??,E2,??,??,??,??,??,??,??,E2,??,??,??,E5,??,??,??,??,??,??,??,E8

#pragma swi_number=0x0105
__swi __arm void CreateGBSproc(int cepid, const char *name, void (*onMsg)(void), int prio, int unk_zero);
//arm
//pattern=??,??,??,E9,??,??,??,E2,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E8

#pragma swi_number=0x8106
__swi __arm CSMROOT *CSM_root();
//
#pragma swi_number=0x0107
__swi __arm int CreateCSM(const CSM_DESC*,void *,int);
//thumb
//pattern=??,1C,??,1C,??,1C,??,??,??,B5,??,68,??,??,??,??,??,BD

#pragma swi_number=0x0108
__swi	__arm	CSM_RAM * FindCSMbyID (int id);
//thumb
//pattern=??,1C,??,??,??,B5,??,68,_blf(??,28,??,D1,??,47,??,68,??,E0,??,68,??,2A,??,D0,??,68,??,42,??,D1,??,E0,??,6A,??,E0,??,68,??,2A,??,D0,??,68,??,42,??,D1,??,1C,??,47),??,BD

#pragma swi_number=0x0109
__swi __arm void DoIDLE(void);
//thumb
//pattern=??,1C,??,??,??,B5,??,68,??,68,??,??,??,??,??,??,??,BD

#pragma swi_number=0x010A
__swi __arm void *GetConfig(unsigned int id); //BoBaPack

#pragma swi_number=0x810B
__swi __arm void *GetMinAdrScan(); //BoBaPack
//adr=0xA0030000

#pragma swi_number=0x810C
__swi __arm void *GetMaxAdrScan(); //BoBaPack
//adr=0xA0040000

#pragma swi_number=0x810D
__swi __arm unsigned short *GetCI();

#pragma swi_number=0x010E
__swi __arm void Vibration(unsigned int power, unsigned int duration); //BoBaPack

#pragma swi_number=0x010F
__swi __arm void freeUSSD();
//thumb
//pattern=??,B5,??,??,??,68,??,28,??,D0,??,78,??,28,??,D1,??,20,??,??,??,??,??,68,??,??,??,??,??,20,??,60,??,61,??,BD

#pragma swi_number=0x0110
__swi __arm char *wstrcopy(char *dst, char *src);
//thumb
//pattern=??,B5,??,1C,??,88,??,00,??,19,??,32,??,1C,??,??,??,??,??,1C,??,BD

#pragma swi_number=0x0111
__swi __arm char GetTypeUSSD();
//thumb
//pattern=??,??,??,68,??,28,??,D1,??,20,??,47,??,78,??,47

#pragma swi_number=0x0112
__swi __arm unsigned int SetUSSD(StructUSSDStr *);
//thumb
//pattern=??,B5,??,1C,??,78,??,??,??,??,??,28,??,D1,??,BD,??,??,??,??,??,??,??,60,??,??,??,??,??,26,??,28,??,??,??,??,??,D1,??,1C,??,22,??,E0,??,??,??,??,??,28,??,D8,??,??,??,??,??,28,??,D1,??,1C,??,22,??,1C,??,1C,??,96,??,??,??,??,??,??,??,??,??,28,??,D8,??,??,??,??,??,28,??,D0,??,1C,??,22,??,93,??,E0,??,1C,??,1C,??,96,??,1C,??,1C,??,??,??,??,??,20,??,E7

#pragma swi_number=0x0113
__swi	__arm	char * strpbrk (const char *s1,const char *s2);
//thumb
//pattern=??,B4,??,1C,??,1C,??,78,??,2D,??,D1,??,1A,??,BC,??,47,??,78,??,1C,??,2A,??,D0,??,42,??,D1,??,1A,??,E7,??,78,??,33,??,2A,??,D1,??,34,??,E7

#pragma swi_number=0x0114
__swi	__arm	char * strncat (char *dest,const char *substr,int maxSubLen);
//thumb
//pattern=??,B4,??,78,??,1C,??,2C,??,D0,??,33,??,78,??,2C,??,D1,??,2A,??,D0,??,78,??,31,??,70,??,33,??,2C,??,D0,??,3A,??,D1,??,21,??,70,??,BC,??,47

#pragma swi_number=0x0115
__swi	__arm	int  strncmp (const char *s1,const char *s2,int n);
//thumb
//pattern=??,1C,??,43,??,07,??,B4,??,D1,??,??,??,01,??,E0,??,30,??,31,??,3A,??,2A,??,D3,??,68,??,68,??,42,??,D1,??,1B,??,43,??,40,??,D0,??,2A,??,D1,??,20,??,BC,??,47,??,78,??,78,??,31,??,30,??,2B,??,D3,??,42,??,D1,??,3A,??,D1,??,1B,??,E7

#pragma swi_number=0x0116
__swi	__arm	int  strncpy (char *dest,const char *source,int maxlen);
//thumb
//pattern=??,B4,??,1C,??,1C,??,43,??,07,??,D1,??,??,??,01,??,E0,??,31,??,3A,??,C3,??,2A,??,D3,??,68,??,1B,??,43,??,40,??,D0,??,2A,??,D0,??,78,??,31,??,70,??,33,??,2C,??,D0,??,3A,??,D1,??,BC,??,47,??,2A,??,D9,??,1E,??,22,??,70,??,33,??,39,??,D1,??,E7

#pragma swi_number=0x0117
__swi	__arm	char * strrchr (const char *s,int c);
//thumb
//pattern=??,22,??,06,??,0E,??,78,??,30,??,42,??,D1,??,1E,??,29,??,D1,??,1C,??,47

#pragma swi_number=0x0118
__swi	__arm	char * strstr (const char *s1,const char *s2);
//thumb
//pattern=??,B4,??,1C,??,1C,??,78,??,78,??,34,??,33,??,2A,??,D3,??,42,??,D0,??,2D,??,D0,??,2A,??,D1,??,1C,??,BC,??,47,??,30,??,E7

#pragma swi_number=0x0119
__swi	__arm	int  strtol (const char *nptr,char **endptr,int base);
//thumb
//pattern=??,B5,??,B4,??,1C,??,1C,??,27,??,9C,??,??,??,??,??,78,??,34,??,29,??,D0,??,68,??,5C,??,07,??,D4,??,29,??,D0,??,29,??,D1,??,??,??,02,??,43,??,E0,??,3C,??,1C,??,1C,??,1C,??,??,??,??,??,1C,??,2D,??,D0,??,68,??,42,??,D1,??,98,??,60,??,05,??,25,??,??,??,??,??,1C,??,2C,??,DA,??,42,??,28,??,DD,??,60,??,07,??,B0,??,BC,??,BC,??,47,??,1C,??,2E,??,DA,??,60,??,??,??,E7

#pragma swi_number=0x011A
__swi	__arm	int  strtoul (const char *nptr,char **endptr,int base);
//thumb
//pattern=??,B5,??,B4,??,B0,??,1C,??,27,??,9C,??,??,??,??,??,1C,??,68,??,90,??,??,??,??,??,78,??,34,??,29,??,D0,??,68,??,5C,??,07,??,D4,??,29,??,D0,??,29,??,D1,??,??,??,02,??,43,??,E0,??,3C,??,21,??,60,??,1C,??,1C,??,9A,??,??,??,??,??,1C,??,2D,??,D0,??,68,??,42,??,D1,??,98,??,60,??,68,??,28,??,D1,??,1C,??,B0,??,BC,??,BC,??,47,??,9A,??,60,??,42,??,05,??,D4,??,1C,??,E7

#pragma swi_number=0x011B
__swi	__arm	int snprintf (char *,int n,const char *format,...);
//thumb
//pattern=??,B4,??,B5,??,B0,??,1C,??,A9,??,91,??,90,??,D0,??,19,??,38,??,90,??,??,??,44,??,90,??,??,??,44,??,90,??,AE,??,1C,??,46,??,AA,??,99,??,??,??,??,??,1C,??,2C,??,D0,??,1C,??,20,??,??,??,??,??,1C,??,B0,??,BC,??,BC,??,B0,??,47

#pragma swi_number=0x011C
__swi	__arm	int  memcmp (void *m1,void *m2,int n);
//thumb
//pattern=??,B4,??,2A,??,D3,??,1C,??,43,??,07,??,D1,??,C8,??,C9,??,42,??,D1,??,3A,??,2A,??,D2,??,42,??,D0,??,38,??,39,??,2A,??,D1,??,20,??,BC,??,47,??,07,??,D5,??,32,??,E0,??,78,??,78,??,31,??,30,??,42,??,D1,??,78,??,78,??,31,??,30,??,42,??,D1,??,3A,??,D1,??,1B,??,E7

#pragma swi_number=0x011D
__swi	__arm	void  zeromem (void *dest,int n);
//arm
//pattern=??,??,??,E3,??,??,??,E3,??,??,??,3A,??,??,??,E2,??,??,??,0A,??,??,??,E2,??,??,??,E3,??,??,??,E4,??,??,??,A4,??,??,??,C4,??,??,??,E0,??,??,??,EA,??,??,??,E1,??,??,??,24,??,??,??,24,??,??,??,44,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,28,??,??,??,28,??,??,??,22,??,??,??,2A,??,??,??,E1,??,??,??,28,??,??,??,48,??,??,??,E8,??,??,??,E1,??,??,??,24,??,??,??,01,??,??,??,44,??,??,??,44,??,??,??,E3,??,??,??,14,??,??,??,E1
//есть еще такая же...

#pragma swi_number=0x011E
__swi	__arm	void * memcpy (void *dest,const void *source,int cnt);
//arm
//pattern=??,??,??,E3,??,??,??,9A,??,??,??,E2,??,??,??,0A,??,??,??,E4,??,??,??,E3,??,??,??,E0,??,??,??,94,??,??,??,E4,??,??,??,34,??,??,??,E2,??,??,??,94,??,??,??,34,??,??,??,E2,??,??,??,0A,??,??,??,E2,??,??,??,3A,??,??,??,E7,??,??,??,E3,??,??,??,0A,??,??,??,8A,??,??,??,E1,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E4,??,??,??,2A,??,??,??,E2,??,??,??,EA,??,??,??,E1,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E4,??,??,??,2A,??,??,??,E2,??,??,??,EA,??,??,??,E1,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E4,??,??,??,2A,??,??,??,E2,??,??,??,EA

#pragma swi_number=0x011F
__swi	__arm	WSHDR * wstrcpy (WSHDR *wshdr_d,WSHDR *wshdr_s);
//thumb
//pattern=??,B5,??,29,??,D0,??,28,??,D0,??,68,??,88,??,8A,??,42,??,D3,??,3A,??,??,??,??,??,BD,??,??,??,??,??,BD

#pragma swi_number=0x0120
__swi	__arm	WSHDR * wstrncpy (WSHDR *,WSHDR *,int);
//thumb
//pattern=??,B5,??,1C,??,D0,??,29,??,D0,??,1C,??,??,??,??,??,42,??,D2,??,1C,??,??,??,??,??,1C,??,1C,??,??,??,??,??,BD

#pragma swi_number=0x0121
__swi	__arm	WSHDR * wstrcat (WSHDR *wshdr_d,WSHDR *wshdr_s);
//thumb
//pattern=??,B5,??,1C,??,D0,??,29,??,D0,??,68,??,88,??,68,??,88,??,1C,??,??,??,??,??,18,??,42,??,D2,??,8A,??,38,??,1A,??,1C,??,??,??,??,??,BD,??,1C,??,??,??,??,??,BD

#pragma swi_number=0x0122
__swi	__arm	WSHDR * wstrncat (WSHDR *wshdr_d,WSHDR *wshdr_s,int n);
//thumb
//pattern=??,B5,??,1C,??,D0,??,29,??,D0,??,68,??,88,??,1C,??,??,??,??,??,19,??,42,??,D2,??,8A,??,38,??,1B,??,1C,??,??,??,??,??,BD

#pragma swi_number=0x0123
__swi	__arm	int  wstrlen (WSHDR *wshdr);
//thumb
//pattern=??,28,??,D1,??,47,??,68,??,88,??,47

#pragma swi_number=0x0124
__swi	__arm	int wsprintf (WSHDR *,const char *format,...);
//thumb
//pattern=??,B4,??,B5,??,B0,??,B0,??,1C,??,22,??,32,??,46,??,A9,??,??,??,??,??,1C,??,98,??,??,??,??,??,1C,??,1C,??,99,??,??,??,??,??,A8,??,90,??,1C,??,21,??,1C,??,AB,??,??,??,??,??,B0,??,B0,??,BC,??,BC,??,B0,??,47

#pragma swi_number=0x0125
__swi	__arm	WSHDR * AllocWS (int len);
//thumb
//pattern=02,04,80,B5,12,0C,??,48,??,49,??,??,??,ED,80,BD

#pragma swi_number=0x0126
__swi	__arm	void  CutWSTR (void *WSHDR,int len);
//thumb
//pattern=??,B5,??,28,??,D0,??,68,??,88,??,42,??,D2,??,??,??,??,??,BD

#pragma swi_number=0x0127
__swi	__arm	WSHDR * CreateLocalWS (WSHDR *wshdr,unsigned __int16 *wsbody,int len);
//thumb
//pattern=??,B5,??,1C,??,1C,??,1C,??,29,??,D0,??,00,??,1C,??,??,??,??,??,1C,??,1C,??,1C,??,??,??,??,??,BD

#pragma swi_number=0x0128
__swi	__arm	int  CreateWS (void *malloc,void *mfree,int len);
//thumb
//pattern=??,B5,??,1C,??,20,??,1C,??,1C,??,2D,??,D0,??,2E,??,D0,??,20,??,47,??,1C,??,D1,??,20,??,BD,??,00,??,30,??,47,??,60,??,28,??,D1,??,1C,??,47,??,E7,??,21,??,80,??,1C,??,1C,??,68,??,??,??,??,??,21,??,60,??,60,??,60,??,E7

#pragma swi_number=0x0129
__swi	__arm	void  FreeWS (WSHDR *wshdr);
//thumb
//pattern=??,B5,??,1C,??,D0,??,68,??,29,??,D0,??,68,??,28,??,D1,??,68,??,47,??,68,??,1C,??,47,??,20,??,BD,??,20,??,BD
//две таких...

#pragma swi_number=0x012A
__swi	__arm	void  DrawObject (DRWOBJ *);
//thumb
//pattern=??,B5,??,1C,_blf(??,B5,??,46,??,??,??,??,??,??,??,28,??,D0,??,AB,??,78,??,01,??,58,??,BD,??,??,??,??,??,6B,??,42,??,D1,??,??,??,??,??,E7,??,20,??,E7),??,28,??,D0,??,1C,??,??,??,??,??,BD

#pragma swi_number=0x012B
__swi	__arm	void  AddKeybMsgHook (void *proc);
//thumb
//pattern=??,B5,_blf(??,B5,??,??,??,1C,??,68,??,25,??,28,??,D1,??,??,??,60,??,60,??,60,??,20,??,??,??,??,??,28,??,D0,??,60,??,73,??,1C,??,1C,??,??,??,??,??,BD),??,BD

#pragma swi_number=0x012C
__swi	__arm	int  AddKeybMsgHook_end (void *proc);
//thumb
//pattern=??,B5,_blf(??,B5,??,??,??,1C,??,68,??,28,??,D1,??,60,??,60,??,48,??,60,??,20,??,??,??,??,??,68,??,29,??,D0,??,7B,??,29,??,D0,??,28,??,D1,??,20,??,BD,??,21,??,60,??,73,??,1C,??,1C,??,??,??,??,??,20,??,BD),??,BD

#pragma swi_number=0x012D
__swi	__arm	void  RemoveKeybMsgHook (void *proc);
//thumb
//pattern=??,B5,_blf(??,??,??,B5,??,68,??,E0,??,68,??,42,??,D1,??,1C,??,??,??,??,??,BD,??,68,??,29,??,D1,??,BD),??,BD

#pragma swi_number=0x012E
__swi	__arm	int *GetPaletteAdrByColorIndex (int ColorIndex);
//thumb
//pattern=??,??,??,28,??,D2,??,00,??,E0,??,??,??,31,??,28,??,D0,??,38,??,28,??,D2,??,??,??,00,??,18,??,47,??,1C,??,47

#pragma swi_number=0x012F
__swi	__arm	void  getRGBcolor (int ColorIndex,void *dest);
//thumb
//pattern=??,B5,??,1C,_blf(??,49,??,28,??,D2,??,00,??,E0,??,??,??,31,??,28,??,D0,??,38,??,28,??,D2,??,??,??,00,??,18,??,47,??,1C,??,47),??,1C,??,??,??,??,??,BD

#pragma swi_number=0x0130
__swi	__arm	void  getRGBbyPaletteAdr (int *paletteAdr,void *dest);
//thumb
//pattern=??,29,??,D0,??,28,??,D1,??,20,??,??,??,78,??,70,??,78,??,70,??,78,??,70,??,78,??,70,??,47

#pragma swi_number=0x0131
__swi	__arm	void  setColor (int a,int r,int g,int b,void *dest);
//thumb
//pattern=??,B5,??,9C,??,2C,??,D0,??,70,??,70,??,70,??,70,??,BD

#pragma swi_number=0x0132
__swi	__arm	void  deleted();

#pragma swi_number=0x0133
__swi	__arm	void  StoreXYWHtoRECT (void *RECT,int x,int y,int w,int h);
//thumb
//pattern=??,B5,??,9C,??,80,??,18,??,39,??,80,??,80,??,19,??,39,??,80,??,BD

#pragma swi_number=0x0134
__swi	__arm	void  StoreXYXYtoRECT (void *RECT,int x,int y,int x2,int y2);
//thumb
//pattern=??,B5,??,9C,??,80,??,80,??,80,??,80,??,BD

#pragma swi_number=0x0135
__swi	__arm	int  IsGuiOnTop (int id);
//thumb
//pattern=??,1C,??,??,??,B5,??,68,_blf(??,68,??,1C,??,D0,??,68,??,20,??,42,??,D0,??,20,??,47),??,BD

#pragma swi_number=0x0136
__swi	__arm	int  CreateGUI_ID (void *gui,int id);
//thumb
//pattern=0A,1C,01,1C,??,??,80,B5,00,68,_blf(13,1C,00,22),80,BD

#pragma swi_number=0x0137
__swi	__arm	int  CreateGUI (void *gui);
//thumb
//pattern=01,1C,??,??,80,B5,00,68,_blf(00,23,00,22),80,BD

#pragma swi_number=0x0138
__swi	__arm	int  CreateGUI_30or2 (void *gui);
//thumb
//pattern=??,1C,??,??,??,B5,??,68,_blf(??,6B,??,23,??,43,??,63,??,23,??,22,??,11100???),??,BD

#pragma swi_number=0x0139
__swi	__arm	int  CreateGUIWithDummyCSM (void *gui,int flag);
//thumb
//pattern=??,1C,??,1C,??,??,??,B5,??,68,_blf(??,B5,??,B0,??,1C,??,1C,??,91,??,??,??,??,??,90,??,95,??,94,??,6F,??,23,??,46,??,??,??,??,??,??,??,98,??,B0,??,BD),??,BD

#pragma swi_number=0x013A
__swi	__arm	int  CreateGUIWithDummyCSM_30or2 (void *gui,int flag);
//thumb
//pattern=??,1C,??,1C,??,??,??,B5,??,68,_blf(??,B5,??,6B,??,24,??,43,??,63,??,??,??,??,??,BD),??,BD

#pragma swi_number=0x013B
__swi	__arm	void  GeneralFuncF1 (int cmd);
//thumb
//pattern=01,1C,??,??,80,B5,00,68,_blf(0A,1C,01,68,8B,68,00,2B,??,??,C9,68),80,BD

#pragma swi_number=0x013C
__swi	__arm	void  GeneralFuncF0 (int cmd);

#pragma swi_number=0x013D
__swi	__arm	void  GeneralFunc_flag1 (int id,int cmd);

#pragma swi_number=0x013E
__swi	__arm	void  GeneralFunc_flag0 (int id,int cmd);
//thumb
//pattern=??,1C,??,1C,??,??,??,B5,??,68,_blf(??,29,??,D0,??,23,??,11100???,??,47),??,BD

#pragma swi_number=0x013F
__swi	__arm	void DirectRedrawGUI (void);
//thumb
//pattern=??,??,??,B5,??,68,_blf(??,B5,??,1C,??,68,??,26,??,68,??,B0,??,28,??,D0,??,1C,??,69,??,35,??,28,??,D0,??,1C,??,??,??,??,??,20,??,61,??,61,??,20,??,C5,??,C5,??,3D,??,69,??,28,??,D0,??,68,??,68,??,6B,??,07,??,D5,??,21,??,??,??,??,??,28,??,D1,??,1C,??,??,??,??,??,61,??,6A,??,28,??,D0,??,??,??,??,??,A9,??,??,??,??,??,20,??,AB,??,74,??,20,??,??,??,??,??,1C,??,20,??,AA,??,92,??,90,??,91,??,23,??,5E,??,23,??,5E,??,23,??,5E,??,23,??,5E,??,1C,??,??,??,??,??,62,??,68,??,1C,??,68,??,??,??,??,??,68,??,21,??,68,??,??,??,??,??,28,??,D0,??,1C,??,31,??,??,??,??,??,68,??,21,??,68,??,??,??,??,??,28,??,D0,??,20,??,E0,??,20,??,61,??,68,??,68,??,68,??,68,??,47,??,61,??,B0,??,BD),??,BD

#pragma swi_number=0x0140
__swi	__arm	void  DirectRedrawGUI_ID (int id);
//thumb
//pattern=??,1C,??,??,??,B5,??,68,_blf(??,68,??,68,??,2B,??,D0,??,68,??,42,??,D1,??,??,??,47),??,BD

#pragma swi_number=0x0141
__swi	__arm	void PendedRedrawGUI (void);
//thumb
//pattern=??,??,80,B5,00,68,_blf(98,B5,04,1C,80,6E,01,68,24,20,88,47),80,BD


#pragma swi_number=0x0142
__swi	__arm	CSM_RAM * FindCSM (void *csm_q,int id);
//thumb
//pattern=??,28,??,D1,??,47,??,68,??,E0,??,68,??,2A,??,D0,??,68,??,42,??,D1,??,E0,??,6A,??,E0,??,68,??,2A,??,D0,??,68,??,42,??,D1,??,1C,??,47

#pragma swi_number=0x0143
__swi	__arm	void  GBS_StartTimer (GBSTMR *tmr,int time,int msg,int unk,int cepid);
//arm
//pattern=??,??,??,E9,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,E5,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x0144
__swi	__arm	void  GBS_StopTimer (GBSTMR *tmr);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E5,??,??,??,E3,??,??,??,E2,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,E2,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,EF,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x0145
__swi	__arm	int GBS_GetCurCepid (void);
//arm
//pattern=??,??,??,E5,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E5,??,??,??,E3,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,0A,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,0A,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,05,??,??,??,01,??,??,??,04,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,E2,??,??,??,1A,??,??,??,E5,??,??,??,E1,??,??,??,E4,??,??,??,E5,??,??,??,E3,??,??,??,11,??,??,??,14,??,??,??,??,??,??,??,E4

#pragma swi_number=0x0146
__swi	__arm	void LockSched(void);
//arm
//pattern=??,??,??,E9,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E8,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,EA,??,??,??,E5,??,??,??,??,??,??,??,E1,??,??,??,1A,??,??,??,E2,??,??,??,E5,??,??,??,E2,??,??,??,E5,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E5,??,??,??,E2,??,??,??,E5,??,??,??,??,??,??,??,E5,??,??,??,E5,??,??,??,EA

#pragma swi_number=0x0147
__swi	__arm	void UnlockSched(void);
//arm
//pattern=??,??,??,E9,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E8,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,EA,??,??,??,E5,??,??,??,??,??,??,??,E1,??,??,??,1A,??,??,??,E2,??,??,??,E1,??,??,??,E3,??,??,??,0A,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,1A,??,??,??,??,??,??,??,E5,??,??,??,E5,??,??,??,E0,??,??,??,E0,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E1,??,??,??,85,??,??,??,E5,??,??,??,??,??,??,??,EA

#pragma swi_number=0x0148
__swi	__arm	extern int ShowMSG(int flag, int lgp_id);

#pragma swi_number=0x0149
__swi	__arm	void SetPropTo_Obj1(DRWOBJ *drwobj,void *rect,int rect_flag,WSHDR *wshdr,int font,int text_flag);
//thumb
//pattern=??,B5,??,1C,??,20,??,9F,??,70,??,1C,??,1C,??,1C,??,30,??,22,??,??,??,??,??,70,??,20,??,70,??,06,??,D5,??,1C,??,??,??,??,??,1C,??,??,??,??,??,??,??,??,??,1C,??,1C,??,??,??,??,??,61,??,E0

#pragma swi_number=0x014A
__swi	__arm	void FreeDrawObject_subobj(DRWOBJ *drwobj);
//thumb
//pattern=??,B5,??,1C,??,78,??,28,??,D0,??,28,??,D0,??,28,??,D0,??,28,??,D1,??,69,??,??,??,??,??,69,??,??,??,??,??,21,??,1C,??,??,??,??,??,20,??,70,??,BD

#pragma swi_number=0x014B
__swi	__arm	void SetColor(DRWOBJ *drwobj, int *color1, int *color2);
//thumb
//pattern=??,B5,??,1C,??,1C,??,1C,??,1C,_blf(??,29,??,D0,??,28,??,D1,??,20,??,E7,??,78,??,70,??,78,??,70,??,78,??,70,??,78,??,70,??,47),??,1D,??,1C,??,??,??,??,??,78,??,21,??,43,??,70,??,BD

#pragma swi_number=0x014C
__swi	__arm	void DrawString(WSHDR *WSHDR,int x1,int y1,int x2,int y2,int font,int text_attribute,int *Pen,int *Brush);
//thumb
//pattern=??,B5,??,B0,??,9C,??,9F,??,9E,??,1C,??,D0,??,68,??,28,??,D1,??,A0,??,??,??,??,??,??,??,1C,??,20,??,??,??,??,??,28,??,D0,??,DF,??,22,??,1C,??,20,??,??,??,E0

#pragma swi_number=0x014D
__swi	__arm	GUI *GetTopGUI(void);
//thumb
//pattern=??,??,??,B5,??,68,??,28,??,D1,??,BD,??,??,??,??,??,BD

#pragma swi_number=0x014E
__swi	__arm	void *FindItemByID(GUI *gui,int id);
//thumb
//pattern=??,B5,??,28,??,D1,??,??,??,3C,??,1C,??,20,??,??,??,??,??,??,??,28,??,D0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,E0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,E0,??,69,??,E0,??,68,??,42,??,D0,??,68,??,28,??,D1,??,20,??,BD

#pragma swi_number=0x014F
__swi	__arm	void *GetDataOfItemByID(GUI *gui,int id);
//thumb
//pattern=??,B5,_blf(??,B5,??,28,??,D1,??,??,??,3C,??,1C,??,20,??,??,??,??,??,??,??,28,??,D0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,E0,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,E0,??,69,??,E0,??,68,??,42,??,D0,??,68,??,28,??,D1,??,20,??,BD),??,28,??,D0,??,68,??,BD,??,20,??,BD

#pragma swi_number=0x0150
__swi	__arm	void DrawRoundedFrame(int x1,int y1,int x2,int y2,int x_round,int y_round,int flags,int *pen,int *brush);
//thumb
//pattern=??,B5,??,B0,??,1C,??,23,??,9C,??,20,??,1C,??,2C,??,90,??,93,??,9D,??,DA,??,24

#pragma swi_number=0x0151
__swi	__arm	void SetPropTo_Obj5(DRWOBJ *, RECT *, int zero, IMGHDR *Image);
//thumb
//pattern=??,B5,??,1C,??,20,??,70,??,70,??,1C,??,1C,??,25,??,30,??,22,??,70,??,??,??,??,??,20,??,61,??,76,??,76,??,76,??,61,??,1C,??,BD

#pragma swi_number=0x0152
__swi	__arm	int CreateMenu(int is_small,int zero1,MENU_DESC *menu,HEADER_DESC *hdr,int zero2,int n_items,int zero4,int zero5);
//thumb
//pattern=??,B5,??,B0,??,1C,??,AA,??,1C,??,1C,??,CA,??,91,??,21,??,9F,??,91,??,92,??,1C,??,1C,??,90,??,1C,??,97,??,??,??,??,??,B0,??,BD

#pragma swi_number=0x0153
__swi	__arm	int GBS_RecActDstMessage(GBS_MSG *);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,E2,??,??,??,??,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E2,??,??,??,??,??,??,??,E2,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,01,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x0154
__swi	__arm	void KillGBSproc(int cepid);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,0A,??,??,??,E1,??,??,??,E3,??,??,??,1A,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,EF,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,1A,??,??,??,??,??,??,??,??,??,??,??,E8,??,??,??,??,??,??,??,??,??,??,??,EA

#pragma swi_number=0x0155
//__swi __arm png_structp png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,E5,??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,_blf(??,??,??,E9,??,??,??,E2,??,??,??,E2,??,??,??,E8,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,1A),??,??,??,E2,??,??,??,E8

#pragma swi_number=0x0156
//__swi __arm png_infop png_create_info_struct(png_structp png_ptr);
//arm
//pattern=??,??,??,E9,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,11,??,??,??,13,??,??,??,??,??,??,??,E5,??,??,??,E8

#pragma swi_number=0x0157
//__swi __arm void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr);
//arm
//pattern=??,??,??,E9,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,15,??,??,??,15,??,??,??,03,??,??,??,03,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E1

#pragma swi_number=0x0158
//__swi __arm void png_set_sig_bytes(png_structp png_ptr,int num_bytes);
//arm
//pattern=??,??,??,E9,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,C1,??,??,??,??,??,??,??,E3,??,??,??,B3,??,??,??,E5,??,??,??,E8

#pragma swi_number=0x0159
//__swi __arm void png_read_info(png_structp png_ptr, png_infop info_ptr);
//arm
//pattern=??,??,??,E9,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,2A,??,??,??,E0,??,??,??,E2,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,2A,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3

#pragma swi_number=0x015A
//__swi __arm png_uint_32 png_get_IHDR(png_structp png_ptr,png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E2,??,??,??,E1,??,??,??,13,??,??,??,E1,??,??,??,13,??,??,??,E1,??,??,??,13,??,??,??,E8,??,??,??,13,??,??,??,13,??,??,??,03,??,??,??,0A,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,3A,??,??,??,E3,??,??,??,9A

#pragma swi_number=0x015B
//__swi __arm png_voidp png_malloc(png_structp png_ptr, png_uint_32 size);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,13,??,??,??,03,??,??,??,0A,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,EA,??,??,??,??,??,??,??,E1,??,??,??,05,??,??,??,03,??,??,??,02,??,??,??,01,??,??,??,??,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x015C
//__swi __arm void png_read_image(png_structp png_ptr, png_bytepp image);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,E5,??,??,??,EA,??,??,??,E1,??,??,??,E3,??,??,??,EA,??,??,??,E3,??,??,??,E1,??,??,??,E5,??,??,??,??,??,??,??,E2,??,??,??,E2,??,??,??,E1,??,??,??,3A,??,??,??,E2,??,??,??,E1,??,??,??,??,??,??,??,E8

#pragma swi_number=0x015D
//__swi __arm void png_read_end(png_structp png_ptr, png_infop info_ptr);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,??,E2,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,1A,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,EA

#pragma swi_number=0x015E
//__swi __arm void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr);
//arm
//pattern=??,??,??,E9,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,E3,??,??,??,15,??,??,??,E3,??,??,??,15,??,??,??,15,??,??,??,03,??,??,??,03,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,E3,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E1

#pragma swi_number=0x015F
//__swi __arm png_uint_32 png_get_rowbytes(png_structp png_ptr,png_infop info_ptr);
//arm
//pattern=00,00,50,E3,00,00,51,13,00,00,a0,03,0c,00,91,15,1e,ff,2f,E1

#pragma swi_number=0x0160
//__swi __arm png_read_row(png_structp png_ptr,png_bytep row,png_bytep dsp_row);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,01,??,??,??,E1,??,??,??,??,??,??,??,E5,??,??,??,E5,??,??,??,??,??,??,??,E3,??,??,??,15,??,??,??,13,??,??,??,0A,??,??,??,E5,??,??,??,E3,??,??,??,90,??,??,??,EA

#pragma swi_number=0x0161
//__swi __arm png_init_io(png_structp png_ptr, int fp);
//arm
//pattern=94,10,80,e5,1e,ff,2f,e1

#pragma swi_number=0x0162
__swi __arm setjmp(jmp_buf jmpbuf);
//arm
//pattern=??,??,??,E8,??,??,??,E8,??,??,??,E8,??,??,??,E9,??,??,??,EB,??,??,??,E8,??,??,??,E8,??,??,??,E3,??,??,??,E1

#pragma swi_number=0x0163
__swi __arm EDITQ *AllocEQueue(void *malloc_a, void *mfree_a);
//thumb
//pattern=??,B5,??,1C,??,1C,??,20,??,47,??,21,??,60,??,60,??,60,??,60,??,61,??,BD

#pragma swi_number=0x0164
__swi __arm EDITCONTROL *PrepareEditControl(EDITCONTROL *);
//thumb
//pattern=??,B5,??,1C,_blf(??,21,??,70,??,60,??,72,??,72,??,83,??,83,??,83,??,83,??,84,??,62,??,62,??,30,??,E7),??,1C,??,BD

#pragma swi_number=0x0165
__swi __arm void ConstructEditControl(EDITCONTROL *EditControl,int type,int flag,WSHDR *ws,int maxlen);
//thumb
//pattern=??,B5,??,B0,??,1C,??,1C,??,1C,??,29,??,9F,??,D0,??,2D,??,D1,??,2E,??,D0,??,DF,??,22,??,20,??,??,??,??,??,??,??,??,??,1C,??,??,??,??,??,70,??,98,??,60,??,62,??,83,??,B0,??,BD

#pragma swi_number=0x0166
__swi __arm void AddEditControlToEditQend(void *EditQ,EDITCONTROL *EditControl,void *malloc_a);
//thumb
//pattern=??,B5,??,1C,??,1C,??,1C,??,??,??,??,??,30,??,04,??,0C,??,1C,??,1C,??,1C,_blf(??,B5,??,1C,??,1C,??,B0,??,A8,??,22,??,6A,??,??,??,??,??,8B,??,68,??,69,??,??,??,??,??,1C,??,2E,??,68,??,D0,??,1C,??,1C,??,??,??,??,??,E0,??,21,??,1C,??,??,??,??,??,22,??,92,??,1C,??,1C,??,9A,??,95,??,A9,??,??,??,??,??,B0,??,BD),??,BD

#pragma swi_number=0x0167
__swi __arm int CreateInputTextDialog(const INPUTDIA_DESC *input_desc, const HEADER_DESC *header_desc,void *editq,int do_mfree,WSHDR *);
//thumb
////pattern=F0,B5,85,B0,16,1C,0D,1C,??,??,??,??,0A,9F,04,1C,??,??,02,91,03,92,32,1C,29,1C,01,90,20,1C,00,97,??,??,??,??,05,B0,F0,BD


#pragma swi_number=0x0168
__swi __arm void SetSoftKey(void *gui,SOFTKEY_DESC *,int n);
//thumb
//pattern=??,B5,??,1C,??,30,??,68,??,1C,??,30,??,1C,??,1C,??,68,??,??,??,??,??,28,??,D0,??,1C,??,1C,??,1C,_blf(??,B5,??,1C,??,1C,??,28,??,D1,??,??,??,1C,??,20,??,??,??,??,??,??,??,??,??,28,??,D0,??,DF,??,1C,??,1C,??,22,0D,20,??,??,??,??,??,BD,??,DF,??,1C,??,1C,??,22,??,20,??,??,??,??,??,BD,??,21,??,??,??,??,??,1C,??,1C,??,??,??,??,??,BD),??,BD

#pragma swi_number=0x0169
__swi __arm int ExtractEditControl(void *guidata,int n,EDITCONTROL *);


#pragma swi_number=0x016A
__swi __arm int StoreEditControl(void *guidata,int n,EDITCONTROL *);

#pragma swi_number=0x016B
__swi __arm int unlink(const char *cFileName,unsigned int *errornumber);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,E5,58,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E8

#pragma swi_number=0x016C
__swi __arm int str_2ws(WSHDR *ws,char *str,unsigned int size);
//arm
//pattern=??,??,??,E9,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E2,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,E2,??,??,??,E5,??,??,??,E3,??,??,??,E5,??,??,??,E1,??,??,??,AA,??,??,??,E7,??,??,??,E3,??,??,??,13,??,??,??,13,??,??,??,13,??,??,??,1A,??,??,??,E0,??,??,??,E2,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E0,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E2,??,??,??,E3,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,2A,??,??,??,E7,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,??,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,1A,??,??,??,E1,??,??,??,E2,??,??,??,E8

#pragma swi_number=0x016D
__swi __arm int UnpackABentry(AB_UNPRES *,void *abentry,int filesz,int flag);
//arm
//pattern=??,??,??,E9,??,??,??,E2,??,??,??,E3,??,??,??,E1,??,??,??,E1,??,??,??,E5,??,??,??,E2,??,??,??,E3,??,??,??,13,??,??,??,1A,??,??,??,E2,??,??,??,E5,??,??,??,E2,??,??,??,E3,??,??,??,03,??,??,??,E5,??,??,??,0A,??,??,??,??,??,??,??,E5,??,??,??,??,??,??,??,E5,??,??,??,E3,??,??,??,AA,??,??,??,E3,??,??,??,E3,??,??,??,??,??,??,??,EA,??,??,??,E3,??,??,??,??,??,??,??,E1,??,??,??,13,??,??,??,??,??,??,??,1A,??,??,??,??,??,??,??,E3,??,??,??,E1,??,??,??,??,??,??,??,E3,??,??,??,0A,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,EA,??,??,??,EF,??,??,??,E1,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,??,??,??,??,E3,??,??,??,E2,??,??,??,E8

#pragma swi_number=0x016E
__swi __arm int FreeUnpackABentry(AB_UNPRES *, void *mfree_adr);
//arm
//pattern=??,??,??,E9,??,??,??,E1,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E3,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,E3,??,??,??,EA,??,??,??,E5,??,??,??,E0,??,??,??,E0,??,??,??,E5,??,??,??,E3,??,??,??,0A,??,??,??,E1,??,??,??,E5,??,??,??,??,??,??,??,E2,??,??,??,EA,??,??,??,E5,??,??,??,E0,??,??,??,E0,??,??,??,E5,??,??,??,E2,??,??,??,E1,??,??,??,05,??,??,??,05,??,??,??,E2,??,??,??,E1,??,??,??,3A,??,??,??,E2,??,??,??,E2,??,??,??,E1,??,??,??,3A,??,??,??,E5,??,??,??,E1,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E1,??,??,??,E5,??,??,??,E5,??,??,??,E3,??,??,??,E3,??,??,??,E3,??,??,??,E3,??,??,??,E3,??,??,??,E5,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E1,??,??,??,E3,??,??,??,E5,??,??,??,E1,??,??,??,E3,??,??,??,E8

#pragma swi_number=0x016F
__swi __arm int GetTypeOfAB_UNPRES_ITEM(int);
//arm
//pattern=??,??,??,E1,??,??,??,E3,??,??,??,E3,??,??,??,90,??,??,??,E1,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,E1,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,E1,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA,??,??,??,EA

#pragma swi_number=0x0170
__swi __arm int MakeVoiceCall(char *number,int _0x10, int _0x20C0);
//thumb
//pattern=??,B5,??,1C,??,22,??,92,??,04,??,0C,??,23,??,06,??,0E,??,??,??,??,??,BD

#pragma swi_number=0x0171
__swi __arm void SUBPROC(void *,...); //(void (*)(void *, int),void *, int);

#pragma swi_number=0x0172
__swi __arm void REDRAW(void);

//===========================================
//Sockets
//===========================================
#pragma swi_number=0x0173
__swi __arm int socket(int af,int type,int protocol);

#pragma swi_number=0x0174
__swi __arm int connect(int sock,SOCK_ADDR *,int name_length);

#pragma swi_number=0x0175
__swi __arm int bind(int sock,SOCK_ADDR *,int name_length);

#pragma swi_number=0x0176
__swi __arm int closesocket(int socket);

#pragma swi_number=0x0177
__swi __arm int shutdown(int socket,int how);

#pragma swi_number=0x0178
__swi __arm int recv(int socket,void *buf,int len,int flag);

#pragma swi_number=0x0179
__swi __arm int send(int socket,const void *buf,int len,int flag);

#pragma swi_number=0x017A
__swi __arm unsigned __int16 htons(unsigned __int16);

#pragma swi_number=0x017B
__swi __arm unsigned int htonl(unsigned int);

#pragma swi_number=0x817C
__swi __arm int *socklasterr(void);
