Function at 0x408ab6
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45646a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x268
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
mov cx, word [eax + 0x168]
test ecx, ecx
jne 0x408af2
jmp 0x40969c
lea ecx, [ebp - 0x10]
call fcn.0040cf40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0040cf40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24c]
call fcn.0040cf40
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x17c]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.00449087
add esp, 8
push 0x468358
lea ecx, [ebp - 0x30]
call fcn.0044b8e7
mov byte [ebp - 4], 3
push 0
lea ecx, [ebp - 0x30]
call fcn.004014f0
push eax
push 6
lea ecx, [ebp - 0x10]
call fcn.004014f0
push eax
push 0
push 0
lea ecx, [ebp - 0x248]
call fcn.00449138
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x248]
call fcn.0044929a
cmp eax, 1
jne 0x408c4d
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0x248]
call fcn.00449375
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x10]
call fcn.0044b9b2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x254]
call fcn.0044b879
mov edx, dword [ebp - 0x1b2]
and edx, 0xffff
test edx, edx
jne 0x408bf8
push 0x468370
lea ecx, [ebp - 0x24c]
call fcn.0044ba02
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x10]
call fcn.0044bc91
push 4
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x10]
call fcn.00448c46
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x26c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0044b9b2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x258]
call fcn.0044b879
lea ecx, [ebp - 0x24c]
call fcn.0044bd40
jmp 0x408c97
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x248]
call fcn.0040d100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
call fcn.0044b879
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24c]
call fcn.0044b879
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0044b879
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0044b879
jmp 0x40969c
lea ecx, [ebp - 0x2c]
call fcn.0042f979
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0x10]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042fa3c
test eax, eax
je 0x408cc9
lea ecx, [ebp - 0x10]
call fcn.004014f0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x468378
lea ecx, [ebp - 0x10]
call fcn.004014f0
push eax
call fcn.00437d48
add esp, 8
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.00437c9a
add esp, 4
push 0x4001
lea ecx, [ebp - 0x10]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044ed86
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x48]
call fcn.0040d230
push 0x46837c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x17c]
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468380
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468388
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__www.dothinkey.com
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4683a0
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__Preview_Type:0:Raw_10_bit__1:Raw_8_bit__2:YUV422__3:RGB565
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4683e4
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__I2C_Mode____:0:Normal_8Addr_8Data___1:Samsung_8_Addr_8Data__2:Micron_8_Addr_16Data
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468440
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__I2C_Mode____:3:Stmicro_16Addr_8Data_4:Micron2_16_Addr_16Data
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468484
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__Out_Format__:0:YCbYCr_RG_GB__1:YCrYCb_GR_BG__2:CbYCrY_GB_RG__3:CrYCbY_BG_GR
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4684d8
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str.__MCLK_Speed__:0:12M__1:24M__2:48M
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468500
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str._SENSOR_
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468510
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x168]
push edx
push str.Preview_Width_____d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46852c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x16a]
push edx
push str.Preview_Height____d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468548
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x16c]
push edx
push str.Preview_Type______d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468564
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x17c]
push edx
push str.Sensor_Name_______s
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468580
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x16d]
and edx, 2
sar edx, 1
push edx
push str.Reset_Pin_________d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46859c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x16d]
and edx, 1
push edx
push str.Pwdn_Pin__________d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4685b8
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x16f]
push edx
push str.I2C_Mode__________d
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4685d4
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x16e]
push edx
push str.I2C_Slave_ID_____0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4685f0
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x170]
push edx
push str.I2C_Flag_Reg_____0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46860c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x172]
push edx
push str.I2C_Flag_Value___0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468628
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x174]
push edx
push str.I2C_Flag_Mask____0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468644
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x176]
push edx
push str.I2C_Flag_Reg1____0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468660
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x178]
push edx
push str.I2C_Flag_Value1__0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46867c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x17a]
push edx
push str.I2C_Flag_Mask1___0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468698
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x18e]
push edx
push str.Out_Format_______0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4686b4
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dl, byte [ecx + 0x18f]
push edx
push str.MCLK_Speed_______0x_x
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4686d0
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str._DEFAULT_
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x4686e0
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov word [ebp - 0x34], 0
jmp 0x40921e
mov cx, word [ebp - 0x34]
add cx, 2
mov word [ebp - 0x34], cx
mov edx, dword [ebp - 0x34]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
mov cx, word [eax + 0x184]
cmp edx, ecx
jge 0x4093cc
mov edx, dword [ebp - 0x25c]
xor eax, eax
mov al, byte [edx + 0x16f]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 4
ja case.default.0x409265
mov ecx, dword [ebp - 0x270]
jmp dword [ecx*4 + 0x4096aa]
mov edx, dword [ebp - 0x34]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x180]
xor eax, eax
mov ax, word [ecx + edx*2 + 2]
xor eax, 0x37
push eax
mov ecx, dword [ebp - 0x34]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x180]
xor edx, edx
mov dx, word [eax + ecx*2]
xor edx, 0x17
push edx
push 0x4686e4
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0x10
jmp case.default.0x409265
mov ecx, dword [ebp - 0x34]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x180]
xor edx, edx
mov dx, word [eax + ecx*2 + 2]
xor edx, 0x37
push edx
mov eax, dword [ebp - 0x34]
and eax, 0xffff
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x180]
xor ecx, ecx
mov cx, word [edx + eax*2]
xor ecx, 0x17
push ecx
push 0x4686f4
lea edx, [ebp - 0x4c]
push edx
call fcn.00449087
add esp, 0x10
jmp case.default.0x409265
mov eax, dword [ebp - 0x34]
and eax, 0xffff
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x180]
xor ecx, ecx
mov cx, word [edx + eax*2 + 2]
xor ecx, 0x37
push ecx
mov edx, dword [ebp - 0x34]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x180]
xor eax, eax
mov ax, word [ecx + edx*2]
xor eax, 0x17
push eax
push 0x468704
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00449087
add esp, 0x10
jmp case.default.0x409265
mov edx, dword [ebp - 0x34]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x180]
xor eax, eax
mov ax, word [ecx + edx*2 + 2]
xor eax, 0x37
push eax
mov ecx, dword [ebp - 0x34]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x180]
xor edx, edx
mov dx, word [eax + ecx*2]
xor edx, 0x17
push edx
push 0x468714
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0x10
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
jmp 0x409212
push 0x468724
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468734
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46873c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push str._STANDBY_
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x46874c
lea ecx, [ebp - 0x48]
call fcn.0044efd5
mov ecx, dword [ebp - 0x25c]
xor edx, edx
mov dx, word [ecx + 0x18c]
test edx, edx
je 0x40961d
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 0x188], 0
je 0x40961d
mov word [ebp - 0x250], 0
jmp 0x409454
mov cx, word [ebp - 0x250]
add cx, 2
mov word [ebp - 0x250], cx
mov edx, dword [ebp - 0x250]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
mov cx, word [eax + 0x18c]
cmp edx, ecx
jge 0x40961d
mov edx, dword [ebp - 0x25c]
xor eax, eax
mov al, byte [edx + 0x16f]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 4
ja case.default.0x40949e
mov ecx, dword [ebp - 0x274]
jmp dword [ecx*4 + 0x4096be]
mov edx, dword [ebp - 0x250]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x188]
xor eax, eax
mov ax, word [ecx + edx*2 + 2]
xor eax, 0x37
push eax
mov ecx, dword [ebp - 0x250]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x188]
xor edx, edx
mov dx, word [eax + ecx*2]
xor edx, 0x17
push edx
push 0x468750
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0x10
jmp case.default.0x40949e
mov ecx, dword [ebp - 0x250]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x188]
xor edx, edx
mov dx, word [eax + ecx*2 + 2]
xor edx, 0x37
push edx
mov eax, dword [ebp - 0x250]
and eax, 0xffff
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x188]
xor ecx, ecx
mov cx, word [edx + eax*2]
xor ecx, 0x17
push ecx
push 0x468760
lea edx, [ebp - 0x4c]
push edx
call fcn.00449087
add esp, 0x10
jmp case.default.0x40949e
mov eax, dword [ebp - 0x250]
and eax, 0xffff
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x188]
xor ecx, ecx
mov cx, word [edx + eax*2 + 2]
xor ecx, 0x37
push ecx
mov edx, dword [ebp - 0x250]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x188]
xor eax, eax
mov ax, word [ecx + edx*2]
xor eax, 0x17
push eax
push 0x468770
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00449087
add esp, 0x10
jmp case.default.0x40949e
mov edx, dword [ebp - 0x250]
and edx, 0xffff
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x188]
xor eax, eax
mov ax, word [ecx + edx*2 + 2]
xor eax, 0x37
push eax
mov ecx, dword [ebp - 0x250]
and ecx, 0xffff
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x188]
xor edx, edx
mov dx, word [eax + ecx*2]
xor edx, 0x17
push edx
push 0x468780
lea eax, [ebp - 0x4c]
push eax
call fcn.00449087
add esp, 0x10
lea ecx, [ebp - 0x4c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x48]
call fcn.0044efd5
jmp 0x409442
push str._END_
lea ecx, [ebp - 0x48]
call fcn.0044efd5
push 0x468798
lea ecx, [ebp - 0x48]
call fcn.0044efd5
lea ecx, [ebp - 0x48]
call fcn.0044f192
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.0044ee1f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.0042f9b6
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x248]
call fcn.0040d100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
call fcn.0044b879
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24c]
call fcn.0044b879
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0044b879
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0044b879
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret