Function at 0x101084a0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
sub esp, 0x94
xor eax, eax
mov dword [esp + 4], 1
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ebx, [ebp + 0x248e8]
mov dword [ebp + 0x188], 0xffffffff
mov dword [ebp + 0x30], 0xffffffff
mov dword [ebp + 0x492d4], 0xffffffff
mov word [ebp + 0x492e2], ax
mov dword [ebp + 0x49314], eax
mov word [ebp + 0x492be], ax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24788], eax
mov byte [ebx], al
mov byte [ebp + 0xf8], al
mov byte [ebp + 0xb8], al
mov byte [ebp + 0x24d24], al
mov byte [ebp + 0x24b24], al
mov byte [ebp + 0x1d4], al
push 0x1e0
push eax
mov dword [ebp + 0x492cc], eax
mov dword [ebp + 0x24a64], eax
mov dword [ebp + 0x24a60], eax
mov dword [ebp + 0x24a5c], eax
mov dword [ebp + 0x24a58], eax
mov dword [ebp + 0x492d0], eax
lea eax, [ebp + 0x4f348]
push eax
call fcn.101dfee0
push 0x80
lea eax, [ebp + 0x24a74]
push 0
push eax
call fcn.101dfee0
push 0x4018
lea eax, [ebp + 0x20768]
push 0
push eax
call fcn.101dfee0
push 0x80
lea eax, [ebp + 0x2478c]
push 0
push eax
call fcn.101dfee0
push 0x80
lea eax, [ebp + 0x34]
push 0
push eax
call fcn.101dfee0
add esp, 0x3c
mov dword [ebp + 0x4f5d0], 0x10114b80
xor eax, eax
mov dword [ebp + 0x24d6c], eax
mov dword [ebp + 0x24d70], eax
mov dword [ebp + 0x49298], eax
mov dword [ebp + 0x4929c], eax
mov dword [ebp + 0x4f5dc], eax
mov dword [ebp + 0x4f5d8], eax
mov dword [ebp + 0x49320], eax
mov dword [ebp + 0x4931c], eax
mov dword [ebp + 0x4930c], eax
mov dword [ebp + 0x49300], eax
mov dword [ebp + 0x49304], eax
mov dword [ebp + 0x492f8], eax
mov dword [ebp + 0x492fc], eax
mov dword [ebp + 0x49330], eax
mov dword [ebp + 0x17c], eax
mov dword [ebp + 0x49324], eax
mov dword [ebp + 0x492e8], eax
mov dword [ebp + 0x180], eax
mov dword [ebp + 0x24780], eax
mov dword [ebp + 0x49318], eax
mov dword [ebp + 0x24a70], eax
mov dword [ebp + 0x24a68], eax
mov dword [ebp + 0x24a6c], eax
movsd xmm0, qword [0x1039c208]
lea ecx, [ebp + 0x2481c]
mov dword [ebp + 0x492b8], eax
xor edx, edx
mov dword [ebp + 0x49334], eax
mov dword [ebp + 0x2492c], eax
mov dword [ebp + 0x492b0], eax
mov dword [ebp + 0x492b4], 1
mov dword [ebp + 0x178], 1
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x4932c], eax
mov dword [ebp + 0x49328], eax
nop
xor eax, eax
lea ecx, [ecx + 4]
cmp edx, 1
sete al
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 3
setl al
movss dword [ecx - 0x14], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
test edx, edx
sete al
movss dword [ecx - 4], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 1
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x1c], 0
sete al
mov dword [ecx + 0x2c], 0
movss dword [ecx + 0x3c], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 2
sete al
inc edx
movss dword [ecx + 0x4c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x5c], xmm0
cmp edx, 4
jl 0x10108680
mov dword [ebp + 0x184], 3
lea ecx, [ebp + 0x768]
xor eax, eax
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp eax, 0x10000
jl 0x10108717
mov ecx, ebp
call fcn.101178d0
mov ecx, ebp
mov word [ebp + 0x492d8], ax
call fcn.10114f90
mov ecx, dword [ebp + 0x49280]
mov edi, eax
push 0
push 0
push 0
mov edx, dword [ecx]
call dword [edx + 0xc]
mov ecx, dword [ebp + 0x49280]
lea edx, [esp + 0x1c]
push 0x20
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x49280]
push 2
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 4
push str.MMMM
mov dword [esp + 0x18], eax
lea eax, [esp + 0x24]
push 0x20
push eax
call fcn.1012f180
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x101095f9
push 4
push str.IIII
lea eax, [esp + 0x24]
push 0x20
push eax
call fcn.1012f180
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x101095f9
movzx eax, word [ebp + 0x492d8]
mov esi, 0x4949
cmp ax, si
je 0x101095a5
mov ecx, 0x4d4d
cmp ax, cx
je 0x101095a5
lea eax, [esp + 0x1c]
cmp dword [eax], 0xe1ffd8ff
jne 0x10108878
lea eax, [esp + 0x22]
cmp dword [eax], 0x66697845
jne 0x10108878
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 4
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.101178d0
mov ecx, dword [ebp + 0x49280]
movzx eax, ax
cdq
add eax, 4
push 0
adc edx, 0
mov dword [ebp + 0x492f8], eax
mov dword [ebp + 0x492fc], edx
mov eax, dword [ecx]
push edx
push dword [ebp + 0x492f8]
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xff
je 0x1010885f
push 0xc
mov ecx, ebp
call fcn.1012c7a0
mov dword [ebp + 0x49298], 0
mov dword [ebp + 0x4929c], 0
jmp 0x1010961f
lea ecx, [esp + 0x35]
cmp dword [ecx], 0x43455241
jne 0x10108b71
cmp word [ecx + 4], 0x594f
jne 0x10108b71
cmp byte [ecx + 6], 0x4b
jne 0x10108b71
mov eax, dword [str.Contax]
lea ebx, [ebp + 0xf8]
mov ecx, dword [ebp + 0x49280]
mov dword [ebp + 0xb8], eax
movzx eax, word [0x102733ec]
mov word [ebp + 0xbc], ax
mov al, byte [0x102733ee]
mov byte [ebp + 0xbe], al
movq xmm0, qword [str.N_Digital]
movq qword [ebx], xmm0
movzx eax, word [0x102733f8]
push 0
mov word [ebx + 8], ax
mov eax, dword [ecx]
push 0
push 0x21
call dword [eax + 0xc]
push 1
mov ecx, ebp
call fcn.1012dbd0
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0x34
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
add eax, 0xfffffff9
cmp eax, 0xc
ja case.default.0x1010891d
jmp dword [eax*4 + 0x1010d8b8]
mov dword [ebp + 0x24a58], 0x41c80000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42000000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42200000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42480000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42800000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42a00000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42c80000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x42fa0000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x43200000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x43480000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x437a0000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x43a00000
jmp case.default.0x1010891d
mov dword [ebp + 0x24a58], 0x43c80000
mov ecx, ebp
call fcn.10114f90
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1039bf90]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fdiv dword [0x10273dcc]
add esp, 8
xor esi, esi
fstp dword [ebp + 0x24a5c]
mov ecx, ebp
call fcn.10114f90
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [ebp + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x10108a11
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0x58
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1039bf68]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
mov ecx, dword [ebp + 0x49280]
add esp, 8
fstp dword [ebp + 0x24a60]
mov eax, dword [ecx]
push 0
push 0
push 0x70
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
mov ecx, dword [ebp + 0x49280]
push 0
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push 0x68
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24a64], xmm0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1039bf68]
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
mov ecx, dword [ebp + 0x49280]
add esp, 8
fstp dword [ebp + 0x438]
mov eax, dword [ecx]
push 0
push 0
push 0x7c
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
lea esi, [ebp + 0x320]
push 1
push 0x20
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 0x15
mov word [ebp + 0x3aa], ax
cmp byte [esi], 0
je 0x10109625
mov word [ebp + 0x3a2], ax
jmp 0x10109625
mov ecx, 0x102733fc
lea eax, [esp + 0x1c]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10108ba0
test dl, dl
je 0x10108b9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10108ba0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10108b80
xor eax, eax
jmp 0x10108ba5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10108bd9
movq xmm0, qword [str.Logitech]
lea ebx, [ebp + 0xf8]
movq qword [ebp + 0xb8], xmm0
mov al, byte [0x10273408]
mov byte [ebp + 0xc0], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [ebx], xmm0
jmp 0x10109625
mov ecx, str.qktk
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10108c02
test dl, dl
je 0x10108bfe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10108c02
add eax, 2
add ecx, 2
test dl, dl
jne 0x10108be2
xor eax, eax
jmp 0x10108c07
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10108c58
mov eax, dword [str.Apple]
lea ebx, [ebp + 0xf8]
mov dword [ebp + 0xb8], eax
movzx eax, word [0x10273428]
mov word [ebp + 0xbc], ax
movq xmm0, qword [str.QuickTake_100]
movq qword [ebx], xmm0
mov eax, dword [0x10273434]
mov dword [ebx + 8], eax
movzx eax, word [0x10273438]
mov word [ebx + 0xc], ax
mov dword [ebp + 0x4f5d8], 0x1011f000
jmp 0x10109625
mov ecx, str.qktn
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10108c81
test dl, dl
je 0x10108c7d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10108c81
add eax, 2
add ecx, 2
test dl, dl
jne 0x10108c61
xor eax, eax
jmp 0x10108c86
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10108cd7
mov eax, dword [str.Apple]
lea ebx, [ebp + 0xf8]
mov dword [ebp + 0xb8], eax
movzx eax, word [0x10273428]
mov word [ebp + 0xbc], ax
movq xmm0, qword [str.QuickTake_150]
movq qword [ebx], xmm0
mov eax, dword [0x1027344c]
mov dword [ebx + 8], eax
movzx eax, word [0x10273450]
mov word [ebx + 0xc], ax
mov dword [ebp + 0x4f5d8], 0x1011f3f0
jmp 0x10109625
lea eax, [esp + 0x1c]
cmp dword [eax], 0x494a5546
jne 0x10108dfb
cmp dword [eax + 4], 0x4d4c4946
jne 0x10108dfb
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0x54
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
mov ecx, ebp
mov dword [ebp + 0x49298], eax
mov dword [ebp + 0x4929c], 0
call fcn.10114f90
mov ecx, dword [ebp + 0x49280]
push 0
mov dword [ebp + 0x24d70], eax
push 0
mov eax, dword [ecx]
push 0x5c
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
push eax
mov ecx, ebp
call fcn.1011b730
cmp dword [ebp + 0x4929c], 0
jl 0x10108d9c
jg 0x10108d5d
cmp dword [ebp + 0x49298], 0x78
jbe 0x10108d9c
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0x78
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
xor ecx, ecx
test eax, eax
setne cl
add dword [ebp + 0x178], ecx
cmp dword [ebp + 0x178], 2
jne 0x10108d9c
cmp dword [ebp + 0x668], 0
je 0x10108d9c
push eax
mov ecx, ebp
call fcn.1011b730
mov ecx, dword [ebp + 0x49280]
xor eax, eax
cmp eax, dword [ebp + 0x668]
push 0
sbb eax, eax
mov dword [ebp + 0x4f5d8], fcn.1011d650
mov edx, dword [ecx]
and eax, 0x1c
add eax, 0x64
push 0
push eax
call dword [edx + 0xc]
mov ecx, ebp
call fcn.10114f90
push eax
mov ecx, ebp
mov dword [ebp + 0x492f8], eax
mov dword [ebp + 0x492fc], 0
call fcn.1012c7a0
mov eax, dword [ebp + 0x49298]
mov ecx, ebp
add eax, 0xc
push eax
call fcn.1012c7a0
jmp 0x10109618
lea eax, [esp + 0x1c]
cmp dword [eax], 0x46464952
jne 0x10108e24
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10120480
jmp 0x1010961f
lea eax, [esp + 0x20]
cmp dword [eax], 0x70797466
jne 0x10108e6b
cmp dword [eax + 4], 0x20207471
jne 0x10108e6b
cmp byte [eax + 8], 0x20
jne 0x10108e6b
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
call fcn.1012dac0
mov dword [ebp + 0x178], 0
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x1000100
jne 0x10108f21
cmp word [eax + 4], 0x4000
jne 0x10108f21
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
lea edx, [ebp + 0xb8]
push 8
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x49280]
lea esi, [ebp + 0xf8]
push 8
push 1
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x49280]
push 0x10
push 1
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, ebp
call fcn.101178d0
movzx eax, ax
mov ecx, ebp
cdq
mov dword [ebp + 0x492f8], eax
mov dword [ebp + 0x492fc], edx
call fcn.101178d0
mov ecx, ebp
call fcn.101178d0
mov ecx, ebp
mov word [ebp + 0x12], ax
call fcn.101178d0
mov word [ebp + 0x10], ax
mov dword [ebp + 0x4f5d8], 0x1011e1c0
mov dword [ebp + 0x188], 0x61616161
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x494b4f4e
jne 0x10109015
cmp dword [eax + 4], 0x57415241
jne 0x10109015
mov eax, dword [str.NOKIA]
mov ecx, dword [ebp + 0x49280]
mov dword [ebp + 0xb8], eax
mov ax, word [0x10273458]
push 0
mov word [ebp + 0xbc], ax
mov word [ebp + 0x492d8], si
mov eax, dword [ecx]
push 0
push 0x12c
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
mov ecx, ebp
mov dword [ebp + 0x492f8], eax
mov dword [ebp + 0x492fc], 0
call fcn.10114f90
mov ecx, ebp
mov edi, eax
call fcn.101178d0
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.101178d0
movzx ebx, word [ebp + 0x16]
movzx esi, ax
mov eax, esi
mov word [ebp + 0x14], si
mov ecx, eax
lea eax, [edi*8]
imul ecx, ebx
cdq
idiv ecx
mov ecx, eax
mov dword [ebp + 0x4931c], ecx
sub eax, 8
je 0x10108fdd
sub eax, 2
jne 0x10108fe7
mov dword [ebp + 0x4f5d8], 0x1011e1c0
jmp 0x10108fe7
mov dword [ebp + 0x4f5d8], 0x1011fc90
imul ecx, ebx
xor edx, edx
mov eax, edi
shr ecx, 3
div ecx
sub eax, esi
mov word [ebp + 0x18], ax
add eax, esi
mov word [ebp + 0x10], ax
mov dword [ebp + 0x40], 1
mov dword [ebp + 0x188], 0x61616161
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x49525241
jne 0x101090ca
mov ecx, dword [ebp + 0x49280]
push 0
mov word [ebp + 0x492d8], si
push 0
mov eax, dword [ecx]
push 0x14
call dword [eax + 0xc]
mov ecx, ebp
call fcn.10114f90
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.10114f90
mov ecx, dword [ebp + 0x49280]
mov word [ebp + 0x14], ax
mov eax, dword [str.ARRI]
mov dword [ebp + 0xb8], eax
mov al, byte [0x10273460]
push 0
mov byte [ebp + 0xbc], al
mov eax, dword [ecx]
push 0
push 0x29c
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
lea ebx, [ebp + 0xf8]
push 0x40
push 1
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp + 0x492f8], 0x1000
mov dword [ebp + 0x492fc], 0
mov dword [ebp + 0x4f5d8], 0x1011d150
mov dword [ebp + 0x49330], 0x58
mov dword [ebp + 0x188], 0x61616161
jmp 0x10109625
lea eax, [esp + 0x1c]
cmp dword [eax], 0x53445058
jne 0x10109192
mov ecx, dword [ebp + 0x49280]
push 0
mov word [ebp + 0x492d8], si
push 0
mov eax, dword [ecx]
push 0x800
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
lea edx, [ebp + 0xb8]
push 0x29
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, ebp
call fcn.101178d0
mov ecx, ebp
mov word [ebp + 0x10], ax
call fcn.101178d0
mov ecx, dword [ebp + 0x49280]
push 1
mov word [ebp + 0x12], ax
push 0
mov eax, dword [ecx]
push 0x38
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
lea ebx, [ebp + 0xf8]
push 0x1e
push 1
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
movsd xmm0, qword [0x10273d38]
mov ecx, ebp
push 0x3ff
push 1
sub esp, 0x10
mov dword [ebp + 0x492f8], 0x10000
mov dword [ebp + 0x492fc], 0
mov dword [ebp + 0x4f5d8], 0x1011e750
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.10115010
jmp 0x10109625
lea eax, [esp + 0x20]
cmp dword [eax], 0x31444552
jne 0x101091f2
lea edx, [ebp + 0xb8]
mov ecx, ebp
lea ebx, [ebp + 0xf8]
mov dword [edx], 0x646552
mov dword [ebx], 0x656e4f
call fcn.1011b930
movaps xmm0, xmmword [0x10273e30]
mov ecx, ebp
push 0xfff
push 1
sub esp, 0x10
mov dword [ebp + 0x4f5d8], 0x1011bab0
movups xmmword [esp], xmm0
call fcn.10115010
mov dword [ebp + 0x188], 0x49494949
jmp 0x10109625
lea eax, [esp + 0x1c]
cmp dword [eax], 0x2d435344
jne 0x10109219
cmp dword [eax + 4], 0x67616d49
jne 0x10109219
cmp byte [eax + 8], 0x65
jne 0x10109219
mov ecx, ebp
call fcn.1011bbd0
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x44415750
jne 0x10109231
mov ecx, ebp
call fcn.1011d720
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x4d524d00
jne 0x1010924b
push 0
mov ecx, ebp
call fcn.10122890
jmp 0x1010961f
lea eax, [esp + 0x1c]
cmp dword [eax], 0x62564f46
jne 0x10109263
mov ecx, ebp
call fcn.10136920
jmp 0x1010961f
lea ecx, [esp + 0x1c]
mov eax, 0x4943
cmp word [ecx], ax
jne 0x1010927d
mov ecx, ebp
call fcn.10120700
jmp 0x1010961f
mov eax, dword [esp + 0x10]
lea esi, [ebp + 0xf8]
lea edx, [ebp + 0xb8]
mov dword [esp + 0x14], 0
sub esi, str.F_080C
sub edx, 0x10272030
xor ebx, ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ebx
nop
cmp eax, dword [ebx + 0x10272020]
jne 0x10109582
lea ecx, [ebx + 0x10272030]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x101092c2
mov ecx, str.Canon
lea eax, [ebp + 0xb8]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109300
test dl, dl
je 0x101092fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109300
add eax, 2
add ecx, 2
test dl, dl
jne 0x101092e0
xor eax, eax
jmp 0x10109305
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010931c
mov eax, 0x63
mov word [ebp + 0x3aa], ax
mov word [ebp + 0x3a2], ax
lea ecx, [ebx + str.F_080C]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x10109322
movzx eax, byte [ebx + 0x1027202f]
shr eax, 2
mov dword [ebp + 0x30], eax
movzx eax, byte [ebx + 0x1027202f]
and eax, 2
mov dword [ebp + 0x492b8], eax
test byte [ebx + 0x1027202f], 1
je 0x1010935c
mov ecx, ebp
call fcn.1012dcb0
movzx eax, word [ebx + 0x1027204e]
cdq
mov dword [ebp + 0x492f8], eax
mov esi, edx
mov dword [ebp + 0x492fc], edx
mov edx, 8
movzx eax, word [ebx + 0x10272024]
mov word [ebp + 0x12], ax
movzx eax, word [ebx + 0x10272026]
movzx ecx, word [ebp + 0x12]
mov word [ebp + 0x10], ax
movzx eax, byte [ebx + 0x10272028]
mov word [ebp + 0x1a], ax
movzx eax, byte [ebx + 0x10272029]
mov word [ebp + 0x18], ax
movzx eax, byte [ebx + 0x1027202a]
sub cx, ax
sub cx, word [ebp + 0x1a]
mov word [ebp + 0x16], cx
movzx eax, byte [ebx + 0x1027202b]
movzx ecx, word [ebp + 0x10]
sub cx, ax
sub cx, word [ebp + 0x18]
mov word [ebp + 0x14], cx
movzx eax, byte [ebx + 0x1027202d]
imul eax, eax, 0x1010101
mov ecx, eax
mov dword [ebp + 0x188], eax
shr ecx, 1
and ecx, eax
and ecx, 0x5555
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 3
mov dword [ebp + 0x184], ecx
movzx eax, byte [ebx + 0x1027202c]
mov ecx, dword [ebp + 0x492f8]
mov dword [ebp + 0x49330], eax
mov eax, dword [esp + 0x10]
imul edx
shld esi, ecx, 3
mov ebx, eax
mov edi, edx
movzx eax, word [ebp + 0x10]
shl ecx, 3
sub ebx, ecx
movzx ecx, word [ebp + 0x12]
sbb edi, esi
imul eax, ecx
cdq
push edx
push eax
push edi
push ebx
call fcn.101dd750
mov esi, eax
mov dword [ebp + 0x4931c], esi
lea ecx, [esi - 6]
cmp ecx, 0xa
ja case.0x10109455.7
movzx ecx, byte [ecx + 0x1010d904]
jmp dword [ecx*4 + 0x1010d8ec]
mov dword [ebp + 0x4f5d8], 0x1011ee70
jmp case.0x10109455.7
mov dword [ebp + 0x4f5d8], 0x1011fc90
jmp case.0x10109455.7
mov eax, dword [esp + 0x10]
cdq
mov esi, eax
mov ecx, edx
movzx eax, word [ebp + 0x10]
sub esi, dword [ebp + 0x492f8]
cdq
sbb ecx, dword [ebp + 0x492fc]
push edx
push eax
push ecx
push esi
call fcn.101dd750
mov ebx, eax
mov edi, edx
movzx eax, word [ebp + 0x12]
mov ecx, ebx
mov esi, edi
cdq
shld esi, ecx, 1
add ecx, ecx
add ebx, ecx
adc edi, esi
shld edx, eax, 2
shl eax, 2
cmp edi, edx
jl 0x101094d4
jg 0x101094c5
cmp ebx, eax
jb 0x101094d4
mov dword [ebp + 0x4f5d8], 0x1011e430
jmp case.0x10109455.7
test byte [ebp + 0x49330], 1
je case.0x10109455.12
mov dword [ebp + 0x4f5d8], 0x1011e660
jmp case.0x10109455.7
or dword [ebp + 0x49330], 0x80
mov dword [ebp + 0x4f5d8], 0x1011d150
jmp case.0x10109455.7
mov cx, word [ebp + 0x49330]
mov eax, 0x404
and cx, 1
cwde
movsx ecx, cx
imul ecx, eax
mov eax, 0x4949
mov dword [ebp + 0x4f5d8], fcn.1011d650
or cx, ax
mov word [ebp + 0x492d8], cx
mov ecx, dword [ebp + 0x49330]
mov eax, ecx
shr eax, 4
shr ecx, 1
sub esi, eax
and ecx, 7
mov dword [ebp + 0x4931c], esi
sub dword [ebp + 0x4931c], ecx
mov dword [ebp + 0x49330], ecx
mov ebx, dword [esp + 0x3c]
mov eax, 1
mov esi, dword [esp + 0x18]
mov edx, eax
mov cl, byte [ebx + 0x1027202e]
shl edx, cl
mov ecx, dword [ebp + 0x4931c]
shl eax, cl
sub eax, edx
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x24788], eax
mov eax, dword [esp + 0x10]
add ebx, 0x30
sub edx, 0x30
sub esi, 0x30
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x18], esi
cmp ebx, 0x1380
jb 0x101092b0
jmp 0x1010961f
lea eax, [esp + 0x22]
cmp dword [eax], 0x50414548
jne 0x1010960b
cmp dword [eax + 4], 0x52444343
jne 0x1010960b
mov eax, edi
mov ecx, ebp
cdq
mov dword [ebp + 0x492f8], eax
mov eax, 0x63
mov word [ebp + 0x3aa], ax
mov word [ebp + 0x3a2], ax
mov eax, dword [esp + 0x10]
push 0
sub eax, edi
mov dword [ebp + 0x492fc], edx
push eax
push edi
call fcn.10118860
mov dword [ebp + 0x4f5d8], 0x10119c00
jmp 0x1010961f
lea eax, [esp + 0x1c]
mov ecx, ebp
sub esi, eax
push esi
call fcn.1011d940
test esi, esi
je 0x1010961f
push 0
mov ecx, ebp
call fcn.1012c7a0
test eax, eax
je 0x1010961f
mov ecx, ebp
call fcn.1012c840
lea ebx, [ebp + 0xf8]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0xb8]
xor edi, edi
cmp dword [esp + 0x14], edi
cmove edi, ecx
cmp byte [eax], 0
mov dword [esp + 0x14], edi
jne 0x101097a8
push ecx
push 0
mov ecx, ebp
call fcn.101209e0
cmp byte [ebp + 0xb8], 0
lea eax, [ebp + 0xb8]
jne 0x101097a8
push 0
mov ecx, ebp
call fcn.10120ae0
mov ecx, dword [ebp + 0x49280]
push 2
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 2
push 0x10273464
push ebx
mov esi, eax
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x101096b7
push 5
push str.RP_OV
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010979e
cmp esi, 0x61b800
jl 0x1010979e
mov ecx, dword [ebp + 0x49280]
push 2
push 0xffffffffffffffff
push 0xff9e4800
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jne 0x1010979e
mov ecx, dword [ebp + 0x49280]
lea edx, [esp + 0x1c]
push 0x20
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x1010979e
mov ecx, str.BRCMn
lea eax, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109724
test dl, dl
je 0x10109720
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109724
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109704
xor eax, eax
jmp 0x10109729
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010979e
movq xmm0, qword [str.OmniVision]
mov ecx, dword [ebp + 0x49280]
movq qword [ebp + 0xb8], xmm0
movzx eax, word [0x10265928]
mov word [ebp + 0xc0], ax
mov al, byte [0x1026592a]
mov byte [ebp + 0xc2], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
add eax, 0x7fe0
mov dword [ebp + 0x4f5d8], 0x1011e1c0
mov dword [ebp + 0x492f8], eax
movzx eax, word [ebp + 0x12]
adc edx, 0
mov word [ebp + 0x16], ax
mov eax, 0xa33
mov dword [ebp + 0x492fc], edx
mov word [ebp + 0x12], ax
mov dword [ebp + 0x188], 0x16161616
jmp 0x101097a8
mov dword [ebp + 0x178], 0
xor esi, esi
lea edi, [ebp + 0xb8]
push dword [esi + 0x103bfec0]
push edi
call fcn.1012f200
add esp, 8
test eax, eax
je 0x101097dd
mov ecx, dword [esi + 0x103bfec0]
mov edx, edi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x101097d0
add esi, 4
cmp esi, 0x54
jb 0x101097b0
mov edi, dword [esp + 0x14]
lea esi, [ebp + 0xb8]
mov ecx, 0x10267c24
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109816
test dl, dl
je 0x10109812
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109816
add eax, 2
add ecx, 2
test dl, dl
jne 0x101097f6
xor eax, eax
jmp 0x1010981b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010984f
mov ecx, str.Leica
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109846
test dl, dl
je 0x10109842
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109846
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109826
xor eax, eax
jmp 0x1010984b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109876
push str._DIGITAL_CAMERA
push ebx
call fcn.1012f200
add esp, 8
test eax, eax
jne 0x10109873
push str.FILE_VERSION
push ebx
call fcn.101df510
add esp, 8
test eax, eax
je 0x10109876
mov byte [eax], 0
push 6
push str.PENTAX
push ebx
call fcn.101f6843
add esp, 0xc
test eax, eax
jne 0x101098a3
mov eax, dword [str.Pentax]
mov dword [esi], eax
mov ax, word [0x10395f7c]
mov word [esi + 4], ax
mov al, byte [0x10395f7e]
mov byte [esi + 6], al
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101098a8
sub ecx, edx
lea eax, [ebp + 0xb7]
add eax, ecx
cmp byte [eax], 0x20
jne 0x101098cb
nop
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x101098c0
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101098d0
sub ecx, edx
lea eax, [ebp + 0xf7]
add eax, ecx
cmp byte [eax], 0x20
jne 0x101098f1
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x101098e6
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101098f4
sub esi, ecx
lea eax, [ebp + 0xb8]
push esi
push eax
push ebx
call fcn.101f6843
add esp, 0xc
mov ecx, 0x40
test eax, eax
jne 0x10109938
mov al, byte [esi + ebp + 0xf8]
inc esi
cmp al, 0x20
jne 0x10109938
sub ecx, esi
lea eax, [ebp + 0xf8]
push ecx
add eax, esi
push eax
push ebx
call fcn.101ddf20
add esp, 0xc
push 8
push str.FinePix
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10109963
lea ecx, [ebp + 0x100]
mov edx, ebx
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10109956
push 0xf
push str.Digital_Camera
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010998e
lea ecx, [ebp + 0x107]
mov edx, ebx
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10109981
mov byte [ebp + 0x24927], 0
mov byte [ebp + 0x137], 0
mov byte [ebp + 0xf7], 0
mov byte [ebp + 0x24d63], 0
mov byte [ebp + 0x24d23], 0
cmp dword [ebp + 0x178], 0
je 0x1010d819
cmp word [ebp + 0x14], 0
jne 0x101099cd
mov ax, word [ebp + 0x10]
mov word [ebp + 0x14], ax
cmp word [ebp + 0x16], 0
jne 0x101099dc
mov ax, word [ebp + 0x12]
mov word [ebp + 0x16], ax
mov eax, 0xa40
cmp word [ebp + 0x14], ax
jne 0x101099f9
mov eax, 0xf60
cmp word [ebp + 0x16], ax
jne 0x101099f9
mov dword [ebp + 0x14], 0xf380a38
mov eax, 0xc40
cmp word [ebp + 0x14], ax
jne 0x10109a20
mov eax, 0x1300
cmp word [ebp + 0x16], ax
jne 0x10109a20
mov dword [ebp + 0x14], 0x12500c34
mov dword [ebp + 0x188], 0x16161616
mov eax, 0x1100
cmp word [ebp + 0x16], ax
jne 0x10109a9e
mov ecx, 0x102734b4
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109a52
test dl, dl
je 0x10109a4e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109a52
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109a32
xor eax, eax
jmp 0x10109a57
sbb eax, eax
or eax, 1
test eax, eax
je 0x10109a8b
mov ecx, 0x102734b8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109a82
test dl, dl
je 0x10109a7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109a82
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109a62
xor eax, eax
jmp 0x10109a87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109a9e
mov eax, 0x10d5
mov dword [ebp + 0x188], 0x16161616
mov word [ebp + 0x16], ax
mov eax, 0x1360
mov esi, 0xa
cmp word [ebp + 0x16], ax
jb 0x10109ad9
push 3
push 0x102734bc
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x10109ad9
mov eax, 0x1356
mov word [ebp + 0x1a], si
mov word [ebp + 0x16], ax
mov dword [ebp + 0x188], 0x16161616
mov eax, 0x1280
mov esi, 2
cmp word [ebp + 0x16], ax
jne 0x10109b2d
mov ecx, 0x102734c0
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109b0f
test dl, dl
je 0x10109b0b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109b0f
add eax, 2
add ecx, esi
test dl, dl
jne 0x10109af0
xor eax, eax
jmp 0x10109b14
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109b2d
mov dword [ebp + 0x14], 0x124c0c32
mov dword [ebp + 0x188], 0x16161616
mov word [ebp + 0x18], si
mov eax, 0x17c0
mov esi, 4
cmp word [ebp + 0x16], ax
jne 0x10109b7a
mov ecx, 0x102734c4
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109b64
test dl, dl
je 0x10109b60
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109b64
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109b44
xor eax, eax
jmp 0x10109b69
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109b7a
mov eax, 0x1798
mov word [ebp + 0x1a], si
mov word [ebp + 0x16], ax
mov eax, 0x1d00
cmp word [ebp + 0x16], ax
jne 0x10109bd1
mov ecx, str.645D
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109bb0
test dl, dl
je 0x10109bac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109bb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109b90
xor eax, eax
jmp 0x10109bb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109bd1
mov dword [ebp + 0x14], 0x1ca0157e
mov dword [ebp + 0x188], 0x61616161
mov dword [ebp + 0x18], 0x30001d
mov eax, 0xbc6
mov ecx, 0x1000
cmp word [ebp + 0x14], ax
jne 0x10109bf0
cmp word [ebp + 0x16], cx
jne 0x10109bf0
mov eax, 0xfae
mov word [ebp + 0x16], ax
cmp dword [ebp + 0x17c], 0
je 0x10109d62
cmp dword [ebp + 0x188], 0xffffffff
jne 0x10109c10
mov dword [ebp + 0x188], 0
cmp dword [ebp + 0x188], 0
mov eax, dword [ebp + 0x49318]
je 0x10109c27
mov dword [ebp + 0x178], eax
jmp 0x10109c2d
mov dword [ebp + 0x184], eax
mov eax, dword [ebp + 0x49320]
cmp eax, 7
ja 0x10109c57
je 0x10109c4b
cmp eax, 1
ja 0x10109c5e
mov dword [ebp + 0x4f5d8], 0x1011aa60
jmp 0x10109c74
mov dword [ebp + 0x4f5d8], 0x1011a8b0
jmp 0x10109c74
cmp eax, 0x884c
je 0x10109c6a
mov dword [ebp + 0x4f5d8], 0
jmp 0x10109c74
mov dword [ebp + 0x4f5d8], 0x1011ab90
lea edi, [ebp + 0xb8]
mov ecx, str.Canon
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109ca1
test dl, dl
je 0x10109c9d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109ca1
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109c81
xor eax, eax
jmp 0x10109ca6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109cfd
mov esi, dword [ebp + 0x492cc]
test esi, esi
je 0x10109cfd
xor edx, edx
xor ecx, ecx
nop dword [eax + eax]
movzx eax, word [ecx + 0x10271798]
sub eax, 0x80000000
cmp esi, eax
je 0x10109cde
add ecx, 0x16
inc edx
cmp ecx, 0x39c
jb 0x10109cc0
jmp 0x10109cfd
imul eax, edx, 0x16
mov edx, ebx
lea ecx, [eax + str.EOS_1D]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10109cf0
push str.Sony
push edi
call fcn.101f6761
add esp, 8
test eax, eax
jne 0x1010b3d6
mov esi, dword [ebp + 0x492cc]
test esi, esi
je 0x1010b3d6
xor edx, edx
xor ecx, ecx
movzx eax, word [ecx + 0x10271b38]
cmp esi, eax
je 0x10109d41
add ecx, 0x16
inc edx
cmp ecx, 0x4e6
jb 0x10109d25
jmp 0x1010b3d6
imul eax, edx, 0x16
mov edx, ebx
lea ecx, [eax + str.DSC_R1]
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10109d50
jmp 0x1010b3d6
mov ecx, str.Canon
lea eax, [ebp + 0xb8]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109d90
test dl, dl
je 0x10109d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109d70
xor eax, eax
jmp 0x10109d95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109e8c
test edi, edi
jne 0x10109e8c
cmp dword [ebp + 0x4931c], 0xf
je 0x10109e8c
cmp dword [ebp + 0x4f5d8], edi
jne 0x10109dc4
mov dword [ebp + 0x4f5d8], 0x10119f20
xor edx, edx
nop word [eax + eax]
movzx edi, word [ebp + 0x12]
cmp di, word [edx + 0x10271428]
jne 0x10109e64
movzx esi, word [ebp + 0x10]
cmp si, word [edx + 0x1027142a]
jne 0x10109e64
movzx eax, word [edx + 0x1027142c]
movzx ecx, word [edx + 0x1027142e]
sub di, word [edx + 0x10271430]
sub si, word [edx + 0x10271432]
sub di, ax
mov word [ebp + 0x1a], ax
sub si, cx
movzx eax, word [edx + 0x10271434]
mov word [ebp + 0x18], cx
mov word [ebp + 0x16], di
mov word [ebp + 0x14], si
mov dword [ebp + 0x38], eax
movzx eax, word [edx + 0x10271436]
neg eax
mov dword [ebp + 0x40], eax
movzx eax, word [edx + 0x10271438]
mov dword [ebp + 0x48], eax
movzx eax, word [edx + 0x1027143a]
neg eax
mov dword [ebp + 0x50], eax
movzx eax, word [edx + 0x1027143c]
test ax, ax
je 0x10109e64
imul eax, eax, 0x1010101
mov dword [ebp + 0x188], eax
add edx, 0x16
cmp edx, 0x370
jb 0x10109dd0
mov eax, dword [ebp + 0x492cc]
or eax, 0x20000
cmp eax, 0x2720000
jne 0x10109e8c
mov dword [ebp + 0x18], 0x80010
lea edi, [ebp + 0xb8]
mov ecx, str.Canon
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109ec0
test dl, dl
je 0x10109ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109ec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109ea0
xor eax, eax
jmp 0x10109ec5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109f27
cmp dword [ebp + 0x492cc], eax
je 0x10109f27
mov esi, ebx
mov edi, str.EOS_1D
sub esi, edi
lea ebx, [eax + 0x2a]
nop dword [eax]
movzx eax, word [edi - 2]
sub eax, 0x80000000
cmp dword [ebp + 0x492cc], eax
jne 0x10109f10
mov eax, dword [ebp]
mov ecx, ebp
push 0
push edi
push str.Canon
call dword [eax + 0x14]
mov ecx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x10109f03
sub esi, 0x16
add edi, 0x16
sub ebx, 1
jne 0x10109ee0
lea ebx, [ebp + 0xf8]
lea edi, [ebp + 0xb8]
push str.Sony
push edi
call fcn.101f6761
add esp, 8
test eax, eax
jne 0x10109f8e
cmp dword [ebp + 0x492cc], eax
je 0x10109f8e
mov esi, ebx
mov edi, str.DSC_R1
sub esi, edi
lea ebx, [eax + 0x39]
nop dword [eax]
movzx eax, word [edi - 2]
cmp dword [ebp + 0x492cc], eax
jne 0x10109f7d
mov eax, dword [ebp]
mov ecx, ebp
push 0
push edi
push str.Sony
call dword [eax + 0x14]
mov ecx, edi
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x10109f70
sub esi, 0x16
add edi, 0x16
sub ebx, 1
jne 0x10109f50
lea edi, [ebp + 0xb8]
mov ecx, str.Nikon
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10109fb5
test dl, dl
je 0x10109fb1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10109fb5
add eax, 2
add ecx, 2
test dl, dl
jne 0x10109f95
xor eax, eax
jmp 0x10109fba
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10109fff
cmp dword [ebp + 0x4f5d8], eax
jne 0x10109fd0
mov dword [ebp + 0x4f5d8], 0x1011d150
cmp byte [ebp + 0xf8], 0x45
lea ebx, [ebp + 0xf8]
jne 0x1010a005
mov eax, dword [ebp + 0x492f8]
or eax, dword [ebp + 0x492fc]
mov eax, 6
je 0x10109ff7
mov eax, 2
or dword [ebp + 0x49330], eax
jmp 0x1010a005
lea ebx, [ebp + 0xf8]
mov ecx, str.KAI_0340
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a030
test dl, dl
je 0x1010a02c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a030
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a010
xor eax, eax
jmp 0x1010a035
sbb eax, eax
or eax, 1
mov esi, 0x1e0
test eax, eax
jne 0x1010a089
push 0x1400
push 0xf00
push 0x10
push 0x10
mov ecx, ebp
call fcn.1011d430
movss xmm0, dword [0x10273dac]
fstp dword [esp + 0x18]
comiss xmm0, dword [esp + 0x18]
jbe 0x1010a089
xor eax, eax
mov word [ebp + 0x14], si
mov dword [ebp + 0x188], 0
mov word [ebp + 0x18], ax
mov eax, dword [str.C603]
mov dword [ebx], eax
mov al, byte [0x102734e0]
mov byte [ebx + 4], al
cmp dword [ebp + 0x180], 0
je 0x1010a0d0
movzx edx, word [ebp + 0x14]
movzx esi, word [ebp + 0x16]
mov ecx, edx
add ecx, ecx
cmp ecx, esi
jae 0x1010a0af
movsd xmm0, qword [0x1039c168]
movsd qword [ebp + 0x28], xmm0
cmp dx, si
jbe 0x1010a0c1
movsd xmm0, qword [0x1039c288]
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x188], 0
jmp 0x1010b300
mov ecx, str.Canon
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a0f7
test dl, dl
je 0x1010a0f3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a0f7
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a0d7
xor eax, eax
jmp 0x1010a0fc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a183
cmp dword [ebp + 0x4931c], 0xf
jne 0x1010a183
movzx ecx, word [ebp + 0x16]
mov eax, ecx
cmp eax, 0xd10
je 0x1010a123
cmp eax, 0xf20
je 0x1010a12a
jmp 0x1010a133
lea eax, [ecx - 0x42]
mov word [ebp + 0x16], ax
mov eax, 0xfffa
add word [ebp + 0x16], ax
movzx edx, word [ebp + 0x16]
movzx eax, word [ebp + 0x14]
cmp ax, dx
jbe 0x1010a156
add eax, edx
movzx ecx, ax
mov eax, ecx
sub eax, edx
movzx eax, ax
sub ecx, eax
mov word [ebp + 0x16], ax
mov word [ebp + 0x14], cx
mov dword [ebp + 0x188], 0
mov dword [ebp + 0x184], 3
mov dword [ebp + 0x49318], 3
mov dword [ebp + 0x4f5d8], 0x1011a160
jmp 0x1010b300
mov ecx, str.PowerShot_600
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a1b0
test dl, dl
je 0x1010a1ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a1b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a190
xor eax, eax
jmp 0x1010a1b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a1ec
mov eax, 0x380
mov dword [ebp + 0x14], 0x3560265
mov word [ebp + 0x12], ax
mov dword [ebp + 0x184], 4
mov dword [ebp + 0x188], 0xe1e4e1e4
mov dword [ebp + 0x4f5d8], 0x10118590
jmp 0x1010b300
mov ecx, str.PowerShot_A5
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a213
test dl, dl
je 0x1010a20f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a213
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a1f3
xor eax, eax
jmp 0x1010a218
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d533
mov ecx, str.PowerShot_A5_Zoom
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a247
test dl, dl
je 0x1010a243
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a247
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a227
xor eax, eax
jmp 0x1010a24c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d533
mov ecx, str.PowerShot_A50
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a280
test dl, dl
je 0x1010a27c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a280
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a260
xor eax, eax
jmp 0x1010a285
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a2a4
mov dword [ebp + 0x14], 0x50a03c8
mov eax, 0x528
mov dword [ebp + 0x188], 0x1b4e4b1e
jmp 0x1010d556
mov ecx, str.PowerShot_Pro70
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a2d0
test dl, dl
je 0x1010a2cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a2d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a2b0
xor eax, eax
jmp 0x1010a2d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a2ef
mov dword [ebp + 0x14], 0x6100400
mov dword [ebp + 0x188], 0x1e4b4e1b
jmp 0x1010d55a
mov ecx, str.PowerShot_Pro90_IS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a316
test dl, dl
je 0x1010a312
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a316
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a2f6
xor eax, eax
jmp 0x1010a31b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d51a
mov ecx, str.PowerShot_G1
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a350
test dl, dl
je 0x1010a34c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a350
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a330
xor eax, eax
jmp 0x1010a355
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d51a
mov ecx, str.PowerShot_A610
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a384
test dl, dl
je 0x1010a380
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a384
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a364
xor eax, eax
jmp 0x1010a389
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a3b9
mov ecx, ebp
call fcn.10118810
test eax, eax
je 0x1010b300
mov eax, dword [str.S2_IS]
mov dword [ebp + 0x102], eax
mov ax, word [0x10273570]
mov word [ebp + 0x106], ax
jmp 0x1010b300
mov ecx, str.PowerShot_SX220_HS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a3e0
test dl, dl
je 0x1010a3dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a3e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a3c0
xor eax, eax
jmp 0x1010a3e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a3fc
mov dword [ebp + 0x50], 0xfffffffc
mov dword [ebp + 0x18], 0x5c0010
jmp 0x1010b300
mov ecx, str.PowerShot_S120
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a423
test dl, dl
je 0x1010a41f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a423
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a403
xor eax, eax
jmp 0x1010a428
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a468
mov dword [ebp + 0x14], 0xfb60bc8
mov dword [ebp + 0x18], 0x78001f
mov dword [ebp + 0x10], 0x10600bf6
mov dword [ebp + 0x34], 0x1f
movzx ecx, word [ebp + 0x18]
movzx eax, word [ebp + 0x14]
add ecx, eax
mov dword [ebp + 0x38], 0x17
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], 0x48
jmp 0x1010b300
mov ecx, str.PowerShot_G16
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a490
test dl, dl
je 0x1010a48c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a490
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a470
xor eax, eax
jmp 0x1010a495
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a4d5
mov dword [ebp + 0x34], eax
mov ecx, 0xa8
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], 0x50
mov dword [ebp + 0x40], 0x10
movzx eax, word [ebp + 0x12]
sub ax, cx
mov dword [ebp + 0x18], 0x78001d
mov word [ebp + 0x16], ax
movzx eax, word [ebp + 0x10]
sub ax, 0x2b
mov word [ebp + 0x14], ax
jmp 0x1010b300
mov ecx, str.PowerShot_SX50_HS
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a500
test dl, dl
je 0x1010a4fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a500
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a4e0
xor eax, eax
jmp 0x1010a505
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a517
mov eax, 0x11
mov word [ebp + 0x18], ax
jmp 0x1010b300
mov ecx, str.EOS_D2000C
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a540
test dl, dl
je 0x1010a53c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a540
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a520
xor eax, eax
jmp 0x1010a545
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a565
mov dword [ebp + 0x188], 0x61616161
movzx eax, word [ebp + 0x8f8]
mov dword [ebp + 0x24780], eax
jmp 0x1010b300
mov ecx, 0x102735c8
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a590
test dl, dl
je 0x1010a58c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a590
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a570
xor eax, eax
jmp 0x1010a595
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a5dc
movss xmm0, dword [ebp + 0x2480c]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10273cb0]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x2480c], xmm0
movss xmm0, dword [ebp + 0x24814]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10273cc0]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24814], xmm0
jmp 0x1010b300
mov ecx, 0x102735cc
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a603
test dl, dl
je 0x1010a5ff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a603
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a5e3
xor eax, eax
jmp 0x1010a608
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a627
movsd xmm0, qword [0x1039c168]
mov eax, 0xfffc
add word [ebp + 0x16], ax
movsd qword [ebp + 0x28], xmm0
jmp 0x1010b300
mov ecx, str.D40X
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a650
test dl, dl
je 0x1010a64c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a650
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a630
xor eax, eax
jmp 0x1010a655
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d503
mov ecx, 0x102735d8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a684
test dl, dl
je 0x1010a680
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a684
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a664
xor eax, eax
jmp 0x1010a689
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d503
mov ecx, 0x102735dc
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a6b8
test dl, dl
je 0x1010a6b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a6b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a698
xor eax, eax
jmp 0x1010a6bd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d503
mov ecx, str.D3000
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a6f0
test dl, dl
je 0x1010a6ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a6f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a6d0
xor eax, eax
jmp 0x1010a6f5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d503
mov ecx, 0x102735e8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a724
test dl, dl
je 0x1010a720
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a724
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a704
xor eax, eax
jmp 0x1010a729
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4ec
mov ecx, 0x102735ec
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a758
test dl, dl
je 0x1010a754
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a758
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a738
xor eax, eax
jmp 0x1010a75d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4ec
mov ecx, str.D700
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a790
test dl, dl
je 0x1010a78c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a790
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a770
xor eax, eax
jmp 0x1010a795
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4ec
mov ecx, str.D3100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a7c4
test dl, dl
je 0x1010a7c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a7c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a7a4
xor eax, eax
jmp 0x1010a7c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010a7e4
mov eax, 0xffe4
add word [ebp + 0x16], ax
mov eax, 6
mov word [ebp + 0x1a], ax
jmp 0x1010b300
mov ecx, str.D5000
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a810
test dl, dl
je 0x1010a80c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a810
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a7f0
xor eax, eax
jmp 0x1010a815
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4de
mov ecx, 0x10273608
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a844
test dl, dl
je 0x1010a840
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a844
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a824
xor eax, eax
jmp 0x1010a849
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4de
mov ecx, str.D5100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a878
test dl, dl
je 0x1010a874
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a878
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a858
xor eax, eax
jmp 0x1010a87d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4d0
mov ecx, str.D7000
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a8b0
test dl, dl
je 0x1010a8ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a8b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a890
xor eax, eax
jmp 0x1010a8b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4d0
mov ecx, str.COOLPIX_A
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a8e4
test dl, dl
je 0x1010a8e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a8e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a8c4
xor eax, eax
jmp 0x1010a8e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4d0
mov ecx, str.D3200
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a918
test dl, dl
je 0x1010a914
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a918
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a8f8
xor eax, eax
jmp 0x1010a91d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4c2
push 2
push 0x10273630
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1010d4c2
push 4
push str.D800
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1010d4c2
mov ecx, 0x1027363c
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a980
test dl, dl
je 0x1010a97c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a980
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a960
xor eax, eax
jmp 0x1010a985
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4ab
mov ecx, 0x10273640
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010a9b4
test dl, dl
je 0x1010a9b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010a9b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010a994
xor eax, eax
jmp 0x1010a9b9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010d4ab
push 3
push 0x10273644
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1010d49d
push 3
push 0x10396834
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1010d49d
push 3
push 0x10273648
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1010d49d
mov ecx, str.D100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010aa30
test dl, dl
je 0x1010aa2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010aa30
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010aa10
xor eax, eax
jmp 0x1010aa35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010aa5c
cmp dword [ebp + 0x49330], eax
je 0x1010b300
movzx eax, word [ebp + 0x16]
add eax, 3
mov word [ebp + 0x16], ax
add eax, 3
mov word [ebp + 0x12], ax
jmp 0x1010b300
mov ecx, str.D200
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010aa83
test dl, dl
je 0x1010aa7f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010aa83
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010aa63
xor eax, eax
jmp 0x1010aa88
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010aaad
mov eax, 1
mov dword [ebp + 0x188], 0x94949494
mov word [ebp + 0x1a], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
jmp 0x1010b300
push 3
push 0x1027365c
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010aad8
mov eax, 6
mov word [ebp + 0x1a], ax
mov eax, 0xfff2
add word [ebp + 0x16], ax
jmp 0x1010b300
push 3
push 0x10273660
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010ab14
movzx eax, word [ebp + 0x16]
mov ecx, 0xcc0
cmp ax, cx
jne 0x1010ab08
mov eax, 0xca0
mov word [ebp + 0x16], ax
jmp 0x1010b300
add eax, 0xfffffff8
mov word [ebp + 0x16], ax
jmp 0x1010b300
push 4
push str.D300
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010ab36
mov eax, 0xffe0
add word [ebp + 0x16], ax
jmp 0x1010b300
mov ecx, str.Nikon
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010ab60
test dl, dl
je 0x1010ab5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010ab60
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010ab40
xor eax, eax
jmp 0x1010ab65
sbb eax, eax
or eax, 1
mov esi, 0xfc0
test eax, eax
jne 0x1010ac78
cmp word [ebp + 0x12], si
jne 0x1010ac78
mov ecx, str.COOLPIX_P7700
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010aba3
test dl, dl
je 0x1010ab9f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010aba3
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010ab83
xor eax, eax
jmp 0x1010aba8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010abd9
mov eax, dword [ebp]
mov ecx, ebp
push 0
push str.COOLPIX_P7700
push str.Nikon
call dword [eax + 0x14]
mov dword [ebp + 0x24788], 0xffe0
mov dword [ebp + 0x49330], 0
jmp 0x1010b300
mov ecx, str.COOLPIX_P7800
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010ac00
test dl, dl
je 0x1010abfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010ac00
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010abe0
xor eax, eax
jmp 0x1010ac05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010ac36
mov eax, dword [ebp]
mov ecx, ebp
push 0
push str.COOLPIX_P7800
push str.Nikon
call dword [eax + 0x14]
mov dword [ebp + 0x24788], 0xffe0
mov dword [ebp + 0x49330], 0
jmp 0x1010b300
mov ecx, str.COOLPIX_P340
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010ac60
test dl, dl
je 0x1010ac5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010ac60
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010ac40
xor eax, eax
jmp 0x1010ac65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010b300
mov dword [ebp + 0x49330], eax
jmp 0x1010b300
push 9
push str.COOLPIX_P
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010acd7
cmp word [ebp + 0x12], si
je 0x1010acd7
mov dword [ebp + 0x49330], 0x18
mov dword [ebp + 0x188], 0x94949494
cmp byte [ebp + 0x101], 0x37
jne 0x1010b300
movss xmm0, dword [ebp + 0x24a58]
comiss xmm0, dword [0x10273dc0]
jb 0x1010b300
mov dword [ebp + 0x24780], 0xff
jmp 0x1010b300
push 2
push 0x102736a8
push ebx
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1010acf9
mov eax, 0xfffe
add word [ebp + 0x14], ax
jmp 0x1010b300
mov eax, dword [esp + 0x14]
cmp eax, 0x182004
jne 0x1010ad30
push 3
mov ecx, ebp
call fcn.10122e00
mov dword [ebp + 0x2481c], 0x3f9ab021
mov dword [ebp + 0x24820], 0x3f8c1206
mov dword [ebp + 0x24828], 0x3f8e1e4f
jmp 0x1010b300
cmp eax, 0x308040
jne 0x1010ad6c
movss xmm0, dword [ebp + 0x2480c]
mulss xmm0, dword [0x1039c448]
movss dword [ebp + 0x2480c], xmm0
movss xmm0, dword [ebp + 0x24814]
mulss xmm0, dword [0x1039c448]
movss dword [ebp + 0x24814], xmm0
jmp 0x1010b300
cmp eax, 0x48d000
jne 0x1010ae09
mov eax, dword [ebp + 0x24a68]
or eax, dword [ebp + 0x24a6c]
jne 0x1010ad9f
mov ecx, ebp
call fcn.1011b4e0
test eax, eax
je 0x1010ad9f
mov eax, dword [str.E995]
mov dword [ebx], eax
mov al, byte [0x102736b0]
mov byte [ebx + 4], al
mov ecx, str.E995
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010adc6
test dl, dl
je 0x1010adc2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010adc6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1010ada6
xor eax, eax
jmp 0x1010adcb
sbb eax, eax
or eax, 1
test eax, eax
je 0x1010b300
push 3
mov ecx, ebp
mov dword [ebp + 0x188], 0xb4b4b4b4
call fcn.10122e00
mov dword [ebp + 0x2481c], 0x3f991687
mov dword [ebp + 0x24820], 0x3f9f7cee
mov dword [ebp + 0x24824], 0x3f824dd3
jmp 0x1010b300
cmp eax, 0x2ce000
jne 0x1010ae9e
mov eax, dword [ebp + 0x24a68]
or eax, dword [ebp + 0x24a6c]
jne 0x1010ae3e
mov ecx, ebp
call fcn.1011b570
test eax, eax
jne 0x1010ae3e
mov eax, dword [str.E2500]
mov dword [ebx], eax
mov ax, word [0x102736b8]
mov word [ebx + 4], ax
mov ecx, str.E2500
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010ae65
test dl, dl
je 0x1010ae61
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1010ae65
xor eax, eax
jmp 0x1010ae6a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010b300
mov eax, 0xfffe
mov dword [ebp + 0x49330], 6
add word [ebp + 0x14], ax
mov dword [ebp + 0x184], 4
mov dword [ebp + 0x188], 0x4b4b4b4b
jmp 0x1010b300
cmp eax, 0x48e000
jne 0x1010afae
mov eax, dword [ebp + 0x24a68]
or eax, dword [ebp + 0x24a6c]
jne 0x1010aebe
mov ecx, ebp
call fcn.1011b600
cmp byte [ebx], 0x45
jne 0x1010aee3
lea eax, [ebp + 0xf9]
push eax
call fcn.101f2c16
add esp, 4
cmp eax, 0xe74
jge 0x1010aee3
mov ecx, str.Optio_33WR
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010af10
cmp eax, 0x599000
jne 0x1010b00e
mov eax, dword [ebp + 0x24a68]
or eax, dword [ebp + 0x24a6c]
jne 0x1010aff3
mov ecx, ebp
call fcn.1011b6a0
test eax, eax
je 0x1010aff3
cmp byte [edi], 0x4d
mov eax, 6
mov ecx, 0x1e
cmove eax, ecx
mov dword [ebp + 0x49330], eax
jmp 0x1010b300
cmp eax, 0x600000
jne 0x1010b07b
mov ecx, dword [ebp + 0x49280]
push 0
push 0
push 0x300000
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0x10000
mov ecx, ebp
call fcn.1012e040
mov ecx, 0x4d4d
mov word [ebp + 0x492d8], ax
cmp ax, cx
jne 0x1010b300
mov ecx, str.Fujifilm
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1010b0a2
cmp dword [ebp + 0x4f5d8], 0
je 0x1010d855
movzx edx, word [ebp + 0x14]
cmp edx, 0x16
jb 0x1010d855
movzx ecx, word [ebp + 0x16]
cmp ecx, 0x16
jb 0x1010d855
cmp dword [ebp + 0x4931c], 0x10
ja 0x1010d855
cmp dword [ebp + 0x49318], 4
ja 0x1010d855
mov eax, dword [ebp + 0x184]
cmp eax, 4
jg 0x1010d855
cmp eax, 1
jl 0x1010d855
cmp byte [ebx], 0
jne 0x1010b36e
push edx
push ecx
push str._dx_d
push ebx
call fcn.10006ef0
add esp, 0x10
cmp dword [ebp + 0x188], 0xffffffff
jne 0x1010b381
mov dword [ebp + 0x188], 0x94949494
mov esi, dword [ebp + 0x49298]
mov eax, esi
mov edx, dword [ebp + 0x4929c]
or eax, edx
je 0x1010b3d6
cmp word [ebp + 0x24d6e], 0
jne 0x1010b3d6
mov ecx, dword [ebp + 0x49280]
push 0
push edx
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
push 1
lea eax, [esp + 0x48]
mov ecx, ebp
push eax
call fcn.10119420
test eax, eax
je 0x1010b3d6
movzx eax, word [esp + 0x4c]
mov word [ebp + 0x24d6c], ax
movzx eax, word [esp + 0x48]
mov word [ebp + 0x24d6e], ax
cmp dword [ebp + 0x684], 0
jne 0x1010d587
cmp dword [ebp + 0x17c], 0
jne 0x1010d587
xor eax, eax
jmp 0x1010d58c
mov eax, 0xffff
add word [ebp + 0x16], ax
jmp 0x1010b300
mov eax, 0xffcc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x1010b300
mov eax, 0xffd2
add word [ebp + 0x16], ax
jmp 0x1010b300
mov eax, 0xffd4
add word [ebp + 0x16], ax
jmp 0x1010b300
mov eax, 0xffd6
add word [ebp + 0x16], ax
jmp 0x1010b300
mov eax, 0xfffc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x1010b300
mov eax, 0xfffd
add word [ebp + 0x14], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
jmp 0x1010b300
mov dword [ebp + 0x184], 4
mov dword [ebp + 0x188], 0xb4b4b4b4
jmp 0x1010b300
movsd xmm0, qword [0x10273cf0]
mov eax, 0x3e0
mov dword [ebp + 0x14], 0x3c00305
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x188], 0x1e4e1e4e
mov word [ebp + 0x12], ax
mov dword [ebp + 0x184], 4
mov dword [ebp + 0x4931c], 0xa
mov dword [ebp + 0x4f5d8], 0x1011d150
mov dword [ebp + 0x49330], 0x28
jmp 0x1010b300
mov eax, 1
test dword [ebp + 0x688], eax
je 0x1010d5d9
movss xmm0, dword [ebp + 0x2482c]
comiss xmm0, dword [0x1039bf90]
jbe 0x1010d5d9
movups xmm0, xmmword [ebp + 0x2482c]
movups xmmword [ebp + 0x2485c], xmm0
movups xmm0, xmmword [ebp + 0x2483c]
movups xmmword [ebp + 0x2486c], xmm0
movups xmm0, xmmword [ebp + 0x2484c]
movups xmmword [ebp + 0x2487c], xmm0
mov dword [ebp + 0x492b4], 0
cmp dword [ebp + 0x492b4], 0
je 0x1010d5e6
push 0
jmp 0x1010d601
movss xmm1, dword [ebp + 0x2488c]
movsd xmm0, qword [0x1039c038]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x1010d60b
push 1
mov eax, dword [ebp]
mov ecx, ebp
push ebx
push edi
call dword [eax + 0x14]
cmp dword [ebp + 0x4f5d8], 0x1011f3f0
jne 0x1010d634
cmp dword [ebp + 0x492b4], 0
je 0x1010d634
mov eax, dword [ebp]
mov ecx, ebp
push 0
push str.Quicktake
push str.Apple
call dword [eax + 0x14]
cmp word [ebp + 0x492be], 0
je 0x1010d698
movzx edx, word [ebp + 0x16]
xor eax, eax
cmp dword [ebp + 0x49314], eax
sete al
mov cx, ax
shr dx, cl
mov eax, edx
mov word [ebp + 0x492be], dx
not eax
test al, 1
je 0x1010d66c
mov dword [ebp + 0x188], 0x49494949
mov ax, word [ebp + 0x14]
mov cx, word [ebp + 0x49314]
movsd xmm0, qword [0x1039c208]
shr ax, cl
add ax, dx
movsd qword [ebp + 0x28], xmm0
movzx eax, ax
mov word [ebp + 0x16], ax
dec eax
mov word [ebp + 0x14], ax
jmp 0x1010d6bc
mov ax, word [ebp + 0x10]
cmp ax, word [ebp + 0x14]
jae 0x1010d6aa
mov ax, word [ebp + 0x14]
mov word [ebp + 0x10], ax
mov ax, word [ebp + 0x12]
cmp ax, word [ebp + 0x16]
jae 0x1010d6bc
mov ax, word [ebp + 0x16]
mov word [ebp + 0x12], ax
cmp dword [ebp + 0x4931c], 0
jne 0x1010d6cf
mov dword [ebp + 0x4931c], 0xc
cmp dword [ebp + 0x24788], 0
jne 0x1010d712
mov ecx, dword [ebp + 0x4931c]
mov eax, 1
shl eax, cl
dec eax
mov dword [ebp + 0x24788], eax
cmp eax, 0x10000
jae 0x1010d712
movzx eax, word [ebp + eax*2 + 0x768]
test ax, ax
je 0x1010d712
cmp dword [ebp + 0x4f5d8], 0x10121d40
jne 0x1010d712
mov dword [ebp + 0x24788], eax
mov eax, dword [ebp + 0x4f5d8]
test eax, eax
je 0x1010d745
cmp word [ebp + 0x14], 0x16
jb 0x1010d745
cmp word [ebp + 0x16], 0x16
jb 0x1010d745
cmp dword [ebp + 0x4931c], 0x10
ja 0x1010d745
cmp dword [ebp + 0x49318], 6
ja 0x1010d745
cmp dword [ebp + 0x184], 4
jle 0x1010d74f
mov dword [ebp + 0x178], 0
cmp eax, 0x1011bab0
jne 0x1010d76a
mov dword [ebp + 0x178], 0
or dword [ebp + 0x764], 0x800
mov eax, dword [ebp + 0x4f5d8]
cmp eax, 0x1011fbc0
je 0x1010d77e
cmp eax, 0x1011ab90
jne 0x1010d78f
mov dword [ebp + 0x178], 0
or dword [ebp + 0x764], 0x10
cmp byte [ebp + 0x1d4], 0
lea edx, [ebp + 0x1d4]
jne 0x1010d7c0
cmp dword [ebp + 0x184], 3
mov ecx, str.RGBG
mov eax, str.GMCY
cmovne ecx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x1010d7b2
cmp word [ebp + 0x10], 0
jne 0x1010d7cf
mov ax, word [ebp + 0x14]
mov word [ebp + 0x10], ax
cmp word [ebp + 0x12], 0
jne 0x1010d7de
mov ax, word [ebp + 0x16]
mov word [ebp + 0x12], ax
mov edx, dword [ebp + 0x188]
cmp edx, 0x3e7
jbe 0x1010d819
cmp dword [ebp + 0x184], 3
jne 0x1010d819
mov ecx, edx
mov eax, edx
shr ecx, 2
and eax, 0xe2222222
and ecx, 0x22222222
shl eax, 2
or ecx, eax
lea eax, [edx + edx]
and ecx, eax
or ecx, edx
mov dword [ebp + 0x188], ecx
cmp dword [ebp + 0x30], 0xffffffff
jne 0x1010d834
mov eax, dword [ebp + 0x492d4]
mov dword [ebp + 0x30], eax
cmp eax, 0xffffffff
jne 0x1010d834
mov dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x4f5bc]
test eax, eax
je 0x1010d87e
push 2
push 1
push 2
push dword [ebp + 0x4f5c0]
call eax
add esp, 0x10
test eax, eax
je 0x1010d87e
jmp 0x1010d889
mov dword [ebp + 0x178], 0
mov eax, dword [ebp + 0x4f5bc]
test eax, eax
je 0x1010d87e
push 2
push 1
push 2
push dword [ebp + 0x4f5c0]
call eax
add esp, 0x10
test eax, eax
jne 0x1010d8a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret
push 0x103aec5c
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 6
push eax
call fcn.101e00bb
push 0x103aec5c
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 6
push eax
call fcn.101e00bb
nop
and al, 0x89
adc byte [eax], dl
xor ecx, dword [ecx - 0x76bdeff0]
adc byte [eax], dl
dec esi
mov dword [eax], edx
adc byte [edx - 0x77], bl
adc byte [eax], dl
mov word [eax], dx
adc byte [edx - 119], dh
adc byte [eax], dl
jle 0x1010d85f
adc byte [eax], dl
mov cl, byte [ecx - 0x7669eff0]
adc byte [eax], dl
mov byte [0xae101089], al
mov dword [eax], edx
adc byte [edx + 0x5c101089], bh
xchg esp, eax
adc byte [eax], dl
imul edx, dword [eax + edx + 0x10947a10], 0x10
jmp 253815185