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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [0x1019c020]
xor eax, esp
mov dword [esp + 0x88], eax
xor eax, eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0x80
push eax
mov dword [esp + 0x24], edi
mov dword [edi + 0x65b0], 0xffffffff
mov dword [edi + 0x66c8], 0xffffffff
mov dword [edi + 0x66cc], 0xffffffff
mov word [edi + 0xe766], ax
mov dword [edi + 0x65e4], eax
mov word [edi + 0x66c2], ax
mov dword [edi + 0x66b0], eax
mov dword [edi + 0x66b8], eax
mov dword [edi + 0x66b4], eax
mov dword [edi + 0x65fc], eax
mov byte [edi + 0x6505], al
mov byte [edi + 0x64c5], al
mov byte [edi + 0x6485], al
mov byte [edi + 0x6545], al
mov byte [edi + 0x6285], al
mov byte [edi + 0x6280], al
mov dword [edi + 0x659c], eax
mov dword [edi + 0x6598], eax
mov dword [edi + 0x6594], eax
mov dword [edi + 0x6590], eax
mov dword [edi + 0x65b8], eax
lea eax, [edi + 0x662c]
push eax
call fcn.1012df50
add esp, 0xc
lea eax, [edi + 0x66e4]
push 0x80
push 0
push eax
call fcn.1012df50
movsd xmm0, qword [0x10192018]
lea ecx, [edi + 0xe784]
xor eax, eax
mov dword [edi + 0x2e7f4], 0x100c91f0
add esp, 0xc
mov dword [edi + 0x66c4], eax
mov dword [edi + 0x65d0], eax
xor edx, edx
mov dword [edi + 0x65c4], eax
mov dword [edi + 0x2e800], eax
mov dword [edi + 0x2e7fc], eax
mov dword [edi + 0x65f4], eax
mov dword [edi + 0x65f0], eax
mov dword [edi + 0x65d4], eax
mov dword [edi + 0x65c0], eax
mov dword [edi + 0x66ac], eax
mov dword [edi + 0x6618], eax
mov dword [edi + 0x6610], eax
mov dword [edi + 0x65ac], eax
mov dword [edi + 0x661c], eax
mov dword [edi + 0x65f8], eax
mov dword [edi + 0x65ec], eax
mov dword [edi + 0x65a8], eax
mov dword [edi + 0x65a0], eax
mov dword [edi + 0x65a4], eax
mov dword [edi + 0x660c], eax
mov dword [edi + 0x6620], eax
mov dword [edi + 0x65d8], eax
mov dword [edi + 0x6600], eax
mov dword [edi + 0x6608], 1
mov dword [edi + 0x6604], 1
mov dword [edi + 0x6614], 1
movsd qword [edi + 0x66d8], xmm0
mov dword [edi + 0x6628], 0x7fffffff
mov dword [edi + 0x6624], 0x7fffffff
nop dword [eax]
xor eax, eax
lea ecx, [ecx + 4]
cmp edx, 1
sete al
cmp edx, 3
movd xmm0, eax
sbb eax, eax
cvtdq2ps xmm0, xmm0
neg eax
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
jb 0x100c2a60
mov dword [edi + 0x66d0], 3
lea ecx, [edi + 0x6764]
mov dword [edi + 0x65f0], 0xc
xor eax, eax
nop dword [eax]
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp eax, 0x4000
jb 0x100c2b00
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push 2
push 1
push ecx
push dword [edi + 4]
mov word [esp + 0x20], 0xffff
mov eax, dword [eax]
call eax
mov ebx, 0x4949
add esp, 0x10
cmp word [edi + 0x6274], bx
jne 0x100c2b44
movzx ecx, byte [esp + 0x11]
movzx eax, byte [esp + 0x10]
jmp 0x100c2b4e
movzx ecx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
shl cx, 8
or cx, ax
mov dword [esp + 0x10], 0xffffffff
movzx eax, cx
lea ecx, [esp + 0x10]
push 4
mov word [edi + 0x6274], ax
mov eax, dword [edi]
push 1
push ecx
push dword [edi + 4]
mov eax, dword [eax]
call eax
add esp, 0x10
cmp word [edi + 0x6274], bx
jne 0x100c2ba5
movzx ebx, byte [esp + 0x13]
movzx eax, byte [esp + 0x12]
shl ebx, 8
or ebx, eax
movzx eax, byte [esp + 0x11]
shl ebx, 8
or ebx, eax
movzx eax, byte [esp + 0x10]
jmp 0x100c2bc3
movzx ebx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
shl ebx, 8
or ebx, eax
movzx eax, byte [esp + 0x12]
shl ebx, 8
or ebx, eax
movzx eax, byte [esp + 0x13]
shl ebx, 8
or ebx, eax
mov eax, dword [edi]
push 0
push 0
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
mov eax, dword [edi]
lea ecx, [esp + 0x80]
add esp, 0xc
mov eax, dword [eax]
push 0x20
push 1
push ecx
push dword [edi + 4]
call eax
mov eax, dword [edi]
push 2
push 0
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
mov eax, dword [edi]
add esp, 0x1c
push dword [edi + 4]
mov eax, dword [eax + 0x18]
call eax
add esp, 4
mov dword [esp + 0x10], eax
lea esi, [esp + 0x74]
nop dword [eax]
nop dword [eax + eax]
cmp dword [esi], 0x4d4d4d4d
mov ecx, 0x4d4d
je 0x100c2c3b
inc esi
lea eax, [esp + 0x90]
cmp esi, eax
jbe 0x100c2c20
jmp 0x100c2c43
test esi, esi
jne 0x100c326f
lea esi, [esp + 0x74]
cmp dword [esi], 0x49494949
je 0x100c2c5d
inc esi
lea eax, [esp + 0x90]
cmp esi, eax
jbe 0x100c2c47
jmp 0x100c2c65
test esi, esi
jne 0x100c326f
movzx eax, word [edi + 0x6274]
mov edx, 0x4949
cmp ax, dx
je 0x100c3200
cmp ax, cx
je 0x100c3200
lea eax, [esp + 0x74]
cmp dword [eax], 0xe1ffd8ff
jne 0x100c2cfe
lea eax, [esp + 0x7a]
cmp dword [eax], 0x66697845
jne 0x100c2cfe
mov eax, dword [edi]
push 0
push 4
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100a88b0
movzx ecx, ax
mov eax, dword [edi]
add ecx, 4
push 0
push ecx
push dword [edi + 4]
mov dword [edi + 0x65c0], ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [edi]
add esp, 0xc
push dword [edi + 4]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
cmp eax, 0xff
je 0x100c2cef
mov edx, 0xc
mov ecx, edi
call fcn.100bec70
mov dword [edi + 0x65c4], 0
jmp 0x100c328b
lea ecx, [esp + 0x8d]
cmp dword [ecx], 0x43455241
jne 0x100c2dd9
cmp word [ecx + 4], 0x594f
jne 0x100c2dd9
cmp byte [ecx + 6], 0x4b
jne 0x100c2dd9
mov eax, dword [str.Contax]
mov dword [edi + 0x6485], eax
movzx eax, word [0x1018d228]
mov word [edi + 0x6489], ax
mov al, byte [0x1018d22a]
mov byte [edi + 0x648b], al
movq xmm0, qword [str.N_Digital]
movq qword [edi + 0x64c5], xmm0
movzx eax, word [0x1018d234]
mov word [edi + 0x64cd], ax
mov eax, dword [edi]
push 0
push 0x21
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov edx, 1
mov ecx, edi
call fcn.100bbe70
mov eax, dword [edi]
push 0
push 0x3c
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.100a8910
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101923d0]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4 + 0xe774], xmm0
cmp esi, 4
jb 0x100c2da0
jmp 0x100c328b
mov ecx, 0x1018d238
lea eax, [esp + 0x74]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c2e02
test dl, dl
je 0x100c2dfe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c2e02
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c2de2
xor eax, eax
jmp 0x100c2e07
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c2e39
movq xmm0, qword [str.Logitech]
movq qword [edi + 0x6485], xmm0
mov al, byte [0x1018d244]
mov byte [edi + 0x648d], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [edi + 0x64c5], xmm0
jmp 0x100c328b
mov ecx, str.qktk
lea eax, [esp + 0x74]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c2e62
test dl, dl
je 0x100c2e5e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c2e62
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c2e42
xor eax, eax
jmp 0x100c2e67
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c2eb2
mov eax, dword [str.Apple]
mov dword [edi + 0x6485], eax
movzx eax, word [0x1018d264]
mov word [edi + 0x6489], ax
movq xmm0, qword [str.QuickTake_100]
movq qword [edi + 0x64c5], xmm0
mov eax, dword [0x1018d270]
mov dword [edi + 0x64cd], eax
movzx eax, word [0x1018d274]
mov word [edi + 0x64d1], ax
jmp 0x100c328b
mov ecx, str.qktn
lea eax, [esp + 0x74]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c2ee0
test dl, dl
je 0x100c2edc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c2ee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c2ec0
xor eax, eax
jmp 0x100c2ee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c2f30
mov eax, dword [str.Apple]
mov dword [edi + 0x6485], eax
movzx eax, word [0x1018d264]
mov word [edi + 0x6489], ax
movq xmm0, qword [str.QuickTake_150]
movq qword [edi + 0x64c5], xmm0
mov eax, dword [0x1018d288]
mov dword [edi + 0x64cd], eax
movzx eax, word [0x1018d28c]
mov word [edi + 0x64d1], ax
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x494a5546
jne 0x100c300e
cmp dword [eax + 4], 0x4d4c4946
jne 0x100c300e
mov eax, dword [edi]
push 0
push 0x54
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100a8910
mov ecx, edi
mov dword [edi + 0x65c4], eax
call fcn.100a8910
mov dword [edi + 0x65d0], eax
mov eax, dword [edi]
push 0
push 0x5c
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100a8910
mov edx, eax
mov ecx, edi
call fcn.100c1140
cmp dword [edi + 0x65c4], 0x78
jle 0x100c2fe2
mov eax, dword [edi]
push 0
push 0x78
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100a8910
xor ecx, ecx
test eax, eax
setne cl
add dword [edi + 0x6614], ecx
cmp dword [edi + 0x6614], 2
jne 0x100c2fe2
cmp dword [edi + 0xa0], 0
je 0x100c2fe2
mov edx, eax
mov ecx, edi
call fcn.100c1140
mov eax, dword [edi]
push 0
push 0x64
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100a8910
mov edx, dword [edi + 0x65c4]
mov dword [edi + 0x65c0], eax
add edx, 0xc
jmp 0x100c3284
lea eax, [esp + 0x74]
cmp dword [eax], 0x46464952
jne 0x100c3037
mov eax, dword [edi]
push 0
push 0
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
mov ecx, edi
call fcn.100c1620
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x1000100
jne 0x100c30ef
cmp word [eax + 4], 0x4000
jne 0x100c30ef
mov eax, dword [edi]
push 0
push 6
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
mov eax, dword [edi]
lea ebx, [edi + 0x6485]
add esp, 0xc
mov eax, dword [eax]
push 8
push 1
push ebx
push dword [edi + 4]
call eax
mov eax, dword [edi]
lea ebx, [edi + 0x64c5]
push 8
push 1
push ebx
push dword [edi + 4]
mov eax, dword [eax]
call eax
mov eax, dword [edi]
lea ecx, [edi + 0x6505]
push 0x10
push 1
push ecx
push dword [edi + 4]
mov eax, dword [eax]
call eax
add esp, 0x30
mov ecx, edi
call fcn.100a88b0
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x65c0], eax
call fcn.100a88b0
mov ecx, edi
call fcn.100a88b0
mov ecx, edi
mov word [edi + 0x66b2], ax
call fcn.100a88b0
mov word [edi + 0x66b0], ax
mov dword [edi + 0x2e7fc], 0x100affe0
mov dword [edi + 0x65b0], 0x61616161
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x2d435344
jne 0x100c3116
cmp dword [eax + 4], 0x67616d49
jne 0x100c3116
cmp byte [eax + 8], 0x65
jne 0x100c3116
mov ecx, edi
call fcn.100c0530
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x44415750
jne 0x100c312e
mov ecx, edi
call fcn.100c08b0
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x4d524d00
jne 0x100c3148
xor edx, edx
mov ecx, edi
call fcn.100bf390
jmp 0x100c328b
lea eax, [esp + 0x74]
cmp dword [eax], 0x62564f46
jne 0x100c3160
mov ecx, edi
call fcn.100c1e30
jmp 0x100c328b
lea ecx, [esp + 0x74]
mov eax, 0x4943
cmp word [ecx], ax
jne 0x100c317a
mov ecx, edi
call fcn.100c1a30
jmp 0x100c328b
mov ecx, dword [esp + 0x10]
lea esi, [edi + 0x64c5]
mov edx, 0x10167154
lea ebx, [edi + 0x6485]
mov eax, 0x44
mov dword [esp + 0x18], edx
sub esi, 0x10167160
mov dword [esp + 0x14], eax
sub ebx, edx
cmp ecx, dword [edx - 4]
jne 0x100c31e5
mov ecx, edx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + ebx - 1], al
test al, al
jne 0x100c31b0
lea ecx, [edx + 0xc]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x100c31c0
cmp byte [edx + 0x1f], al
je 0x100c31dd
mov ecx, edi
call fcn.100bf650
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add edx, 0x24
sub ebx, 0x24
sub esi, 0x24
mov dword [esp + 0x18], edx
sub eax, 1
mov dword [esp + 0x14], eax
jne 0x100c31a4
jmp 0x100c328b
lea ecx, [esp + 0x7a]
mov edx, str.HEAPCCDR
mov esi, 4
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100c3225
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100c3210
xor eax, eax
jmp 0x100c324a
cmp al, byte [edx]
jne 0x100c3245
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100c3245
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100c3245
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100c3245
xor eax, eax
jmp 0x100c324a
sbb eax, eax
or eax, 1
mov ecx, edi
test eax, eax
jne 0x100c326b
mov esi, dword [esp + 0x10]
mov edx, ebx
mov eax, esi
mov dword [edi + 0x65c0], ebx
sub eax, ebx
push eax
call fcn.100bf9f0
add esp, 4
jmp 0x100c328f
xor edx, edx
jmp 0x100c3286
lea eax, [esp + 0x74]
mov ecx, edi
sub esi, eax
mov edx, esi
call fcn.100c0c10
test esi, esi
je 0x100c328b
xor edx, edx
mov ecx, edi
call fcn.100bec70
mov esi, dword [esp + 0x10]
cmp byte [edi + 0x6485], 0
lea eax, [edi + 0x6485]
jne 0x100c32c5
push esi
mov ecx, edi
call fcn.100c1930
lea eax, [edi + 0x6485]
add esp, 4
cmp byte [eax], 0
jne 0x100c32c5
mov ecx, edi
mov dword [edi + 0x6614], 0
call fcn.100c13c0
xor esi, esi
lea ebx, [edi + 0x6485]
nop dword [eax]
push dword [esi + 0x101646d0]
push ebx
call fcn.1012ea50
add esp, 8
test eax, eax
je 0x100c32fd
mov ecx, dword [esi + 0x101646d0]
mov edx, ebx
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x100c32f0
add esi, 4
cmp esi, 0x3c
jb 0x100c32d0
push 5
push str.KODAK
push ebx
call fcn.1013b340
add esp, 0xc
lea ebx, [edi + 0x64c5]
test eax, eax
jne 0x100c332d
mov byte [edi + 0x64d5], 0
mov byte [edi + 0x6495], 0
lea ecx, [edi + 0x6485]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3336
sub ecx, edx
lea eax, [edi + 0x6484]
add eax, ecx
cmp byte [eax], 0x20
jne 0x100c335b
nop dword [eax]
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x100c3350
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c3360
sub ecx, edx
lea eax, [edi + 0x64c4]
add eax, ecx
cmp byte [eax], 0x20
jne 0x100c3381
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x100c3376
lea edx, [edi + 0x6485]
mov esi, edx
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100c3390
sub esi, ecx
push esi
push edx
push ebx
call fcn.1013e093
add esp, 0xc
mov ecx, 0x40
test eax, eax
jne 0x100c33ce
mov al, byte [edi + esi + 0x64c5]
inc esi
cmp al, 0x20
jne 0x100c33ce
sub ecx, esi
lea eax, [edi + 0x64c5]
push ecx
add eax, esi
push eax
push ebx
call fcn.1012e1b0
add esp, 0xc
push 0xf
push str.Digital_Camera
push ebx
call fcn.1013b340
add esp, 0xc
test eax, eax
jne 0x100c33fd
lea ecx, [edi + 0x64d4]
mov edx, ebx
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x100c33f0
mov byte [edi + 0x6544], 0
mov byte [edi + 0x6504], 0
mov byte [edi + 0x64c4], 0
mov byte [edi + 0x6584], 0
mov byte [edi + 0x6484], 0
cmp dword [edi + 0x6614], 0
je 0x100c3eb4
cmp dword [edi + 0x65fc], 0
jne 0x100c344a
mov ecx, dword [edi + 0x65f0]
mov eax, 1
shl eax, cl
dec eax
mov dword [edi + 0x65fc], eax
cmp word [edi + 0x66b4], 0
jne 0x100c3462
mov ax, word [edi + 0x66b0]
mov word [edi + 0x66b4], ax
cmp word [edi + 0x66b6], 0
jne 0x100c347a
mov ax, word [edi + 0x66b2]
mov word [edi + 0x66b6], ax
movzx ecx, word [edi + 0x66c2]
test cx, cx
je 0x100c34b2
mov ax, word [edi + 0x66b4]
movsd xmm0, qword [0x10192018]
add ax, cx
movzx eax, ax
mov word [edi + 0x66b6], ax
dec eax
mov word [edi + 0x66b4], ax
movsd qword [edi + 0x66d8], xmm0
mov eax, 0xa40
cmp word [edi + 0x66b4], ax
jne 0x100c34d8
mov eax, 0xf60
cmp word [edi + 0x66b6], ax
jne 0x100c34d8
mov dword [edi + 0x66b4], 0xf380a38
mov eax, 0xc40
cmp word [edi + 0x66b4], ax
jne 0x100c34fe
mov eax, 0x1300
cmp word [edi + 0x66b6], ax
jne 0x100c34fe
mov dword [edi + 0x66b4], 0x12500c34
movzx esi, word [edi + 0x66b4]
mov eax, 0xbc6
cmp si, ax
jne 0x100c3529
mov eax, 0x1000
cmp word [edi + 0x66b6], ax
jne 0x100c3529
mov eax, 0xfae
mov word [edi + 0x66b6], ax
cmp dword [edi + 0x6618], 0
mov ebx, 2
je 0x100c3594
cmp dword [edi + 0x65b0], 0xffffffff
jne 0x100c354a
mov dword [edi + 0x65b0], 0
cmp dword [edi + 0x65b0], 0
mov eax, dword [edi + 0x65ec]
je 0x100c3561
mov dword [edi + 0x6614], eax
jmp 0x100c3567
mov dword [edi + 0x66d0], eax
mov eax, dword [edi + 0x65f4]
cmp eax, 1
jne 0x100c357c
mov dword [edi + 0x2e7fc], 0x100aba80
cmp eax, 7
jne 0x100c3db6
mov dword [edi + 0x2e7fc], 0x100ab8e0
jmp 0x100c3db6
mov ecx, str.Canon
lea eax, [edi + 0x6485]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c35bf
test dl, dl
je 0x100c35bb
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c35bf
add eax, 2
add ecx, ebx
test dl, dl
jne 0x100c35a0
xor eax, eax
jmp 0x100c35c4
sbb eax, eax
or eax, 1
xor ebx, ebx
test eax, eax
sete bl
test ebx, ebx
je 0x100c35f4
lea eax, [esp + 0x7a]
cmp dword [eax], 0x50414548
jne 0x100c35e9
cmp dword [eax + 4], 0x52444343
mov eax, 0x100aa260
je 0x100c35ee
mov eax, 0x100aaeb0
mov dword [edi + 0x2e7fc], eax
mov ecx, str.NIKON
lea eax, [edi + 0x6485]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3620
test dl, dl
je 0x100c361c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3620
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3600
xor eax, eax
jmp 0x100c3625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c365c
cmp dword [edi + 0x2e7fc], eax
jne 0x100c363b
mov dword [edi + 0x2e7fc], 0x100af9f0
cmp byte [edi + 0x64c5], 0x45
jne 0x100c365c
xor eax, eax
cmp dword [edi + 0x65c0], eax
sete al
lea eax, [eax*4 + 2]
or dword [edi + 0x66ac], eax
mov ecx, str.CASIO
lea eax, [edi + 0x6485]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3687
test dl, dl
je 0x100c3683
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3687
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3667
xor eax, eax
jmp 0x100c368c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c36a4
mov dword [edi + 0x2e7fc], 0x100af9f0
mov dword [edi + 0x65fc], 0xf7f
cmp dword [edi + 0x661c], 0
jne 0x100c3cfd
test ebx, ebx
je 0x100c3706
cmp dword [edi + 0x65f0], 0xf
jne 0x100c3706
movzx ecx, word [edi + 0x66b6]
mov eax, ecx
cmp eax, 0xd10
je 0x100c36d7
cmp eax, 0xf20
je 0x100c36e1
jmp 0x100c36ed
lea eax, [ecx - 0x42]
mov word [edi + 0x66b6], ax
mov eax, 0xfffa
add word [edi + 0x66b6], ax
mov dword [edi + 0x65b0], 0
mov dword [edi + 0x2e7fc], 0x100ab170
jmp 0x100c3cfd
mov ecx, str.PowerShot_600
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3731
test dl, dl
je 0x100c372d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3731
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3711
xor eax, eax
jmp 0x100c3736
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3779
movsd xmm0, qword [0x10192010]
mov eax, 0x380
mov dword [edi + 0x66b4], 0x3560265
mov word [edi + 0x66b2], ax
movsd qword [edi + 0x66d8], xmm0
mov dword [edi + 0x65b0], 0xe1e4e1e4
mov dword [edi + 0x2e7fc], 0x100a96d0
jmp 0x100c3cf3
mov ecx, str.PowerShot_A5
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c37a4
test dl, dl
je 0x100c37a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c37a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3784
xor eax, eax
jmp 0x100c37a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c76cf
mov ecx, str.PowerShot_A5_Zoom
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c37e0
test dl, dl
je 0x100c37dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c37e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c37c0
xor eax, eax
jmp 0x100c37e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c76cf
mov ecx, str.PowerShot_A50
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3818
test dl, dl
je 0x100c3814
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3818
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c37f8
xor eax, eax
jmp 0x100c381d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c385a
mov dword [edi + 0x66b4], 0x50a03c8
mov eax, 0x528
mov dword [edi + 0x65b0], 0x1b4e4b1e
mov word [edi + 0x66b2], ax
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_Pro70
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3885
test dl, dl
je 0x100c3881
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3885
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3865
xor eax, eax
jmp 0x100c388a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c38a4
mov dword [edi + 0x66b4], 0x6100400
mov dword [edi + 0x65b0], 0x1e4b4e1b
jmp 0x100c3841
mov ecx, str.PowerShot_SD300
lea eax, [edi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c38d0
test dl, dl
je 0x100c38cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c38d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c38b0
xor eax, eax
jmp 0x100c38d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3906
mov dword [edi + 0x66b4], 0x92806d8
mov dword [edi + 0x66b0], 0x96006e6
mov dword [edi + 0x66b8], 0xc000c
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A460
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3931
test dl, dl
je 0x100c392d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3931
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3911
xor eax, eax
jmp 0x100c3936
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3967
mov dword [edi + 0x66b4], 0xa3807a8
mov dword [edi + 0x66b0], 0xa6807b0
mov dword [edi + 0x66b8], 0x40004
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A530
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3992
test dl, dl
je 0x100c398e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3992
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3972
xor eax, eax
jmp 0x100c3997
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c39ce
mov dword [edi + 0x66b4], 0xa3c07c0
mov dword [edi + 0x66b0], 0xa7007c8
mov dword [edi + 0x66b8], 0xa0006
mov dword [edi + 0x2e7fc], 0x100a9ca0
mov dword [edi + 0x6604], eax
jmp 0x100c3cfd
mov ecx, str.PowerShot_A610
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3a00
test dl, dl
je 0x100c39fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3a00
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c39e0
xor eax, eax
jmp 0x100c3a05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3a59
mov ecx, edi
call fcn.100a9c50
test eax, eax
je 0x100c3a2c
mov eax, dword [str.S2_IS]
mov dword [edi + 0x64cf], eax
mov ax, word [0x1018d338]
mov word [edi + 0x64d3], ax
mov dword [edi + 0x66b4], 0xa3807a8
mov dword [edi + 0x66b0], 0xa7007b0
mov dword [edi + 0x66b8], 0xc0008
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A620
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3a84
test dl, dl
je 0x100c3a80
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3a84
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3a64
xor eax, eax
jmp 0x100c3a89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3aba
mov dword [edi + 0x66b4], 0xc280918
mov dword [edi + 0x66b0], 0xc500924
mov dword [edi + 0x66b8], 0x24000c
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A720
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3ae5
test dl, dl
je 0x100c3ae1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3ae5
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3ac5
xor eax, eax
jmp 0x100c3aea
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3b1b
mov dword [edi + 0x66b4], 0xce209a8
mov dword [edi + 0x66b0], 0xd0809b0
mov dword [edi + 0x66b8], 0x60005
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A630
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3b46
test dl, dl
je 0x100c3b42
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3b46
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3b26
xor eax, eax
jmp 0x100c3b4b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3b7c
mov dword [edi + 0x66b4], 0xcd809a8
mov dword [edi + 0x66b0], 0xd1009b4
mov dword [edi + 0x66b8], 0xc0006
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A640
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3ba7
test dl, dl
je 0x100c3ba3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3ba7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3b87
xor eax, eax
jmp 0x100c3bac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3bdd
mov dword [edi + 0x66b4], 0xe580ac8
mov dword [edi + 0x66b0], 0xe980ad4
mov dword [edi + 0x66b8], 0xc0006
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_A650
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3c08
test dl, dl
je 0x100c3c04
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3c08
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3be8
xor eax, eax
jmp 0x100c3c0d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3c3e
mov dword [edi + 0x66b4], 0xfc00bd0
mov dword [edi + 0x66b0], 0x10080be8
mov dword [edi + 0x66b8], 0x30000c
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_S3_IS
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3c70
test dl, dl
je 0x100c3c6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3c70
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3c50
xor eax, eax
jmp 0x100c3c75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3ca3
mov dword [edi + 0x66b4], 0xb180850
mov dword [edi + 0x66b0], 0xb480858
mov dword [edi + 0x66b8], 0x2c0008
mov dword [edi + 0x2e7fc], 0x100a9ca0
jmp 0x100c3cfd
mov ecx, str.PowerShot_Pro90_IS
lea eax, [edi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3cd0
test dl, dl
je 0x100c3ccc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3cd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3cb0
xor eax, eax
jmp 0x100c3cd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c3eed
mov eax, 0x768
mov word [edi + 0x66b6], ax
mov dword [edi + 0x65b0], 0xb4b4b4b4
mov dword [edi + 0x66d0], 4
lea esi, [edi + 0x6485]
lea ecx, [edi + 0x64c5]
mov ebx, 2
cmp byte [ecx], 0
jne 0x100c3d3d
movzx eax, word [edi + 0x66b4]
push eax
movzx eax, word [edi + 0x66b6]
push eax
lea eax, [edi + 0x64c5]
push str._dx_d
push eax
call fcn.10004160
add esp, 0x10
lea ecx, [edi + 0x64c5]
cmp dword [edi + 0x65b0], 0xffffffff
jne 0x100c3d50
mov dword [edi + 0x65b0], 0x94949494
cmp dword [edi + 0x6604], 0
je 0x100c3d66
push ecx
mov edx, esi
mov ecx, edi
call fcn.100c23c0
add esp, 4
mov ecx, dword [edi + 0x65c4]
test ecx, ecx
je 0x100c3db6
cmp word [edi + 0x66c6], 0
jne 0x100c3db6
mov eax, dword [edi]
push 0
push ecx
push dword [edi + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0xc
lea edx, [esp + 0x20]
mov ecx, edi
push 1
call fcn.100aa770
add esp, 4
test eax, eax
je 0x100c3db6
movzx eax, word [esp + 0x28]
mov word [edi + 0x66c4], ax
movzx eax, word [esp + 0x24]
mov word [edi + 0x66c6], ax
mov eax, dword [edi + 0x2e7fc]
test eax, eax
je 0x100c3dca
cmp word [edi + 0x66b4], 0x16
jae 0x100c3dd4
mov dword [edi + 0x6614], 0
cmp eax, fcn.100095a0
jne 0x100c3e03
push dword [edi + 0x6278]
push str._s:_You_must_link_dcraw_with_libjpeg___n
push 2
call fcn.10139778
add esp, 4
push eax
call fcn.10001240
add esp, 0xc
mov dword [edi + 0x6614], 0
cmp byte [edi + 0x6280], 0
lea edx, [edi + 0x6280]
jne 0x100c3e34
cmp dword [edi + 0x66d0], 3
mov ecx, 0x1018d7dc
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 0x100c3e26
cmp word [edi + 0x66b0], 0
jne 0x100c3e4c
mov ax, word [edi + 0x66b4]
mov word [edi + 0x66b0], ax
cmp word [edi + 0x66b2], 0
jne 0x100c3e64
mov ax, word [edi + 0x66b6]
mov word [edi + 0x66b2], ax
mov edx, dword [edi + 0x65b0]
test edx, edx
je 0x100c3eb4
cmp dword [edi + 0x66d0], 3
jne 0x100c3eb4
xor ecx, ecx
lea edi, [ecx + 8]
nop dword [eax]
mov eax, edx
shr eax, cl
and eax, 0xf
cmp al, 9
jne 0x100c3e91
mov eax, ebx
shl eax, cl
or edx, eax
mov eax, edx
shr eax, cl
and eax, 0xf
cmp al, 6
jne 0x100c3ea2
mov eax, edi
shl eax, cl
or edx, eax
add ecx, 4
cmp ecx, 0x20
jb 0x100c3e80
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x65b0], edx
cmp dword [edi + 0x66c8], 0xffffffff
jne 0x100c3ed8
mov eax, dword [edi + 0x66cc]
mov dword [edi + 0x66c8], eax
cmp eax, 0xffffffff
jne 0x100c3ed8
mov dword [edi + 0x66c8], 0
mov ecx, dword [esp + 0x94]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1012b4a2
mov esp, ebp
pop ebp
ret
mov ecx, 0x860
test ebx, ebx
je 0x100c4072
movzx eax, word [edi + 0x66b2]
cmp ax, cx
jne 0x100c3f7c
mov dword [edi + 0x66b4], 0x828060e
lea eax, [edi + 0x64c5]
mov dword [edi + 0x66b8], 0x40008
mov ecx, str.PowerShot_G1
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c3f45
test dl, dl
je 0x100c3f41
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c3f45
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c3f25
xor eax, eax
jmp 0x100c3f4a
sbb eax, eax
or eax, 1
lea ecx, [edi + 0x64c5]
mov ebx, 2
lea esi, [edi + 0x6485]
test eax, eax
jne 0x100c3d0e
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x65b0], 0xb4b4b4b4
jmp 0x100c3d0e
mov ecx, 0x8b0
cmp ax, cx
jne 0x100c3f9f
mov dword [edi + 0x66b4], 0x88005a8
mov dword [edi + 0x66b8], 0x300006
jmp 0x100c3cfd
mov ecx, 0x948
cmp ax, cx
jne 0x100c3fc2
mov dword [edi + 0x66b4], 0x90806b8
mov dword [edi + 0x66b8], 0xc0006
jmp 0x100c3cfd
mov ecx, 0xa70
cmp ax, cx
jne 0x100c3fe5
mov dword [edi + 0x66b4], 0xa3807a8
mov dword [edi + 0x66b8], 0xc0006
jmp 0x100c3cfd
mov ecx, 0xc50
cmp ax, cx
jne 0x100c402c
cmp dword [edi + 0x65b8], 0x80000170
mov dword [edi + 0x66b4], 0xc100808
mov dword [edi + 0x66b8], 0x40000c
jne 0x100c3cfd
push str.EOS_300D
mov edx, str.Canon
mov ecx, edi
call fcn.100c23c0
add esp, 4
jmp 0x100c3cfd
mov ecx, 0xc58
cmp ax, cx
jne 0x100c404f
mov dword [edi + 0x66b4], 0xc280918
mov dword [edi + 0x66b8], 0x2c000c
jmp 0x100c3cfd
mov ecx, 0xd10
cmp ax, cx
jne 0x100c4072
mov dword [edi + 0x66b4], 0xcd809a8
mov dword [edi + 0x66b8], 0x40006
jmp 0x100c3cfd
mov ecx, str.EOS_D2000C
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c40a0
test dl, dl
je 0x100c409c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c40a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4080
xor eax, eax
jmp 0x100c40a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c40c5
mov dword [edi + 0x65b0], 0x61616161
movzx eax, word [edi + 0x68f4]
mov dword [edi + 0x65f8], eax
jmp 0x100c3cfd
mov edx, 0xf90
test ebx, ebx
je 0x100c4323
movzx eax, word [edi + 0x66b2]
mov ecx, 0xdbc
cmp ax, cx
jne 0x100c4116
cmp dword [edi + 0x65b8], 0x80000189
mov dword [edi + 0x66b8], 0x2a000e
jne 0x100c42df
push str.EOS_350D
mov edx, str.Canon
mov ecx, edi
call fcn.100c23c0
add esp, 4
jmp 0x100c42df
mov ecx, 0xe0c
cmp ax, cx
jne 0x100c412f
mov dword [edi + 0x66b8], 0x4a000c
jmp 0x100c42df
mov ecx, 0xf68
cmp ax, cx
jne 0x100c4152
mov dword [edi + 0x66b4], 0xf440a2a
mov dword [edi + 0x66b8], 0x1e0012
jmp 0x100c3cfd
mov ecx, 0xf6c
cmp ax, cx
jne 0x100c41b9
cmp dword [edi + 0x65b8], 0x80000236
lea eax, [esi - 2]
mov dword [edi + 0x66b8], 0x2a0012
mov word [edi + 0x66b4], ax
jne 0x100c4190
push str.EOS_400D
mov edx, str.Canon
mov ecx, edi
call fcn.100c23c0
add esp, 4
cmp dword [edi + 0x65b8], 0x80000254
jne 0x100c42df
push str.EOS_1000D
mov edx, str.Canon
mov ecx, edi
call fcn.100c23c0
add esp, 4
jmp 0x100c42df
cmp ax, dx
jne 0x100c41d7
lea eax, [esi - 2]
mov dword [edi + 0x66b8], 0x4c0014
mov word [edi + 0x66b4], ax
jmp 0x100c42df
mov ecx, 0x1008
cmp ax, cx
jne 0x100c41fa
mov dword [edi + 0x66b4], 0xfc00bd0
mov dword [edi + 0x66b8], 0x30000c
jmp 0x100c3cfd
mov ecx, 0x10d8
cmp ax, cx
jne 0x100c4241
cmp dword [edi + 0x65b8], 0x80000176
lea eax, [esi - 2]
mov dword [edi + 0x66b8], 0x160012
mov word [edi + 0x66b4], ax
jne 0x100c42df
push str.EOS_450D
mov edx, str.Canon
mov ecx, edi
call fcn.100c23c0
add esp, 4
jmp 0x100c42df
mov ecx, 0x117c
cmp ax, cx
jne 0x100c425a
mov dword [edi + 0x66b8], 0x5a0022
jmp 0x100c42df
mov ecx, 0x1180
cmp ax, cx
jne 0x100c4287
mov dword [edi + 0x66b4], 0x11500cfe
mov dword [edi + 0x66b8], 0xc000a
mov dword [edi + 0x65b0], 0x49494949
jmp 0x100c3cfd
mov ecx, 0x4b8
cmp ax, cx
jne 0x100c42b5
mov dword [edi + 0x66b8], 0x3e0033
movzx eax, word [edi + 0x66b6]
shl eax, 2
mov word [edi + 0x66b6], ax
mov word [edi + 0x66b2], ax
jmp 0x100c42df
mov ecx, 0x5a8
cmp ax, cx
jne 0x100c42cb
mov dword [edi + 0x66b8], 0x9e0033
jmp 0x100c429b
mov ecx, 0x13f4
cmp ax, cx
jne 0x100c4300
mov dword [edi + 0x66b8], 0x62000d
movzx eax, word [edi + 0x66b8]
sub word [edi + 0x66b4], ax
movzx eax, word [edi + 0x66ba]
sub word [edi + 0x66b6], ax
jmp 0x100c3cfd
mov ecx, 0x1650
cmp ax, cx
jne 0x100c4323
mov dword [edi + 0x66b4], 0x16080ea8
mov dword [edi + 0x66b8], 0x3e0014
jmp 0x100c3cfd
mov ecx, 0x1018d408
lea eax, [edi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4350
test dl, dl
je 0x100c434c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4350
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4330
xor eax, eax
jmp 0x100c4355
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c438e
movss xmm0, dword [edi + 0xe774]
mulss xmm0, dword [0x10191e48]
movss dword [edi + 0xe774], xmm0
movss xmm0, dword [edi + 0xe77c]
mulss xmm0, dword [0x10191e7c]
movss dword [edi + 0xe77c], xmm0
jmp 0x100c3cfd
mov ecx, 0x1018d40c
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c43c0
test dl, dl
je 0x100c43bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c43c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c43a0
xor eax, eax
jmp 0x100c43c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c43ea
movsd xmm0, qword [0x10191fb0]
mov eax, 0xfffc
add word [edi + 0x66b6], ax
movsd qword [edi + 0x66d8], xmm0
jmp 0x100c3cfd
mov ecx, str.D40X
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4415
test dl, dl
je 0x100c4411
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4415
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c43f5
xor eax, eax
jmp 0x100c441a
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c76b4
mov ecx, 0x1018d418
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4450
test dl, dl
je 0x100c444c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4450
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4430
xor eax, eax
jmp 0x100c4455
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c76b4
mov ecx, 0x1018d41c
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4488
test dl, dl
je 0x100c4484
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4488
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4468
xor eax, eax
jmp 0x100c448d
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c76b4
mov ecx, 0x1018d420
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c44c0
test dl, dl
je 0x100c44bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c44c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c44a0
xor eax, eax
jmp 0x100c44c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c768b
mov ecx, str.D700
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c44f8
test dl, dl
je 0x100c44f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c44f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c44d8
xor eax, eax
jmp 0x100c44fd
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c768b
push 3
lea eax, [edi + 0x64c5]
push 0x1018d42c
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
je 0x100c767a
push 3
lea eax, [edi + 0x64c5]
push 0x1018d430
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
je 0x100c767a
push 3
lea eax, [edi + 0x64c5]
push 0x1018d434
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
je 0x100c767a
mov ecx, 0x1018d438
lea eax, [edi + 0x64c5]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4590
test dl, dl
je 0x100c458c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4590
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4570
xor eax, eax
jmp 0x100c4595
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c45aa
mov eax, 0xffd6
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
mov ecx, str.D100
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c45d5
test dl, dl
je 0x100c45d1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c45d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c45b5
xor eax, eax
jmp 0x100c45da
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c463f
cmp dword [edi + 0x65f4], 0x8799
jne 0x100c3cfd
mov ecx, edi
call fcn.100ac440
lea ecx, [edi + 0x64c5]
mov ebx, 2
lea esi, [edi + 0x6485]
test eax, eax
jne 0x100c3d0e
movzx eax, word [edi + 0x66b6]
or dword [edi + 0x66ac], 8
add eax, 3
mov word [edi + 0x66b6], ax
add eax, 3
mov dword [edi + 0x2e7fc], 0x100af9f0
mov word [edi + 0x66b2], ax
jmp 0x100c3d0e
mov ecx, str.D200
lea eax, [edi + 0x64c5]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4670
test dl, dl
je 0x100c466c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4670
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4650
xor eax, eax
jmp 0x100c4675
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c46a0
mov eax, 1
mov dword [edi + 0x65b0], 0x94949494
mov word [edi + 0x66ba], ax
mov eax, 0xfffc
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
push 3
lea eax, [edi + 0x64c5]
push 0x1018d44c
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
jne 0x100c46d7
mov eax, 6
mov word [edi + 0x66ba], ax
mov eax, 0xfff2
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
push 3
lea eax, [edi + 0x64c5]
push 0x1018d450
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
jne 0x100c4733
movzx eax, word [edi + 0x66b6]
lea esi, [edi + 0x6485]
mov ecx, 0xcc0
mov ebx, 2
cmp ax, cx
lea ecx, [edi + 0x64c5]
jne 0x100c4724
mov eax, 0xca0
mov word [edi + 0x66b6], ax
jmp 0x100c3d0e
add eax, 0xfffffff8
mov word [edi + 0x66b6], ax
jmp 0x100c3d0e
mov ecx, str.D300
lea eax, [edi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4760
test dl, dl
je 0x100c475c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4760
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4740
xor eax, eax
jmp 0x100c4765
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c477a
mov eax, 0xffe0
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
mov ecx, str.COOLPIX_P6000
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c47a5
test dl, dl
je 0x100c47a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c47a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4785
xor eax, eax
jmp 0x100c47aa
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c47c7
mov dword [edi + 0x66ac], 1
mov dword [edi + 0x65b0], 0x94949494
jmp 0x100c3cfd
mov ebx, dword [esp + 0x10]
cmp ebx, 0x182004
jne 0x100c4840
mov eax, 0x660
mov dword [edi + 0x66b4], 0x50703c3
mov edx, 3
mov word [edi + 0x66b2], ax
mov ecx, edi
mov dword [edi + 0x2e7fc], 0x100ac8c0
mov dword [edi + 0x65fc], 0x3f4
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x65b0], 0x1e1e1e1e
call fcn.100c2710
mov dword [edi + 0xe784], 0x3f9ab021
mov dword [edi + 0xe788], 0x3f8c1206
mov dword [edi + 0xe790], 0x3f8e1e4f
jmp 0x100c3cfd
cmp ebx, 0x25a000
jne 0x100c4895
mov eax, 0x800
mov dword [edi + 0x66b4], 0x65004b3
push str.E950
mov edx, str.NIKON
mov word [edi + 0x66b2], ax
mov ecx, edi
mov dword [edi + 0x2e7fc], 0x100ac8c0
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x65b0], 0x4b4b4b4b
call fcn.100c23c0
add esp, 4
jmp 0x100c3cfd
cmp ebx, 0x48d000
jne 0x100c4976
mov eax, dword [edi + 0x65a0]
or eax, dword [edi + 0x65a4]
mov dword [edi + 0x66b4], 0x8100604
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x65b0], 0xe1e1e1e1
mov dword [edi + 0x2e7fc], 0x100af9f0
mov dword [edi + 0x66ac], 6
jne 0x100c4902
mov ecx, edi
call fcn.100ac4d0
test eax, eax
je 0x100c4902
mov eax, dword [str.E995]
mov dword [edi + 0x64c5], eax
mov al, byte [0x1018d478]
mov byte [edi + 0x64c9], al
mov ecx, str.E995
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4930
test dl, dl
je 0x100c492c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4930
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4910
xor eax, eax
jmp 0x100c4935
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c3cfd
mov edx, 3
mov dword [edi + 0x65b0], 0xb4b4b4b4
mov ecx, edi
call fcn.100c2710
mov dword [edi + 0xe784], 0x3f991687
mov dword [edi + 0xe788], 0x3f9f7cee
mov dword [edi + 0xe78c], 0x3f824dd3
jmp 0x100c3cfd
mov ecx, str.E2100
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c49a1
test dl, dl
je 0x100c499d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c49a1
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4981
xor eax, eax
jmp 0x100c49a6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c49dc
mov eax, dword [edi + 0x65a0]
or eax, dword [edi + 0x65a4]
jne 0x100c49c3
mov ecx, edi
call fcn.100ac590
test eax, eax
je 0x100c4a10
mov dword [edi + 0x66b4], 0x65004b6
mov dword [edi + 0x66ac], 7
jmp 0x100c3cfd
mov ecx, str.E2500
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4a07
test dl, dl
je 0x100c4a03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4a07
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c49e7
xor eax, eax
jmp 0x100c4a0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4a50
mov eax, dword [str.E2500]
lea ecx, [edi + 0x64c5]
mov dword [ecx], eax
lea esi, [edi + 0x6485]
mov ax, word [0x1018d488]
mov word [ecx + 4], ax
mov dword [edi + 0x66b4], 0x65004b4
mov dword [edi + 0x66d0], 4
mov dword [edi + 0x65b0], 0x4b4b4b4b
jmp 0x100c3d09
cmp ebx, 0x48e000
jne 0x100c4b42
mov dword [edi + 0x66b4], 0x8100606
mov dword [edi + 0x2e7fc], 0x100af9f0
mov dword [edi + 0x66ac], 7
mov dword [edi + 0xe784], 0x3fe8b439
mov dword [edi + 0xe78c], 0x3fcf1aa0
mov eax, dword [edi + 0x65a0]
or eax, dword [edi + 0x65a4]
jne 0x100c4aa3
mov ecx, edi
call fcn.100ac630
cmp byte [edi + 0x64c5], 0x45
jne 0x100c4acc
lea eax, [edi + 0x64c6]
push eax
call fcn.1013c9b7
add esp, 4
cmp eax, 0xe74
jge 0x100c4acc
mov dword [edi + 0x65b0], 0x49494949
mov ecx, str.Optio_33WR
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4af7
test dl, dl
je 0x100c4af3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4af7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4ad7
xor eax, eax
jmp 0x100c4afc
sbb eax, eax
or eax, 1
lea ecx, [edi + 0x64c5]
mov ebx, 2
lea esi, [edi + 0x6485]
test eax, eax
jne 0x100c3d0e
mov dword [edi + 0x66c8], 1
mov dword [edi + 0x65b0], 0x16161616
mov dword [edi + 0xe784], 0x3faa5e35
mov dword [edi + 0xe78c], 0x3fe8f5c3
jmp 0x100c3d0e
cmp ebx, 0x599000
jne 0x100c4bde
mov eax, dword [edi + 0x65a0]
or eax, dword [edi + 0x65a4]
mov dword [edi + 0x66b4], 0x8f006ae
mov dword [edi + 0x65b0], 0x16161616
jne 0x100c4bb2
mov ecx, edi
call fcn.100ac820
lea esi, [edi + 0x6485]
lea ecx, [edi + 0x64c5]
test eax, eax
je 0x100c4bbe
mov eax, dword [str.Minolta]
mov dword [esi], eax
mov eax, dword [0x1018d1ec]
mov dword [esi + 4], eax
movq xmm0, qword [str.DiMAGE_Z2]
movq qword [edi + 0x64c5], xmm0
mov ax, word [0x1018d494]
mov word [ecx + 8], ax
jmp 0x100c4bbe
lea ecx, [edi + 0x64c5]
lea esi, [edi + 0x6485]
xor eax, eax
mov dword [edi + 0x2e7fc], 0x100af9f0
cmp byte [esi], 0x4d
sete al
add eax, 6
mov dword [edi + 0x66ac], eax
jmp 0x100c3d09
mov ecx, str.E4500
lea eax, [edi + 0x64c5]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4c10
test dl, dl
je 0x100c4c0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4c10
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4bf0
xor eax, eax
jmp 0x100c4c15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4c28
mov dword [edi + 0x66b4], 0x8f006ac
jmp 0x100c3ce9
cmp ebx, 0x718000
jne 0x100c4c3f
mov dword [edi + 0x66b4], 0xa100784
jmp 0x100c3ce9
cmp ebx, 0x895000
jne 0x100c4c74
mov dword [edi + 0x66b4], 0xb100846
mov dword [edi + 0x65fc], 0xf83
mov dword [edi + 0x2e7fc], 0x100af9f0
mov dword [edi + 0x66ac], 7
jmp 0x100c3cfd
mov ecx, str.FinePix_S5100
lea eax, [edi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4ca0
test dl, dl
je 0x100c4c9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4ca0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4c80
xor eax, eax
jmp 0x100c4ca5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c766b
mov ecx, str.FinePix_S5500
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4cd8
test dl, dl
je 0x100c4cd4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4cd8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4cb8
xor eax, eax
jmp 0x100c4cdd
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c766b
lea esi, [edi + 0x6485]
mov ecx, str.FUJIFILM
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4d12
test dl, dl
je 0x100c4d0e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4d12
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4cf2
xor eax, eax
jmp 0x100c4d17
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4eb0
mov ecx, str.S2Pro
lea eax, [edi + 0x64cc]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4d50
test dl, dl
je 0x100c4d4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4d50
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4d30
xor eax, eax
jmp 0x100c4d55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4d92
mov eax, dword [str._S2Pro]
mov dword [edi + 0x64cc], eax
mov ax, word [0x1018d4cc]
mov word [edi + 0x64d0], ax
mov al, byte [0x1018d4ce]
mov byte [edi + 0x64d2], al
mov dword [edi + 0x66b4], 0xb400860
mov dword [edi + 0x66c8], 6
jmp 0x100c4d9c
mov dword [edi + 0x65fc], 0x3e00
cmp dword [edi + 0x6614], 2
jne 0x100c4db8
cmp dword [edi + 0xa0], 0
je 0x100c4db8
mov dword [edi + 0x65fc], 0x2f00
movzx ecx, word [edi + 0x66b4]
movzx eax, word [edi + 0x66b0]
movzx ebx, word [edi + 0x66b6]
sub eax, ecx
movzx esi, word [edi + 0x66b2]
mov ecx, ebx
cdq
sub eax, edx
sar eax, 1
mov word [edi + 0x66b8], ax
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [edi + 0x6614], 2
mov word [edi + 0x66ba], ax
jne 0x100c4e36
cmp dword [edi + 0x65e4], 0
je 0x100c4e15
lea eax, [esi + esi]
mov word [edi + 0x66b2], ax
movzx esi, ax
jmp 0x100c4e21
movzx eax, word [edi + 0x66b0]
imul esi, eax
add esi, esi
xor eax, eax
cmp eax, dword [edi + 0xa0]
sbb eax, eax
neg eax
imul eax, esi
add dword [edi + 0x65c0], eax
movzx edx, word [edi + 0x66b4]
lea esi, [edi + 0x6485]
xor eax, eax
mov word [edi + 0x66b0], dx
cmp dword [edi + 0x65e4], eax
mov dword [edi + 0x2e7fc], 0x100aca10
sete al
mov cx, ax
mov eax, edx
shr bx, cl
mov cx, word [edi + 0x65e4]
shr ax, cl
lea ecx, [edi + 0x64c5]
add ax, bx
mov word [edi + 0x66c2], bx
movzx eax, ax
mov word [edi + 0x66b6], ax
dec eax
test bl, 1
mov word [edi + 0x66b4], ax
mov ebx, 2
jne 0x100c3d0e
mov dword [edi + 0x65b0], 0x49494949
jmp 0x100c3d0e
mov ecx, str.RD175
lea eax, [edi + 0x64c5]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4ee0
test dl, dl
je 0x100c4edc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4ee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4ec0
xor eax, eax
jmp 0x100c4ee5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4f16
mov dword [edi + 0x66b4], 0x5fe03da
mov dword [edi + 0x65c0], 0x201
mov dword [edi + 0x65b0], 0x61616161
mov dword [edi + 0x2e7fc], 0x100b0cb0
jmp 0x100c3d03
mov ecx, str.KD_400Z
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4f41
test dl, dl
je 0x100c4f3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4f41
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4f21
xor eax, eax
jmp 0x100c4f46
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c4f65
mov eax, 0x920
mov dword [edi + 0x66b4], 0x90806b0
mov word [edi + 0x66b2], ax
jmp 0x100c7646
mov ecx, str.KD_510Z
lea eax, [edi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c4f90
test dl, dl
je 0x100c4f8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c4f90
add eax, 2
add ecx, 2
test dl, dl
jne 0x100c4f70
xor eax, eax
jmp 0x100c4f95
sbb eax, eax
or eax, 1
test eax, eax
je 0x100c761f
push str.MINOLTA
push esi
call fcn.1013e427
add esp, 8
test eax, eax
lea eax, [edi + 0x64c5]
jne 0x100c5110
push 8
push str.DiMAGE_A
push eax
mov dword [edi + 0x2e7fc], 0x100afda0
call fcn.1013b340
add esp, 0xc
test eax, eax
lea eax, [edi + 0x64c5]
jne 0x100c5024
mov ecx, str.DiMAGE_A200
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c5002
test dl, dl
je 0x100c4ffe
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c5015
push 5
push str.ALPHA
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
je 0x100c50c6
push 5
lea eax, [edi + 0x64c5]
push str.DYNAX
push eax
call fcn.1013b340
add esp, 0xc
test eax, eax
je 0x100c50c6
xor eax, eax
lea esi, [edi + 0x64d9]
cmp byte [edi + 0x64c5], 0x4d
sete al
add eax, 0x64cb
add eax, edi
push eax
push str.DYNAX___10s
push esi
call fcn.10004160
add esp, 0xc
mov ecx, edi
push esi
lea esi, [edi + 0x6485]
mov edx, esi
call fcn.100c23c0
add esp, 4
mov dword [edi + 0x2e7fc], 0x100af9f0
jmp 0x100c3d03
mov ecx, str.ist_DS
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c5135
test dl, dl
je 0x100c5131
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100c5135
xor eax, eax
jmp 0x100c513a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c514f
mov eax, 0xfffe
add word [edi + 0x66b4], ax
jmp 0x100c3d03
mov ecx, str.K20D
lea eax, [edi + 0x64c5]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100c5180
mov eax, 0xa40
mov dword [edi + 0x66b4], 0xa2f07a4
mov word [edi + 0x66b2], ax
add dword [edi + 0x65c0], 0xe
mov dword [edi + 0x65b0], 0x61616161
mov ecx, 0x4d4d
mov dword [edi + 0x2e7fc], 0x100afda0
mov dword [edi + 0x65fc], 0x3df
mov word [edi + 0x6274], cx
jmp 0x100c3d03
mov dword [edi + 0x2e7fc], fcn.100afda0
jmp 0x100c3cfd
mov eax, 0xffff
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
mov eax, 0xfffc
lea ecx, [edi + 0x64c5]
add word [edi + 0x66b6], ax
lea esi, [edi + 0x6485]
mov ebx, 2
mov word [edi + 0x66ba], bx
jmp 0x100c3d0e
lea eax, [esi - 3]
mov word [edi + 0x66b4], ax
mov eax, 0xfffc
add word [edi + 0x66b6], ax
jmp 0x100c3cfd
movsd xmm0, qword [0x10192038]
mov eax, 0x3e0
mov dword [edi + 0x66b4], 0x3c00305
movsd qword [edi + 0x66d8], xmm0
mov dword [edi + 0x65b0], 0x1e4e1e4e
jmp 0x100c383a