Function at 0x40a7c0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d087
mov eax, dword fs:[0]
push eax
sub esp, 0x240
mov eax, dword [0x52e4bc]
xor eax, ebp
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x74]
mov edx, dword [ecx*4 + 0x517798]
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x78]
mov edx, dword [edx]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x1f4], eax
push 0x2c
mov ecx, dword [ebp - 0x1f4]
push ecx
mov edx, dword [ebp - 0x234]
add edx, 0x1c8
push edx
call fcn.00452fc0
add esp, 0xc
mov eax, dword [ebp - 0x234]
movzx ecx, word [eax + 0x1c8]
test ecx, ecx
jne 0x40a849
jmp 0x40b475
lea ecx, [ebp - 0x1c]
call fcn.00411190
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00411190
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.00411190
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1dc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.004113c0
add esp, 8
push 0x4724e4
lea ecx, [ebp - 0x1f0]
call fcn.00401860
mov byte [ebp - 4], 3
push 0
push 0
lea ecx, [ebp - 0x1f0]
call fcn.00401920
push eax
push 6
lea ecx, [ebp - 0x1c]
call fcn.00401920
push eax
push 0
push 0
lea ecx, [ebp - 0x1ec]
call fcn.004414d5
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ec]
call fcn.004413a9
cmp eax, 1
jne 0x40a9a0
lea edx, [ebp - 0x22c]
push edx
lea ecx, [ebp - 0x1ec]
call fcn.00441681
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x23c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004111d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x22c]
call fcn.004018e0
lea ecx, [ebp - 0x1ec]
call fcn.004410c7
movzx edx, word [eax + 0x3a]
test edx, edx
jne 0x40a951
push 0x4724fc
lea ecx, [ebp - 0x10]
call fcn.00401900
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00410120
push 4
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004103d0
mov dword [ebp - 0x240], eax
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0x244], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x10]
call fcn.004111d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x230]
call fcn.004018e0
lea ecx, [ebp - 0x10]
call fcn.00410160
jmp 0x40a9ea
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.00441494
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f0]
call fcn.004018e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004018e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004018e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004018e0
jmp 0x40b475
lea ecx, [ebp - 0x220]
call fcn.00442258
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0x1c]
call fcn.00401920
push eax
lea ecx, [ebp - 0x220]
call fcn.004422e4
test eax, eax
je 0x40aa22
lea ecx, [ebp - 0x1c]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x472504
lea ecx, [ebp - 0x1c]
call fcn.00401920
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.00453c62
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
call fcn.00453b22
add esp, 4
push 0x4001
lea ecx, [ebp - 0x1c]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441e27
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x208]
call fcn.00410de0
push 0x472508
lea ecx, [ebp - 0x208]
call fcn.00441977
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1dc]
push ecx
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x47250c
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472514
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__www.dothinkey.com
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x47252c
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__Preview_Type:0:Raw_10_bit__1:Raw_8_bit__2:YUV422__3:RGB565
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472570
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__I2C_Mode____:0:Normal_8Addr_8Data___1:Samsung_8_Addr_8Data__2:Micron_8_Addr_16Data
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4725d0
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__I2C_Mode____:3:Stmicro_16Addr_8Data_4:Micron2_16_Addr_16Data
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472614
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__Out_Format__:0:YCbYCr_RG_GB__1:YCrYCb_GR_BG__2:CbYCrY_GB_RG__3:CrYCbY_BG_GR
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472668
lea ecx, [ebp - 0x208]
call fcn.00441977
push str.__MCLK_Speed__:0:12M__1:24M__2:48M
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472690
lea ecx, [ebp - 0x208]
call fcn.00441977
push str._SENSOR_
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4726a0
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1c8]
push eax
push str.Preview_Width_____d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4726bc
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1ca]
push eax
push str.Preview_Height____d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4726d8
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1cc]
push eax
push str.Preview_Type______d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4726f4
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1dc]
push eax
push str.Sensor_Name_______s
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472710
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
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.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x47272c
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1cd]
and eax, 1
push eax
push str.Pwdn_Pin__________d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472748
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1cf]
push eax
push str.I2C_Mode__________d
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472764
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1ce]
push eax
push str.I2C_Slave_ID_____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472780
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1d0]
push eax
push str.I2C_Flag_Reg_____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x47279c
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1d2]
push eax
push str.I2C_Flag_Value___0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4727b8
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1d4]
push eax
push str.I2C_Flag_Mask____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4727d4
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1d6]
push eax
push str.I2C_Flag_Reg1____0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4727f0
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1d8]
push eax
push str.I2C_Flag_Value1__0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x47280c
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1da]
push eax
push str.I2C_Flag_Mask1___0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472828
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1ee]
push eax
push str.Out_Format_______0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472844
lea ecx, [ebp - 0x208]
call fcn.00441977
mov edx, dword [ebp - 0x234]
movzx eax, byte [edx + 0x1ef]
push eax
push str.MCLK_Speed_______0x_x
lea ecx, [ebp - 0x18]
push ecx
call fcn.004113c0
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472860
lea ecx, [ebp - 0x208]
call fcn.00441977
push str._DEFAULT_
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472870
lea ecx, [ebp - 0x208]
call fcn.00441977
mov word [ebp - 0x224], 0
jmp 0x40b00b
movzx edx, word [ebp - 0x224]
add edx, 2
mov word [ebp - 0x224], dx
movzx eax, word [ebp - 0x224]
mov ecx, dword [ebp - 0x234]
movzx edx, word [ecx + 0x1e4]
cmp eax, edx
jge 0x40b1ad
mov eax, dword [ebp - 0x234]
movzx ecx, byte [eax + 0x1cf]
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x248], 4
ja case.default.0x40b04d
mov edx, dword [ebp - 0x248]
jmp dword [edx*4 + 0x40b490]
movzx eax, word [ebp - 0x224]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
xor eax, 0x1b03
push eax
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
xor ecx, 0xff30
push ecx
push 0x472874
lea edx, [ebp - 0x18]
push edx
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b04d
movzx eax, word [ebp - 0x224]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
xor eax, 0x1b03
push eax
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
xor ecx, 0xff30
push ecx
push 0x472884
lea edx, [ebp - 0x18]
push edx
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b04d
movzx eax, word [ebp - 0x224]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
xor eax, 0x1b03
push eax
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
xor ecx, 0xff30
push ecx
push 0x472894
lea edx, [ebp - 0x18]
push edx
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b04d
movzx eax, word [ebp - 0x224]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0x1e0]
movzx eax, word [edx + eax*2 + 2]
xor eax, 0x1b03
push eax
movzx ecx, word [ebp - 0x224]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e0]
movzx ecx, word [eax + ecx*2]
xor ecx, 0xff30
push ecx
push 0x4728a4
lea edx, [ebp - 0x18]
push edx
call fcn.004113c0
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
jmp 0x40affa
push 0x4728b4
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4728c4
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4728cc
lea ecx, [ebp - 0x208]
call fcn.00441977
push str._STANDBY_
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x4728dc
lea ecx, [ebp - 0x208]
call fcn.00441977
mov eax, dword [ebp - 0x234]
movzx ecx, word [eax + 0x1ec]
test ecx, ecx
je 0x40b3e7
mov edx, dword [ebp - 0x234]
cmp dword [edx + 0x1e8], 0
je 0x40b3e7
mov word [ebp - 0x228], 0
jmp 0x40b241
movzx eax, word [ebp - 0x228]
add eax, 2
mov word [ebp - 0x228], ax
movzx ecx, word [ebp - 0x228]
mov edx, dword [ebp - 0x234]
movzx eax, word [edx + 0x1ec]
cmp ecx, eax
jge 0x40b3e7
mov ecx, dword [ebp - 0x234]
movzx edx, byte [ecx + 0x1cf]
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 4
ja case.default.0x40b283
mov eax, dword [ebp - 0x24c]
jmp dword [eax*4 + 0x40b4a4]
movzx ecx, word [ebp - 0x228]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
xor ecx, 0x1b03
push ecx
movzx edx, word [ebp - 0x228]
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
xor edx, 0xff30
push edx
push 0x4728e0
lea eax, [ebp - 0x18]
push eax
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b283
movzx ecx, word [ebp - 0x228]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
xor ecx, 0x1b03
push ecx
movzx edx, word [ebp - 0x228]
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
xor edx, 0xff30
push edx
push 0x4728f0
lea eax, [ebp - 0x18]
push eax
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b283
movzx ecx, word [ebp - 0x228]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
xor ecx, 0x1b03
push ecx
movzx edx, word [ebp - 0x228]
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
xor edx, 0xff30
push edx
push 0x472900
lea eax, [ebp - 0x18]
push eax
call fcn.004113c0
add esp, 0x10
jmp case.default.0x40b283
movzx ecx, word [ebp - 0x228]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1e8]
movzx ecx, word [eax + ecx*2 + 2]
xor ecx, 0x1b03
push ecx
movzx edx, word [ebp - 0x228]
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1e8]
movzx edx, word [ecx + edx*2]
xor edx, 0xff30
push edx
push 0x472910
lea eax, [ebp - 0x18]
push eax
call fcn.004113c0
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.00401920
push eax
lea ecx, [ebp - 0x208]
call fcn.00441977
jmp 0x40b230
push str._END_
lea ecx, [ebp - 0x208]
call fcn.00441977
push 0x472928
lea ecx, [ebp - 0x208]
call fcn.00441977
lea ecx, [ebp - 0x208]
call fcn.00441b4d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x208]
call fcn.00441bc2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x220]
call fcn.0044227c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1ec]
call fcn.00441494
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f0]
call fcn.004018e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004018e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004018e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004018e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.00452906
mov esp, ebp
pop ebp
ret