#include #define nn_ro_LoadModule _ZN2nn2ro10LoadModuleEPNS0_6ModuleEPKvPvmi extern uint64_t _ZN2nn2ro10LoadModuleEPNS0_6ModuleEPKvPvmi(void* module, void const* unk_1, void* unk_2, unsigned long unk_3, int unk_4) LINKABLE; typedef unsigned char undefined; typedef unsigned char byte; typedef unsigned char dwfenc; typedef unsigned int dword; typedef long long longlong; typedef unsigned long long qword; typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned long long ulonglong; typedef unsigned char undefined1; typedef unsigned short undefined2; typedef unsigned int undefined3; typedef unsigned int undefined4; typedef unsigned long long undefined5; typedef unsigned long long undefined6; typedef unsigned long long undefined7; typedef unsigned long long undefined8; typedef unsigned short ushort; typedef unsigned short word; enum module_state {module_unloaded, module_loaded}; typedef struct RoModule_t { struct RoModule_t *next; struct RoModule_t *prev; union { void *rel; void *rela; void *raw; } rela_or_rel_plt; union { void *rel; void *rela; } rela_or_rel; uint64_t module_base; void *dyanmic; bool is_rela; uint64_t rela_or_rel_plt_size; void (*dt_init)(void); void (*dt_fini)(void); uint32_t *hash_bucket; uint32_t *hash_chain; char *dynstr; void *dynsym; uint64_t dynstr_size; void **got; uint64_t rela_dyn_size; uint64_t rel_dyn_size; uint64_t rel_count; uint64_t rela_count; uint64_t hash_nchain_value; uint64_t hash_nbucket_value; uint64_t got_stub_ptr; } RoModule; typedef struct Module_t { RoModule *module; enum module_state state; uintptr_t module_address; uintptr_t bss_address; } Module; typedef struct SmashModule { /* PlaceHolder Structure */ Module module; void * field_0x20; void * src_buffer; char name[256]; /* Created by retype action */ undefined field_0x130; undefined field_0x131; undefined4 is_loaded; // bool } SmashModule;