Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;
- ; +-------------------------------------------------------------------------+
- ; | This file has been generated by The Interactive Disassembler (IDA) |
- ; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
- ; | License info: 8A-2C0C-DBA7-93 |
- ; | Licensed User |
- ; +-------------------------------------------------------------------------+
- ;
- ; Input MD5 : CFDD3B810BCA74099ACE45C7991E1DEC
- ; ---------------------------------------------------------------------------
- ; File Name : D:\Downloads\lights.tegra.so
- ; Format : ELF (Shared object)
- ; Needed Library 'libhardware.so'
- ; Needed Library 'liblog.so'
- ; Needed Library 'libnvos.so'
- ; Needed Library 'libnvdispmgr_d.so'
- ; Needed Library 'libc.so'
- ; Needed Library 'libstdc++.so'
- ; Needed Library 'libm.so'
- ; Shared Name 'lights.tegra.so'
- ;
- ; EABI version: 5
- ;
- ; Processor : ARM
- ; Target assembler: Generic assembler for ARM
- ; Byte sex : Little endian
- ; ===========================================================================
- ; Segment type: Pure code
- AREA .plt, CODE, READWRITE
- ; ORG 0x4BC
- CODE32
- STR LR, [SP,#-4]!
- LDR LR, =(_GLOBAL_OFFSET_TABLE_ - 0x4CC)
- ADD LR, PC, LR
- LDR PC, [LR,#8]!
- ; ---------------------------------------------------------------------------
- off_4CC DCD _GLOBAL_OFFSET_TABLE_ - 0x4CC ; DATA XREF: .plt:000004C0r
- ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrClientTerminate. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvOsAlloc. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvOsMemset. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrClientInitialize. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrFindDisplays. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvOsStrcmp. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvDispMgrDisplaySetAttributes. PRESS KEYPAD "+" TO EXPAND]
- ; [0000000C BYTES: COLLAPSED FUNCTION NvOsFree. PRESS KEYPAD "+" TO EXPAND]
- ; ---------------------------------------------------------------------------
- ; ===========================================================================
- ; Segment type: Pure code
- AREA .text, CODE, READWRITE
- ; ORG 0x530
- CODE16
- EXPORT start
- start
- PUSH {R0-R4,LR}
- MOV.W R12, #0x96
- LDR R3, [R1]
- LDR R2, [R0,#0x48]
- MOVS R1, #1
- MOVW LR, #0xB60D
- LSLS R1, R2
- STR.W LR, [SP]
- UBFX.W R2, R3, #8, #8
- UBFX.W LR, R3, #0x10, #8
- MUL.W R12, R12, R2
- MOVS R2, #0x4D
- MLA.W R2, R2, LR, R12
- AND.W LR, R3, #0xFF
- MOV.W R12, #0x1D
- MLA.W R3, R12, LR, R2
- LSRS R2, R3, #8
- ADD.W R3, R2, R2,LSL#8
- MOVS R2, #4
- STR R3, [SP,#4]
- MOVS R3, #0
- STR R3, [SP,#8]
- LDR R0, [R0,#0x44]
- BLX NvDispMgrDisplaySetAttributes
- CMP R0, #0
- IT NE
- MOVNE R0, 0xFFFFFFEA
- ADD SP, SP, #0x14
- POP {PC}
- ; =============== S U B R O U T I N E =======================================
- sub_584 ; CODE XREF: .text:0000061Ap
- PUSH {R4,LR}
- MOV R4, R0
- LDR R0, [R0,#0x44]
- CBZ R0, loc_590
- BLX NvDispMgrClientTerminate
- loc_590 ; CODE XREF: sub_584+6j
- MOV R0, R4
- BLX NvOsFree
- MOVS R0, #0
- POP {R4,PC}
- ; End of function sub_584
- ; ---------------------------------------------------------------------------
- NOP
- PUSH {R4-R7,LR} ; DATA XREF: .data:__data_starto
- NOP
- ADR R3, loc_5A4
- SUB SP, SP, #0x34
- loc_5A4 ; DATA XREF: .text:000005A0o
- LDR R6, =0xBB4
- MOV R7, R0
- ADDS R6, R6, R3
- LDR R0, =0xFFFFF500
- ADDS R0, R6, R0
- STR R2, [SP,#0x1C]
- BLX NvOsStrcmp
- MOV R5, R0
- MOV R0, 0xFFFFFFA1
- CMP R5, #0
- BNE loc_640
- MOVS R0, #0x4C
- BLX NvOsAlloc
- MOV R4, R0
- CBZ R0, loc_61E
- MOV R1, R5
- MOVS R2, #0x4C
- BLX NvOsMemset
- ADD.W R0, R4, #0x44
- BLX NvDispMgrClientInitialize
- MOV R5, R0
- CBNZ R0, loc_618
- MOVW R1, #0xB602
- STR R5, [SP]
- STR R1, [SP,#0x28]
- SUB.W R3, R1, #0x400
- ADD.W R12, SP, #0x28
- SUBS R0, R3, #1
- STR.W R12, [SP,#8]
- SUB.W LR, R0, #0xB200
- STR R0, [SP,#0x24]
- STR.W LR, [SP,#4]
- ADD R2, SP, #0x24
- ADD R1, SP, #0x2C
- STR R2, [SP,#0xC]
- STR R1, [SP,#0x10]
- STR R5, [SP,#0x14]
- MOV R1, R5
- LDR R0, [R4,#0x44]
- MOV.W R2, #0xFFFFFFFF
- MOV R3, R5
- BLX NvDispMgrFindDisplays
- STR R5, [R4,#0x48]
- CBZ R0, loc_624
- loc_618 ; CODE XREF: .text:000005DAj
- MOV R0, R4
- BL sub_584
- loc_61E ; CODE XREF: .text:000005C6j
- MOV R0, 0xFFFFFFF4
- B loc_640
- ; ---------------------------------------------------------------------------
- loc_624 ; CODE XREF: .text:00000616j
- STR R0, [R4,#4]
- STR R7, [R4,#8]
- LDR R2, =0xFFFFF42D
- LDR.W R12, =0x48574454
- ADDS R1, R6, R2
- STR.W R12, [R4]
- STR R1, [R4,#0x3C]
- LDR R3, =0xFFFFF3D9
- ADDS R6, R6, R3
- STR R6, [R4,#0x40]
- LDR R2, [SP,#0x1C]
- STR R4, [R2]
- loc_640 ; CODE XREF: .text:000005BCj
- ; .text:00000622j
- ADD SP, SP, #0x34
- POP {R4-R7,PC}
- ; ---------------------------------------------------------------------------
- dword_644 DCD 0xBB4 ; DATA XREF: .text:loc_5A4r
- dword_648 DCD 0xFFFFF500 ; DATA XREF: .text:000005AAr
- dword_64C DCD 0xFFFFF42D ; DATA XREF: .text:00000628r
- dword_650 DCD 0x48574454 ; DATA XREF: .text:0000062Ar
- dword_654 DCD 0xFFFFF3D9 ; DATA XREF: .text:00000636r
- ; .text ends
- ; ===========================================================================
- ; Segment type: Pure data
- AREA .rodata, DATA, READONLY, ALIGN=0
- ; ORG 0x658
- aBacklight DCB "backlight",0
- aLights DCB "lights",0
- aNvidiaTegraBac DCB "NVIDIA Tegra Backlight Control Module",0
- aNvidia DCB "NVIDIA",0
- ; .rodata ends
- ; ===========================================================================
- ; Segment type: Pure data
- AREA .data.rel.ro, DATA
- ; ORG 0x1000
- EXPORT HMI
- HMI DCB 0x54, 0x4D, 0x57, 0x48, 1, 0, 0, 0, 0x62, 6, 0, 0
- DCB 0x69, 6, 0, 0, 0x8F, 6, 0, 0, 0x84, 0x11, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- DCB 0
- ; .data.rel.ro ends
- ; ===========================================================================
- ; Segment type: Pure data
- AREA .got, DATA
- ; ORG 0x1158
- _GLOBAL_OFFSET_TABLE_ DCD 0x1080 ; DATA XREF: .plt:000004C4o
- ; .plt:off_4CCo
- DCD 0
- DCD 0
- NvDispMgrClientTerminate_ptr DCD __imp_NvDispMgrClientTerminate
- ; DATA XREF: NvDispMgrClientTerminate+8o
- NvOsAlloc_ptr DCD __imp_NvOsAlloc ; DATA XREF: NvOsAlloc+8o
- NvOsMemset_ptr DCD __imp_NvOsMemset ; DATA XREF: NvOsMemset+8o
- NvDispMgrClientInitialize_ptr DCD __imp_NvDispMgrClientInitialize
- ; DATA XREF: NvDispMgrClientInitialize+8o
- NvDispMgrFindDisplays_ptr DCD __imp_NvDispMgrFindDisplays
- ; DATA XREF: NvDispMgrFindDisplays+8o
- NvOsStrcmp_ptr DCD __imp_NvOsStrcmp ; DATA XREF: NvOsStrcmp+8o
- NvDispMgrDisplaySetAttributes_ptr DCD __imp_NvDispMgrDisplaySetAttributes
- ; DATA XREF: NvDispMgrDisplaySetAttributes+8o
- NvOsFree_ptr DCD __imp_NvOsFree ; DATA XREF: NvOsFree+8o
- ; .got ends
- ; ===========================================================================
- ; Segment type: Pure data
- AREA .data, DATA
- ; ORG 0x1184
- EXPORT __data_start
- __data_start DCD loc_59C+1
- ; .data ends
- ; ===========================================================================
- ; Segment type: Externs
- IMPORT __imp_NvDispMgrClientTerminate
- ; DATA XREF: .got:NvDispMgrClientTerminate_ptro
- IMPORT __aeabi_unwind_cpp_pr0
- IMPORT __imp_NvOsAlloc ; DATA XREF: .got:NvOsAlloc_ptro
- IMPORT __imp_NvOsMemset ; DATA XREF: .got:NvOsMemset_ptro
- IMPORT __imp_NvDispMgrClientInitialize
- ; DATA XREF: .got:NvDispMgrClientInitialize_ptro
- IMPORT __imp_NvDispMgrFindDisplays
- ; DATA XREF: .got:NvDispMgrFindDisplays_ptro
- IMPORT __imp_NvOsStrcmp ; DATA XREF: .got:NvOsStrcmp_ptro
- IMPORT __imp_NvDispMgrDisplaySetAttributes
- ; DATA XREF: .got:NvDispMgrDisplaySetAttributes_ptro
- IMPORT __imp_NvOsFree ; DATA XREF: .got:NvOsFree_ptro
- ; ===========================================================================
- ; Segment type: Absolute symbols
- __exidx_end = 0x6B0
- _bss_end__ = 0x1188
- __bss_start__ = 0x1188
- __exidx_start = 0x696
- __bss_end__ = 0x1188
- __bss_start = 0x1188
- __end__ = 0x1188
- _edata = 0x1188
- _end = 0x1188
- _stack = 0x80000
- END start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement