[HTC One X] blubbers:
.method private c(Ljava/lang/String;)V
.registers 10

const/4 v1, 0x0

const/16 v0, 0x440

new-array v3, v0, [B

invoke-static {p1}, Lcom/asus/unlock/s;->a(Ljava/lang/String;)[B

move-result-object v4

const/16 v0, 0xb

new-array v2, v0, [B

fill-array-data v2, :array_80

const/16 v0, 0x9

new-array v5, v0, [B

fill-array-data v5, :array_8a

move v0, v1

:goto_18
array-length v6, v2

if-ge v0, v6, :cond_20

aput-byte v1, v3, v0

add-int/lit8 v0, v0, 0x1

goto :goto_18

:cond_20
move v0, v1

:goto_21
array-length v6, v2

if-ge v0, v6, :cond_2d

add-int/lit8 v6, v0, 0x0

aget-byte v7, v2, v0

aput-byte v7, v3, v6

add-int/lit8 v0, v0, 0x1

goto :goto_21

:cond_2d
:goto_2d
array-length v0, v5

if-ge v1, v0, :cond_39

add-int/lit8 v0, v1, 0x40

aget-byte v2, v5, v1

aput-byte v2, v3, v0

add-int/lit8 v1, v1, 0x1

goto :goto_2d

:cond_39
const/4 v1, 0x0

:try_start_3a
new-instance v2, Ljava/io/FileOutputStream;

const-string v0, "/dev/block/mmcblk0p3"

invoke-direct {v2, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
:try_end_41
.catchall {:try_start_3a .. :try_end_41} :catchall_6f
.catch Ljava/io/FileNotFoundException; {:try_start_3a .. :try_end_41} :catch_5b
.catch Ljava/io/IOException; {:try_start_3a .. :try_end_41} :catch_65

:try_start_41
invoke-virtual {v2, v3}, Ljava/io/FileOutputStream;->write([B)V

new-instance v1, Ljava/io/FileOutputStream;

const-string v0, "/dev/block/mmcblk0p4"

invoke-direct {v1, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
:try_end_4b
.catchall {:try_start_41 .. :try_end_4b} :catchall_76
.catch Ljava/io/FileNotFoundException; {:try_start_41 .. :try_end_4b} :catch_7c
.catch Ljava/io/IOException; {:try_start_41 .. :try_end_4b} :catch_79

:try_start_4b
invoke-virtual {v1, v4}, Ljava/io/FileOutputStream;->write([B)V

const-string v0, "UnLockFlagAndReboot"

const-string v2, "============= writeRecoveryCmd success ======================="

invoke-static {v0, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_55
.catchall {:try_start_4b .. :try_end_55} :catchall_6f
.catch Ljava/io/FileNotFoundException; {:try_start_4b .. :try_end_55} :catch_5b
.catch Ljava/io/IOException; {:try_start_4b .. :try_end_55} :catch_65

if-eqz v1, :cond_5a

invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V

:cond_5a
:goto_5a
return-void

:catch_5b
move-exception v0

:goto_5c
:try_start_5c
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V
:try_end_5f
.catchall {:try_start_5c .. :try_end_5f} :catchall_6f

if-eqz v1, :cond_5a

invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V

goto :goto_5a

:catch_65
move-exception v0

:goto_66
:try_start_66
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_69
.catchall {:try_start_66 .. :try_end_69} :catchall_6f

if-eqz v1, :cond_5a

invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V

goto :goto_5a

:catchall_6f
move-exception v0

:goto_70
if-eqz v1, :cond_75

invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V

:cond_75
throw v0

:catchall_76
move-exception v0

move-object v1, v2

goto :goto_70

:catch_79
move-exception v0

move-object v1, v2

goto :goto_66

:catch_7c
move-exception v0

move-object v1, v2

goto :goto_5c

nop

:array_80
.array-data 0x1
0x62t
0x6ft
0x6ft
0x74t
0x2dt
0x75t
0x6et
0x6ct
0x6ft
0x63t
0x6bt
.end array-data

:array_8a
.array-data 0x1
0x72t
0x65t
0x63t
0x6ft
0x76t
0x65t
0x72t
0x79t
0xat
.end array-data
.end method

thats the what it essentialy does, modify p3/p4

asus specific, won't work on the one-x