Function at 0x40aa20
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ccd7
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x557834]
xor eax, ebp
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x230]
movzx ecx, word [eax + 0x1c8]
test ecx, ecx
jne 0x40aa67
jmp 0x40b637
lea ecx, [ebp - 0x1c]
call fcn.00411090
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00411090
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.00411090
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1dc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.004112c0
add esp, 8
push 0x4724e0
lea ecx, [ebp - 0x1f0]
call fcn.00401870
mov byte [ebp - 4], 3
push 0
push 0
lea ecx, [ebp - 0x1f0]
call fcn.00401d70
push eax
push 6
lea ecx, [ebp - 0x1c]
call fcn.00401d70
push eax
push 0
push 0
lea ecx, [ebp - 0x1ec]
call fcn.00441135
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ec]
call fcn.00441009
cmp eax, 1
jne 0x40abbe
lea edx, [ebp - 0x228]
push edx
lea ecx, [ebp - 0x1ec]
call fcn.004412e1
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x238]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004110d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x228]
call fcn.004018f0
lea ecx, [ebp - 0x1ec]
call fcn.00440d27
movzx edx, word [eax + 0x3a]
test edx, edx
jne 0x40ab6f
push 0x4724f8
lea ecx, [ebp - 0x10]
call fcn.00401910
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00410030
push 4
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00410300
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x240], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x240]
push eax
lea ecx, [ebp - 0x10]
call fcn.004110d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x22c]
call fcn.004018f0
lea ecx, [ebp - 0x10]
call fcn.00410070
jmp 0x40ac08
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.004410f4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f0]
call fcn.004018f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004018f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004018f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004018f0
jmp 0x40b637
lea ecx, [ebp - 0x21c]
call fcn.00441ebe
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0x1c]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x21c]
call fcn.00441f4a
test eax, eax
je 0x40ac40
lea ecx, [ebp - 0x1c]
call fcn.00401d70
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x472500
lea ecx, [ebp - 0x1c]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.004538b2
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
call fcn.00453772
add esp, 4
push 0x4001
lea ecx, [ebp - 0x1c]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.00441a8d
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x204]
call fcn.00410cf0
push 0x472504
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x1dc]
push ecx
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472508
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472510
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__www.dothinkey.com
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472528
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__Preview_Type:0:Raw_10_bit__1:Raw_8_bit__2:YUV422__3:RGB565
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x47256c
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__I2C_Mode____:0:Normal_8Addr_8Data___1:Samsung_8_Addr_8Data__2:Micron_8_Addr_16Data
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4725c8
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__I2C_Mode____:3:Stmicro_16Addr_8Data_4:Micron2_16_Addr_16Data
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x47260c
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__Out_Format__:0:YCbYCr_RG_GB__1:YCrYCb_GR_BG__2:CbYCrY_GB_RG__3:CrYCbY_BG_GR
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472660
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str.__MCLK_Speed__:0:12M__1:24M__2:48M
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472688
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str._SENSOR_
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472698
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1c8]
push eax
push str.Preview_Width_____d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4726b4
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1ca]
push eax
push str.Preview_Height____d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4726d0
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1cc]
push eax
push str.Preview_Type______d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4726ec
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1dc]
push eax
push str.Sensor_Name_______s
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472708
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1cd]
and eax, 2
sar eax, 1
push eax
push str.Reset_Pin_________d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472724
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1cd]
and eax, 1
push eax
push str.Pwdn_Pin__________d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472740
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1cf]
push eax
push str.I2C_Mode__________d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x47275c
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1ce]
push eax
push str.I2C_Slave_ID_____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472778
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1d0]
push eax
push str.I2C_Flag_Reg_____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472794
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1d2]
push eax
push str.I2C_Flag_Value___0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4727b0
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1d4]
push eax
push str.I2C_Flag_Mask____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4727cc
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1d6]
push eax
push str.I2C_Flag_Reg1____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4727e8
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1d8]
push eax
push str.I2C_Flag_Value1__0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472804
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1da]
push eax
push str.I2C_Flag_Mask1___0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472820
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1ee]
push eax
push str.Out_Format_______0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x47283c
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov edx, dword [ebp - 0x230]
movzx eax, byte [edx + 0x1ef]
push eax
push str.MCLK_Speed_______0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004112c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472858
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str._DEFAULT_
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472868
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov word [ebp - 0x220], 0
jmp 0x40b229
movzx edx, word [ebp - 0x220]
add edx, 2
mov word [ebp - 0x220], dx
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
movzx edx, word [ecx + 0x1e4]
cmp eax, edx
jge 0x40b39f
mov eax, dword [ebp - 0x230]
movzx ecx, byte [eax + 0x1cf]
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 4
ja case.default.0x40b26b
mov edx, dword [ebp - 0x244]
jmp dword [edx*4 + 0x40b650]
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
push eax
movzx ecx, word [ebp - 0x220]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
push ecx
push 0x47286c
lea edx, [ebp - 0x18]
push edx
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b26b
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
push eax
movzx ecx, word [ebp - 0x220]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
push ecx
push 0x47287c
lea edx, [ebp - 0x18]
push edx
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b26b
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
push eax
movzx ecx, word [ebp - 0x220]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
push ecx
push 0x47288c
lea edx, [ebp - 0x18]
push edx
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b26b
movzx eax, word [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
push eax
movzx ecx, word [ebp - 0x220]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
push ecx
push 0x47289c
lea edx, [ebp - 0x18]
push edx
call fcn.004112c0
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
jmp 0x40b218
push 0x4728ac
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4728bc
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4728c4
lea ecx, [ebp - 0x204]
call fcn.004415dd
push str._STANDBY_
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x4728d4
lea ecx, [ebp - 0x204]
call fcn.004415dd
mov eax, dword [ebp - 0x230]
movzx ecx, word [eax + 0x1ec]
test ecx, ecx
je 0x40b5a9
mov edx, dword [ebp - 0x230]
cmp dword [edx + 0x1e8], 0
je 0x40b5a9
mov word [ebp - 0x224], 0
jmp 0x40b433
movzx eax, word [ebp - 0x224]
add eax, 2
mov word [ebp - 0x224], ax
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x230]
movzx eax, word [edx + 0x1ec]
cmp ecx, eax
jge 0x40b5a9
mov ecx, dword [ebp - 0x230]
movzx edx, byte [ecx + 0x1cf]
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 4
ja case.default.0x40b475
mov eax, dword [ebp - 0x248]
jmp dword [eax*4 + 0x40b664]
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
push ecx
movzx edx, word [ebp - 0x224]
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
push edx
push 0x4728d8
lea eax, [ebp - 0x18]
push eax
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b475
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
push ecx
movzx edx, word [ebp - 0x224]
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
push edx
push 0x4728e8
lea eax, [ebp - 0x18]
push eax
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b475
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
push ecx
movzx edx, word [ebp - 0x224]
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
push edx
push 0x4728f8
lea eax, [ebp - 0x18]
push eax
call fcn.004112c0
add esp, 0x10
jmp case.default.0x40b475
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
push ecx
movzx edx, word [ebp - 0x224]
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
push edx
push 0x472908
lea eax, [ebp - 0x18]
push eax
call fcn.004112c0
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.00401d70
push eax
lea ecx, [ebp - 0x204]
call fcn.004415dd
jmp 0x40b422
push str._END_
lea ecx, [ebp - 0x204]
call fcn.004415dd
push 0x472920
lea ecx, [ebp - 0x204]
call fcn.004415dd
lea ecx, [ebp - 0x204]
call fcn.004417b3
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x204]
call fcn.00441828
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x21c]
call fcn.00441ee2
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.004410f4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f0]
call fcn.004018f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004018f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004018f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004018f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.00452556
mov esp, ebp
pop ebp
ret