Function at 0x48a870
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x79a200]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
push 0x80
push eax
mov dword [ebx + 0x65b0], 0xffffffff
mov dword [ebx + 0x66c8], 0xffffffff
mov dword [ebx + 0x66cc], 0xffffffff
mov word [ebx + 0xe766], ax
mov dword [ebx + 0x65e4], eax
mov word [ebx + 0x66c2], ax
mov dword [ebx + 0x66b0], eax
mov dword [ebx + 0x66b8], eax
mov dword [ebx + 0x66b4], eax
mov dword [ebx + 0x65fc], eax
mov byte [ebx + 0x64c5], al
mov byte [ebx + 0x6485], al
mov byte [ebx + 0x6280], al
mov byte [ebx + 0x6505], al
mov byte [ebx + 0x6545], al
mov byte [ebx + 0x6285], al
mov dword [ebx + 0x659c], eax
mov dword [ebx + 0x6598], eax
mov dword [ebx + 0x6594], eax
mov dword [ebx + 0x6590], eax
mov dword [ebx + 0x65b8], eax
lea eax, [ebx + 0x662c]
push eax
call fcn.00690e10
push 0x80
lea eax, [ebx + 0x66e4]
push 0
push eax
call fcn.00690e10
movsd xmm0, qword [0x6ebff8]
lea ecx, [ebx + 0xe784]
xor eax, eax
mov dword [ebx + 0x2e7f4], 0x48f6f0
add esp, 0x18
mov dword [ebx + 0x66c4], eax
mov dword [ebx + 0x65d0], eax
xor edx, edx
mov dword [ebx + 0x65c4], eax
mov dword [ebx + 0x2e800], eax
mov dword [ebx + 0x2e7fc], eax
mov dword [ebx + 0x65f4], eax
mov dword [ebx + 0x65d4], eax
mov dword [ebx + 0x65c0], eax
mov dword [ebx + 0x66ac], eax
mov dword [ebx + 0x6618], eax
mov dword [ebx + 0x6610], eax
mov dword [ebx + 0x65ac], eax
mov dword [ebx + 0x661c], eax
mov dword [ebx + 0x65f8], eax
mov dword [ebx + 0x65ec], eax
mov dword [ebx + 0x65a8], eax
mov dword [ebx + 0x65a0], eax
mov dword [ebx + 0x65a4], eax
mov dword [ebx + 0x660c], eax
mov dword [ebx + 0x6620], eax
mov dword [ebx + 0x65d8], eax
mov dword [ebx + 0x6600], eax
mov dword [ebx + 0x6608], 1
mov dword [ebx + 0x6604], 1
mov dword [ebx + 0x6614], 1
movsd qword [ebx + 0x66d8], xmm0
mov dword [ebx + 0x6628], 0x7fffffff
mov dword [ebx + 0x6624], 0x7fffffff
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 0x48aa17
mov dword [ebx + 0x66d0], 3
lea ecx, [ebx + 0x6764]
mov dword [ebx + 0x65f0], 0xc
xor eax, eax
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp eax, 0x4000
jb 0x48aab3
push esi
push edi
push ebx
call fcn.00489f30
push ebx
mov word [ebx + 0x6274], ax
call fcn.00489f70
mov ecx, dword [ebx]
mov edi, eax
push 0
push 0
push dword [ebx + 4]
mov ecx, dword [ecx + 8]
call ecx
mov eax, dword [ebx]
lea ecx, [ebp - 0x24]
push 0x20
push 1
push ecx
push dword [ebx + 4]
mov eax, dword [eax]
call eax
mov eax, dword [ebx]
push 2
push 0
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
push dword [ebx + 4]
mov eax, dword [eax + 0x18]
call eax
push 4
push str.MMMM
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.00492520
mov esi, eax
add esp, 0x44
test esi, esi
jne 0x48b131
push 4
push str.IIII
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.00492520
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x48b131
movzx eax, word [ebx + 0x6274]
mov ecx, 0x4949
cmp ax, cx
je 0x48b0ca
mov ecx, 0x4d4d
cmp ax, cx
je 0x48b0ca
lea eax, [ebp - 0x24]
cmp dword [eax], 0xe1ffd8ff
jne 0x48abe2
lea eax, [ebp - 0x1e]
cmp dword [eax], 0x66697845
jne 0x48abe2
mov eax, dword [ebx]
push esi
push 4
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00489f30
movzx ecx, ax
mov eax, dword [ebx]
add ecx, 4
push esi
push ecx
push dword [ebx + 4]
mov dword [ebx + 0x65c0], ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
push dword [ebx + 4]
mov eax, dword [eax + 0x1c]
call eax
add esp, 0x20
cmp eax, 0xff
je 0x48abd3
push 0xc
push ebx
call fcn.00498940
add esp, 8
mov dword [ebx + 0x65c4], 0
jmp 0x48b14f
lea ecx, [ebp - 0xb]
cmp dword [ecx], 0x43455241
jne 0x48acad
cmp word [ecx + 4], 0x594f
jne 0x48acad
cmp byte [ecx + 6], 0x4b
jne 0x48acad
mov eax, dword [str.Contax]
mov dword [ebx + 0x6485], eax
movzx eax, word [0x6f6274]
mov word [ebx + 0x6489], ax
mov al, byte [0x6f6276]
mov byte [ebx + 0x648b], al
movq xmm0, qword [str.N_Digital]
movq qword [ebx + 0x64c5], xmm0
movzx eax, word [0x6f6280]
mov word [ebx + 0x64cd], ax
mov eax, dword [ebx]
push 0
push 0x21
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push 1
push ebx
call fcn.00489fb0
mov eax, dword [ebx]
push 0
push 0x3c
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
add esp, 0x20
xor esi, esi
push ebx
call fcn.00489f70
add esp, 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x7768c0]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [ebx + eax*4 + 0xe774], xmm0
cmp esi, 4
jb 0x48ac72
jmp 0x48b14f
mov ecx, 0x6f6284
lea eax, [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48acd5
test dl, dl
je 0x48acd1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48acd5
add eax, 2
add ecx, 2
test dl, dl
jne 0x48acb5
xor eax, eax
jmp 0x48acda
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ad0c
movq xmm0, qword [str.Logitech]
movq qword [ebx + 0x6485], xmm0
mov al, byte [0x6f6290]
mov byte [ebx + 0x648d], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [ebx + 0x64c5], xmm0
jmp 0x48b14f
mov ecx, str.qktk
lea eax, [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ad34
test dl, dl
je 0x48ad30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ad34
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ad14
xor eax, eax
jmp 0x48ad39
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ad84
mov eax, dword [str.Apple]
mov dword [ebx + 0x6485], eax
movzx eax, word [0x6f62b0]
mov word [ebx + 0x6489], ax
movq xmm0, qword [str.QuickTake_100]
movq qword [ebx + 0x64c5], xmm0
mov eax, dword [0x6f62bc]
mov dword [ebx + 0x64cd], eax
movzx eax, word [0x6f62c0]
mov word [ebx + 0x64d1], ax
jmp 0x48b14f
mov ecx, str.qktn
lea eax, [ebp - 0x24]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48adb0
test dl, dl
je 0x48adac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48adb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ad90
xor eax, eax
jmp 0x48adb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ae00
mov eax, dword [str.Apple]
mov dword [ebx + 0x6485], eax
movzx eax, word [0x6f62b0]
mov word [ebx + 0x6489], ax
movq xmm0, qword [str.QuickTake_150]
movq qword [ebx + 0x64c5], xmm0
mov eax, dword [0x6f62d4]
mov dword [ebx + 0x64cd], eax
movzx eax, word [0x6f62d8]
mov word [ebx + 0x64d1], ax
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x494a5546
jne 0x48aedb
cmp dword [eax + 4], 0x4d4c4946
jne 0x48aedb
mov eax, dword [ebx]
push 0
push 0x54
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00489f70
push ebx
mov dword [ebx + 0x65c4], eax
call fcn.00489f70
mov dword [ebx + 0x65d0], eax
mov eax, dword [ebx]
push 0
push 0x5c
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00489f70
push eax
push ebx
call fcn.00495810
add esp, 0x2c
cmp dword [ebx + 0x65c4], 0x78
jle 0x48aea9
mov eax, dword [ebx]
push 0
push 0x78
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00489f70
xor ecx, ecx
add esp, 0x10
test eax, eax
setne cl
add dword [ebx + 0x6614], ecx
cmp dword [ebx + 0x6614], 2
jne 0x48aea9
cmp dword [ebx + 0xa0], 0
je 0x48aea9
push eax
push ebx
call fcn.00495810
add esp, 8
mov eax, dword [ebx]
push 0
push 0x64
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00489f70
mov dword [ebx + 0x65c0], eax
mov eax, dword [ebx + 0x65c4]
add eax, 0xc
push eax
push ebx
call fcn.00498940
add esp, 0x18
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x46464952
jne 0x48af02
mov eax, dword [ebx]
push 0
push 0
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push ebx
call fcn.00497fb0
add esp, 0x10
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x1000100
jne 0x48afb5
cmp word [eax + 4], 0x4000
jne 0x48afb5
mov eax, dword [ebx]
push 0
push 6
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
lea esi, [ebx + 0x6485]
push 8
push 1
push esi
push dword [ebx + 4]
mov eax, dword [eax]
call eax
mov eax, dword [ebx]
lea edi, [ebx + 0x64c5]
push 8
push 1
push edi
push dword [ebx + 4]
mov eax, dword [eax]
call eax
mov eax, dword [ebx]
lea ecx, [ebx + 0x6505]
push 0x10
push 1
push ecx
push dword [ebx + 4]
mov eax, dword [eax]
call eax
push ebx
call fcn.00489f30
add esp, 0x40
movzx eax, ax
mov dword [ebx + 0x65c0], eax
push ebx
call fcn.00489f30
push ebx
call fcn.00489f30
push ebx
mov word [ebx + 0x66b2], ax
call fcn.00489f30
add esp, 0xc
mov word [ebx + 0x66b0], ax
mov dword [ebx + 0x2e7fc], 0x4a2500
mov dword [ebx + 0x65b0], 0x61616161
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x2d435344
jne 0x48afdd
cmp dword [eax + 4], 0x67616d49
jne 0x48afdd
cmp byte [eax + 8], 0x65
jne 0x48afdd
push ebx
call fcn.00498220
add esp, 4
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x44415750
jne 0x48aff6
push ebx
call fcn.004985b0
add esp, 4
jmp 0x48b14f
lea eax, [ebp - 0x24]
cmp dword [eax], 0x4d524d00
jne 0x48b00e
push 0
push ebx
call fcn.00497360
jmp 0x48b14c
lea eax, [ebp - 0x24]
cmp dword [eax], 0x62564f46
jne 0x48b027
push ebx
call fcn.00495250
add esp, 4
jmp 0x48b14f
lea ecx, [ebp - 0x24]
mov eax, 0x4943
cmp word [ecx], ax
jne 0x48b042
push ebx
call fcn.00494520
add esp, 4
jmp 0x48b14f
mov ecx, dword [ebp - 0x7c]
lea edi, [ebx + 0x64c5]
mov edx, 0x6f3244
lea esi, [ebx + 0x6485]
mov eax, 0x44
mov dword [ebp - 0x84], edx
sub edi, 0x6f3250
mov dword [ebp - 0x78], eax
sub esi, edx
nop dword [eax]
cmp ecx, dword [edx - 4]
jne 0x48b0ae
mov ecx, edx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x48b077
lea ecx, [edx + 0xc]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x48b087
cmp byte [edx + 0x1f], al
je 0x48b0a8
push ebx
call fcn.00494ff0
mov edx, dword [ebp - 0x84]
add esp, 4
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
add edx, 0x24
sub esi, 0x24
sub edi, 0x24
mov dword [ebp - 0x84], edx
sub eax, 1
mov dword [ebp - 0x78], eax
jne 0x48b070
jmp 0x48b14f
lea ecx, [ebp - 0x1e]
mov edx, str.HEAPCCDR
mov esi, 4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48b0ec
add ecx, 4
add edx, 4
sub esi, 4
jae 0x48b0d7
xor eax, eax
jmp 0x48b113
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x48b10e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x48b10e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x48b10e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x48b10e
xor eax, eax
jmp 0x48b113
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b144
mov esi, dword [ebp - 0x7c]
mov eax, esi
sub eax, edi
mov dword [ebx + 0x65c0], edi
push eax
push edi
push ebx
call fcn.00493e10
add esp, 0xc
jmp 0x48b152
lea eax, [ebp - 0x24]
sub esi, eax
push esi
push ebx
call fcn.00497a90
add esp, 8
test esi, esi
je 0x48b14f
push 0
push ebx
call fcn.00498940
add esp, 8
mov esi, dword [ebp - 0x7c]
cmp byte [ebx + 0x6485], 0
lea eax, [ebx + 0x6485]
jne 0x48b18d
push esi
push 0
push ebx
call fcn.004987b0
lea eax, [ebx + 0x6485]
add esp, 0xc
cmp byte [eax], 0
jne 0x48b18d
push 0
push ebx
mov dword [ebx + 0x6614], 0
call fcn.00495ac0
add esp, 8
xor esi, esi
lea edi, [ebx + 0x6485]
nop word [eax + eax]
push dword [esi + 0x799024]
push edi
call fcn.006911d0
add esp, 8
test eax, eax
je 0x48b1ce
mov ecx, dword [esi + 0x799024]
mov edx, edi
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x48b1c0
add esi, 4
cmp esi, 0x3c
jb 0x48b1a0
push 5
push str.KODAK
push edi
call fcn.006a8ed0
add esp, 0xc
lea edi, [ebx + 0x64c5]
test eax, eax
jne 0x48b1fe
mov byte [ebx + 0x64d5], 0
mov byte [ebx + 0x6495], 0
lea ecx, [ebx + 0x6485]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b207
sub ecx, edx
lea eax, [ebx + 0x6484]
add eax, ecx
cmp byte [eax], 0x20
jne 0x48b22b
nop dword [eax]
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x48b220
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b230
sub ecx, edx
lea eax, [ebx + 0x64c4]
add eax, ecx
cmp byte [eax], 0x20
jne 0x48b251
mov byte [eax], 0
lea eax, [eax - 1]
cmp byte [eax], 0x20
je 0x48b246
lea edx, [ebx + 0x6485]
mov esi, edx
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x48b260
sub esi, ecx
push esi
push edx
push edi
call fcn.006ac5ad
add esp, 0xc
mov ecx, 0x40
test eax, eax
jne 0x48b29f
lea eax, [ebx + esi]
inc esi
cmp byte [eax + 0x64c5], 0x20
jne 0x48b29f
sub ecx, esi
lea eax, [ebx + 0x64c5]
push ecx
add eax, esi
push eax
push edi
call fcn.00690890
add esp, 0xc
push 0xf
push str.Digital_Camera
push edi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
jne 0x48b2ce
lea ecx, [ebx + 0x64d4]
mov edx, edi
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x48b2c0
mov byte [ebx + 0x6544], 0
mov byte [ebx + 0x6504], 0
mov byte [ebx + 0x64c4], 0
mov byte [ebx + 0x6584], 0
mov byte [ebx + 0x6484], 0
cmp dword [ebx + 0x6614], 0
je 0x48f41d
cmp dword [ebx + 0x65fc], 0
mov eax, 1
jne 0x48b31b
mov ecx, dword [ebx + 0x65f0]
shl eax, cl
dec eax
mov dword [ebx + 0x65fc], eax
movzx eax, word [ebx + 0x66b4]
mov ecx, eax
test ax, ax
jne 0x48b339
movzx eax, word [ebx + 0x66b0]
mov word [ebx + 0x66b4], ax
mov ecx, eax
movzx eax, word [ebx + 0x66b6]
mov esi, eax
test ax, ax
jne 0x48b357
movzx eax, word [ebx + 0x66b2]
mov word [ebx + 0x66b6], ax
mov esi, eax
movzx edi, word [ebx + 0x66c2]
movzx edx, cx
movzx eax, si
test di, di
je 0x48b395
movsd xmm0, qword [0x6ebff8]
lea eax, [ecx + edi]
movzx ecx, ax
mov word [ebx + 0x66b6], cx
movsd qword [ebx + 0x66d8], xmm0
lea eax, [ecx - 1]
mov word [ebx + 0x66b4], ax
movzx edx, ax
mov eax, ecx
mov dword [ebp - 0x78], 0xa40
movzx ecx, ax
movzx edi, dx
mov dword [ebp - 0x84], 0xc40
cmp dx, word [ebp - 0x78]
jne 0x48b3cd
mov edx, 0xf60
cmp ax, dx
jne 0x48b3cd
mov dword [ebx + 0x66b4], 0xf380a38
mov edx, 0xa38
jmp 0x48b424
mov edx, edi
mov esi, ecx
mov ecx, edx
mov eax, esi
cmp dx, word [ebp - 0x84]
jne 0x48b3fc
mov eax, 0x1300
mov dword [ebp - 0x78], edx
cmp si, ax
jne 0x48b427
mov dword [ebx + 0x66b4], 0x12500c34
mov edx, 0xc34
jmp 0x48b424
mov esi, 0xbc6
mov edx, ecx
mov dword [ebp - 0x78], edx
cmp cx, si
jne 0x48b427
mov esi, 0x1000
mov dword [ebp - 0x78], edx
cmp ax, si
jne 0x48b427
mov eax, 0xfae
mov word [ebx + 0x66b6], ax
mov dword [ebp - 0x78], edx
cmp dword [ebx + 0x6618], 0
mov edi, 2
movzx eax, dx
mov dword [ebp - 0x88], eax
je 0x48b4a3
mov eax, dword [ebx + 0x65b0]
cmp eax, 0xffffffff
jne 0x48b479
mov dword [ebx + 0x65b0], 0
mov eax, dword [ebx + 0x65ec]
mov dword [ebx + 0x66d0], eax
mov eax, dword [ebx + 0x65f4]
cmp eax, 1
jne 0x48b48b
mov dword [ebx + 0x2e7fc], 0x484ae0
jmp 0x48f309
test eax, eax
je 0x48b453
mov eax, dword [ebx + 0x65ec]
mov dword [ebx + 0x6614], eax
jmp 0x48b45f
cmp eax, 7
jne 0x48f309
mov dword [ebx + 0x2e7fc], 0x484970
jmp 0x48f309
mov ecx, str.Canon
lea eax, [ebx + 0x6485]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b4cf
test dl, dl
je 0x48b4cb
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b4cf
add eax, 2
add ecx, edi
test dl, dl
jne 0x48b4b0
xor edi, edi
jmp 0x48b4d4
sbb edi, edi
or edi, 1
test edi, edi
jne 0x48b4fe
lea eax, [ebp - 0x1e]
cmp dword [eax], 0x50414548
jne 0x48b4f1
cmp dword [eax + 4], 0x52444343
mov esi, 0x4878c0
je 0x48b4f6
mov esi, 0x491f00
mov dword [ebx + 0x2e7fc], esi
jmp 0x48b504
mov esi, dword [ebx + 0x2e7fc]
mov ecx, str.NIKON
lea eax, [ebx + 0x6485]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b530
test dl, dl
je 0x48b52c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b530
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b510
xor eax, eax
jmp 0x48b535
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b570
test esi, esi
jne 0x48b547
mov dword [ebx + 0x2e7fc], 0x493890
cmp byte [ebx + 0x64c5], 0x45
lea esi, [ebx + 0x64c5]
jne 0x48b576
xor eax, eax
cmp dword [ebx + 0x65c0], eax
sete al
lea eax, [eax*4 + 2]
or dword [ebx + 0x66ac], eax
jmp 0x48b576
lea esi, [ebx + 0x64c5]
mov ecx, str.CASIO
lea eax, [ebx + 0x6485]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b5a1
test dl, dl
je 0x48b59d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b5a1
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b581
xor eax, eax
jmp 0x48b5a6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b5be
mov dword [ebx + 0x2e7fc], 0x493890
mov dword [ebx + 0x65fc], 0xf7f
cmp dword [ebx + 0x661c], 0
jne 0x48bca5
test edi, edi
jne 0x48b620
cmp dword [ebx + 0x65f0], 0xf
jne 0x48b620
movzx eax, word [ebx + 0x66b6]
mov ecx, 0xd10
cmp ax, cx
je 0x48b5f7
mov edx, 0xf20
mov ecx, eax
cmp ax, dx
je 0x48b5fd
jmp 0x48b607
add eax, 0xffffffbe
movzx ecx, ax
lea eax, [ecx - 6]
mov word [ebx + 0x66b6], ax
mov dword [ebx + 0x65b0], 0
mov dword [ebx + 0x2e7fc], 0x487f10
jmp 0x48bca5
mov ecx, str.PowerShot_600
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b647
test dl, dl
je 0x48b643
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b647
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b627
xor eax, eax
jmp 0x48b64c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b699
movsd xmm0, qword [0x6f6a80]
mov eax, 0x380
mov dword [ebx + 0x66b4], 0x3560265
mov word [ebx + 0x66b2], ax
movsd qword [ebx + 0x66d8], xmm0
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0xe1e4e1e4
mov dword [ebx + 0x2e7fc], 0x4870e0
jmp 0x48bca5
mov ecx, str.PowerShot_A5
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b6c0
test dl, dl
je 0x48b6bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b6c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b6a0
xor eax, eax
jmp 0x48b6c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f2d6
mov ecx, str.PowerShot_A5_Zoom
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b6f4
test dl, dl
je 0x48b6f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b6f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b6d4
xor eax, eax
jmp 0x48b6f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f2d6
mov ecx, str.PowerShot_A50
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b728
test dl, dl
je 0x48b724
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b728
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b708
xor eax, eax
jmp 0x48b72d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b76a
mov dword [ebx + 0x66b4], 0x50a03c8
mov eax, 0x528
mov dword [ebx + 0x65b0], 0x1b4e4b1e
mov word [ebx + 0x66b2], ax
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_Pro70
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b791
test dl, dl
je 0x48b78d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b791
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b771
xor eax, eax
jmp 0x48b796
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b7b0
mov dword [ebx + 0x66b4], 0x6100400
mov dword [ebx + 0x65b0], 0x1e4b4e1b
jmp 0x48b751
mov ecx, str.PowerShot_SD300
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b7d7
test dl, dl
je 0x48b7d3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b7d7
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b7b7
xor eax, eax
jmp 0x48b7dc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b80d
mov dword [ebx + 0x66b4], 0x92806d8
mov dword [ebx + 0x66b0], 0x96006e6
mov dword [ebx + 0x66b8], 0xc000c
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A460
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b834
test dl, dl
je 0x48b830
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b834
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b814
xor eax, eax
jmp 0x48b839
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b86a
mov dword [ebx + 0x66b4], 0xa3807a8
mov dword [ebx + 0x66b0], 0xa6807b0
mov dword [ebx + 0x66b8], 0x40004
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A530
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b891
test dl, dl
je 0x48b88d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b891
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b871
xor eax, eax
jmp 0x48b896
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b8cd
mov dword [ebx + 0x66b4], 0xa3c07c0
mov dword [ebx + 0x66b0], 0xa7007c8
mov dword [ebx + 0x66b8], 0xa0006
mov dword [ebx + 0x2e7fc], 0x4874d0
mov dword [ebx + 0x6604], eax
jmp 0x48bca5
mov ecx, str.PowerShot_A610
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b8f4
test dl, dl
je 0x48b8f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b8f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b8d4
xor eax, eax
jmp 0x48b8f9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b94f
push ebx
call fcn.00487ec0
add esp, 4
test eax, eax
je 0x48b922
mov eax, dword [str.S2_IS]
mov dword [ebx + 0x64cf], eax
mov ax, word [0x6f6384]
mov word [ebx + 0x64d3], ax
mov dword [ebx + 0x66b4], 0xa3807a8
mov dword [ebx + 0x66b0], 0xa7007b0
mov dword [ebx + 0x66b8], 0xc0008
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A620
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b976
test dl, dl
je 0x48b972
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b976
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b956
xor eax, eax
jmp 0x48b97b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b9ac
mov dword [ebx + 0x66b4], 0xc280918
mov dword [ebx + 0x66b0], 0xc500924
mov dword [ebx + 0x66b8], 0x24000c
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A720
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48b9d3
test dl, dl
je 0x48b9cf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48b9d3
add eax, 2
add ecx, 2
test dl, dl
jne 0x48b9b3
xor eax, eax
jmp 0x48b9d8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ba09
mov dword [ebx + 0x66b4], 0xce209a8
mov dword [ebx + 0x66b0], 0xd0809b0
mov dword [ebx + 0x66b8], 0x60005
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A630
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ba30
test dl, dl
je 0x48ba2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ba30
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ba10
xor eax, eax
jmp 0x48ba35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ba66
mov dword [ebx + 0x66b4], 0xcd809a8
mov dword [ebx + 0x66b0], 0xd1009b4
mov dword [ebx + 0x66b8], 0xc0006
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A640
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ba90
test dl, dl
je 0x48ba8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ba90
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ba70
xor eax, eax
jmp 0x48ba95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48bac6
mov dword [ebx + 0x66b4], 0xe580ac8
mov dword [ebx + 0x66b0], 0xe980ad4
mov dword [ebx + 0x66b8], 0xc0006
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_A650
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48baf0
test dl, dl
je 0x48baec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48baf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48bad0
xor eax, eax
jmp 0x48baf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48bb26
mov dword [ebx + 0x66b4], 0xfc00bd0
mov dword [ebx + 0x66b0], 0x10080be8
mov dword [ebx + 0x66b8], 0x30000c
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_S3_IS
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48bb50
test dl, dl
je 0x48bb4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48bb50
add eax, 2
add ecx, 2
test dl, dl
jne 0x48bb30
xor eax, eax
jmp 0x48bb55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48bb86
mov dword [ebx + 0x66b4], 0xb180850
mov dword [ebx + 0x66b0], 0xb480858
mov dword [ebx + 0x66b8], 0x2c0008
mov dword [ebx + 0x2e7fc], 0x4874d0
jmp 0x48bca5
mov ecx, str.PowerShot_Pro90_IS
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48bbb0
test dl, dl
je 0x48bbac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48bbb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48bb90
xor eax, eax
jmp 0x48bbb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48bbde
mov eax, 0x768
mov dword [ebx + 0x66d0], 4
mov word [ebx + 0x66b6], ax
mov dword [ebx + 0x65b0], 0xb4b4b4b4
jmp 0x48bca5
movzx ecx, word [ebx + 0x66b2]
test edi, edi
jne 0x48be0e
mov edx, 0x860
mov eax, ecx
cmp cx, dx
jne 0x48bc63
mov dword [ebx + 0x66b4], 0x828060e
mov ecx, str.PowerShot_G1
mov dword [ebx + 0x66b8], 0x40008
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48bc38
test dl, dl
je 0x48bc34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48bc38
add eax, 2
add ecx, 2
test dl, dl
jne 0x48bc18
xor eax, eax
jmp 0x48bc3d
sbb eax, eax
or eax, 1
lea esi, [ebx + 0x64c5]
lea edi, [ebx + 0x6485]
test eax, eax
jne 0x48bcb1
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0xb4b4b4b4
jmp 0x48bcb1
mov ecx, 0x8b0
cmp ax, cx
jne 0x48bc83
mov dword [ebx + 0x66b4], 0x88005a8
mov dword [ebx + 0x66b8], 0x300006
jmp 0x48bca5
mov ecx, 0x948
cmp ax, cx
jne 0x48bd5b
mov dword [ebx + 0x66b4], 0x90806b8
mov dword [ebx + 0x66b8], 0xc0006
lea esi, [ebx + 0x64c5]
lea edi, [ebx + 0x6485]
cmp byte [esi], 0
jne 0x48bcd4
movzx eax, word [ebx + 0x66b4]
push eax
movzx eax, word [ebx + 0x66b6]
push eax
push str._dx_d
push esi
call fcn.00423c00
add esp, 0x10
cmp dword [ebx + 0x65b0], 0xffffffff
jne 0x48bce7
mov dword [ebx + 0x65b0], 0x94949494
cmp dword [ebx + 0x6604], 0
je 0x48bcfb
push esi
push edi
push ebx
call fcn.00484630
add esp, 0xc
mov ecx, dword [ebx + 0x65c4]
test ecx, ecx
je 0x48f304
cmp word [ebx + 0x66c6], 0
jne 0x48f304
mov eax, dword [ebx]
push 0
push ecx
push dword [ebx + 4]
mov eax, dword [eax + 8]
call eax
push 1
lea eax, [ebp - 0x74]
push eax
push ebx
call fcn.00491c00
add esp, 0x18
mov edi, 2
test eax, eax
je 0x48f309
movzx eax, word [ebp - 0x6c]
mov word [ebx + 0x66c4], ax
movzx eax, word [ebp - 0x70]
mov word [ebx + 0x66c6], ax
jmp 0x48f309
mov ecx, 0xa70
cmp ax, cx
jne 0x48bd74
mov dword [ebx + 0x66b4], 0xa3807a8
jmp 0x48bc9b
mov ecx, 0xc50
cmp ax, cx
jne 0x48bdba
cmp dword [ebx + 0x65b8], 0x80000170
mov dword [ebx + 0x66b4], 0xc100808
mov dword [ebx + 0x66b8], 0x40000c
jne 0x48bca5
push str.EOS_300D
push str.Canon
push ebx
call fcn.00484630
add esp, 0xc
jmp 0x48bca5
mov ecx, 0xc58
cmp ax, cx
jne 0x48bddd
mov dword [ebx + 0x66b4], 0xc280918
mov dword [ebx + 0x66b8], 0x2c000c
jmp 0x48bca5
mov ecx, dword [ebp - 0x88]
mov esi, eax
movzx ecx, cx
mov dword [ebp - 0x78], ecx
mov ecx, 0xd10
cmp ax, cx
jne 0x48be10
mov dword [ebx + 0x66b4], 0xcd809a8
mov dword [ebx + 0x66b8], 0x40006
jmp 0x48bca5
mov esi, ecx
mov ecx, str.EOS_D2000C
lea eax, [ebx + 0x64c5]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48be40
test dl, dl
je 0x48be3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48be40
add eax, 2
add ecx, 2
test dl, dl
jne 0x48be20
xor eax, eax
jmp 0x48be45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48be65
mov dword [ebx + 0x65b0], 0x61616161
movzx eax, word [ebx + 0x68f4]
mov dword [ebx + 0x65f8], eax
jmp 0x48bca5
mov ecx, 0xf90
mov edx, 0x4b8
test edi, edi
jne 0x48c0c2
mov eax, 0xdbc
cmp si, ax
jne 0x48beb3
cmp dword [ebx + 0x65b8], 0x80000189
mov dword [ebx + 0x66b8], 0x2a000e
jne 0x48c07e
push str.EOS_350D
push str.Canon
push ebx
call fcn.00484630
add esp, 0xc
jmp 0x48c07e
mov eax, 0xe0c
cmp si, ax
jne 0x48becc
mov dword [ebx + 0x66b8], 0x4a000c
jmp 0x48c07e
mov eax, 0xf68
cmp si, ax
jne 0x48beef
mov dword [ebx + 0x66b4], 0xf440a2a
mov dword [ebx + 0x66b8], 0x1e0012
jmp 0x48bca5
mov eax, 0xf6c
cmp si, ax
jne 0x48bf57
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffe
mov dword [ebx + 0x66b8], 0x2a0012
cmp dword [ebx + 0x65b8], 0x80000236
mov word [ebx + 0x66b4], ax
jne 0x48bf2f
push str.EOS_400D
push str.Canon
push ebx
call fcn.00484630
add esp, 0xc
cmp dword [ebx + 0x65b8], 0x80000254
jne 0x48c07e
push str.EOS_1000D
push str.Canon
push ebx
call fcn.00484630
add esp, 0xc
jmp 0x48c07e
cmp si, cx
jne 0x48bf78
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffe
mov dword [ebx + 0x66b8], 0x4c0014
mov word [ebx + 0x66b4], ax
jmp 0x48c07e
mov eax, 0x1008
cmp si, ax
jne 0x48bf9b
mov dword [ebx + 0x66b4], 0xfc00bd0
mov dword [ebx + 0x66b8], 0x30000c
jmp 0x48bca5
mov eax, 0x10d8
cmp si, ax
jne 0x48bfe4
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffe
mov dword [ebx + 0x66b8], 0x160012
cmp dword [ebx + 0x65b8], 0x80000176
mov word [ebx + 0x66b4], ax
jne 0x48c07e
push str.EOS_450D
push str.Canon
push ebx
call fcn.00484630
add esp, 0xc
jmp 0x48c07e
mov eax, 0x117c
cmp si, ax
jne 0x48bffd
mov dword [ebx + 0x66b8], 0x5a0022
jmp 0x48c07e
mov eax, 0x1180
cmp si, ax
jne 0x48c02a
mov dword [ebx + 0x66b4], 0x11500cfe
mov dword [ebx + 0x66b8], 0xc000a
mov dword [ebx + 0x65b0], 0x49494949
jmp 0x48bca5
cmp si, dx
jne 0x48c054
mov dword [ebx + 0x66b8], 0x3e0033
mov ax, word [ebx + 0x66b6]
shl ax, 2
mov word [ebx + 0x66b6], ax
mov word [ebx + 0x66b2], ax
jmp 0x48c07e
mov eax, 0x5a8
cmp si, ax
jne 0x48c06a
mov dword [ebx + 0x66b8], 0x9e0033
jmp 0x48c039
mov eax, 0x13f4
cmp si, ax
jne 0x48c09f
mov dword [ebx + 0x66b8], 0x62000d
movzx eax, word [ebx + 0x66b8]
sub word [ebx + 0x66b4], ax
movzx eax, word [ebx + 0x66ba]
sub word [ebx + 0x66b6], ax
jmp 0x48bca5
mov eax, 0x1650
cmp si, ax
jne 0x48c0c2
mov dword [ebx + 0x66b4], 0x16080ea8
mov dword [ebx + 0x66b8], 0x3e0014
jmp 0x48bca5
lea esi, [ebx + 0x64c5]
mov ecx, 0x6f6454
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c0f0
test dl, dl
je 0x48c0ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c0f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c0d0
xor eax, eax
jmp 0x48c0f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c12e
movss xmm0, dword [ebx + 0xe774]
mulss xmm0, dword [0x6f69c4]
movss dword [ebx + 0xe774], xmm0
movss xmm0, dword [ebx + 0xe77c]
mulss xmm0, dword [0x6f69c8]
movss dword [ebx + 0xe77c], xmm0
jmp 0x48bcab
mov ecx, 0x6f6458
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c155
test dl, dl
je 0x48c151
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c155
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c135
xor eax, eax
jmp 0x48c15a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c17f
movsd xmm0, qword [0x6ebff0]
mov eax, 0xfffc
add word [ebx + 0x66b6], ax
movsd qword [ebx + 0x66d8], xmm0
jmp 0x48bcab
mov ecx, str.D40X
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c1a6
test dl, dl
je 0x48c1a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c1a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c186
xor eax, eax
jmp 0x48c1ab
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f2b8
mov ecx, 0x6f6464
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c1e0
test dl, dl
je 0x48c1dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c1e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c1c0
xor eax, eax
jmp 0x48c1e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f2b8
mov ecx, 0x6f6468
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c214
test dl, dl
je 0x48c210
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c214
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c1f4
xor eax, eax
jmp 0x48c219
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f2b8
mov ecx, 0x6f646c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c248
test dl, dl
je 0x48c244
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c248
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c228
xor eax, eax
jmp 0x48c24d
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f29b
mov ecx, str.D700
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c280
test dl, dl
je 0x48c27c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c280
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c260
xor eax, eax
jmp 0x48c285
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f29b
push 3
push 0x6f6478
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48f28a
push 3
push 0x6f647c
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48f28a
push 3
push 0x6f6480
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48f28a
mov ecx, 0x6f6484
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c300
test dl, dl
je 0x48c2fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c300
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c2e0
xor eax, eax
jmp 0x48c305
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c31a
mov eax, 0xffd6
add word [ebx + 0x66b6], ax
jmp 0x48bcab
mov ecx, str.D100
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c341
test dl, dl
je 0x48c33d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c341
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c321
xor eax, eax
jmp 0x48c346
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c3a0
cmp dword [ebx + 0x65f4], 0x8799
jne 0x48bcab
push ebx
call fcn.00493270
add esp, 4
lea edi, [ebx + 0x6485]
test eax, eax
jne 0x48bcb1
add word [ebx + 0x66b6], 3
movzx eax, word [ebx + 0x66b6]
or dword [ebx + 0x66ac], 8
add eax, 3
mov dword [ebx + 0x2e7fc], 0x493890
mov word [ebx + 0x66b2], ax
jmp 0x48bcb1
mov ecx, str.D200
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c3c7
test dl, dl
je 0x48c3c3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c3c7
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c3a7
xor eax, eax
jmp 0x48c3cc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c3f7
mov eax, 1
mov dword [ebx + 0x65b0], 0x94949494
mov word [ebx + 0x66ba], ax
mov eax, 0xfffc
add word [ebx + 0x66b6], ax
jmp 0x48bcab
push 3
push 0x6f6498
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
jne 0x48c428
mov eax, 6
mov word [ebx + 0x66ba], ax
mov eax, 0xfff2
add word [ebx + 0x66b6], ax
jmp 0x48bcab
push 3
push 0x6f649c
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
jne 0x48c465
movzx edx, word [ebx + 0x66b6]
mov edi, 0xcc0
cmp dx, di
mov ecx, 0xca0
lea eax, [edx - 8]
movzx eax, ax
cmovne ecx, eax
mov word [ebx + 0x66b6], cx
jmp 0x48bcab
mov ecx, str.D300
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c490
test dl, dl
je 0x48c48c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c490
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c470
xor eax, eax
jmp 0x48c495
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c4aa
mov eax, 0xffe0
add word [ebx + 0x66b6], ax
jmp 0x48bcab
mov ecx, str.COOLPIX_P6000
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c4d1
test dl, dl
je 0x48c4cd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c4d1
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c4b1
xor eax, eax
jmp 0x48c4d6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c4f3
mov dword [ebx + 0x66ac], 1
mov dword [ebx + 0x65b0], 0x94949494
jmp 0x48bcab
mov edi, dword [ebp - 0x7c]
cmp edi, 0x182004
jne 0x48c56e
mov eax, 0x660
mov dword [ebx + 0x66b4], 0x50703c3
push 3
push ebx
mov word [ebx + 0x66b2], ax
mov dword [ebx + 0x2e7fc], 0x493090
mov dword [ebx + 0x65fc], 0x3f4
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0x1e1e1e1e
call fcn.0049f180
add esp, 8
mov dword [ebx + 0xe784], 0x3f9ab021
mov dword [ebx + 0xe788], 0x3f8c1206
mov dword [ebx + 0xe790], 0x3f8e1e4f
jmp 0x48bcab
cmp edi, 0x25a000
jne 0x48c5c2
push str.E950
mov eax, 0x800
mov dword [ebx + 0x66b4], 0x65004b3
push str.NIKON
push ebx
mov word [ebx + 0x66b2], ax
mov dword [ebx + 0x2e7fc], 0x493090
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0x4b4b4b4b
call fcn.00484630
add esp, 0xc
jmp 0x48bcab
cmp edi, 0x48d000
jne 0x48c696
mov eax, dword [ebx + 0x65a0]
or eax, dword [ebx + 0x65a4]
mov dword [ebx + 0x66b4], 0x8100604
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0xe1e1e1e1
mov dword [ebx + 0x2e7fc], 0x493890
mov dword [ebx + 0x66ac], 6
jne 0x48c62a
push ebx
call fcn.004931b0
add esp, 4
test eax, eax
je 0x48c62a
mov eax, dword [str.E995]
mov dword [esi], eax
mov al, byte [0x6f64c4]
mov byte [esi + 4], al
mov ecx, str.E995
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c651
test dl, dl
je 0x48c64d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c651
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c631
xor eax, eax
jmp 0x48c656
sbb eax, eax
or eax, 1
test eax, eax
je 0x48bcab
push 3
push ebx
mov dword [ebx + 0x65b0], 0xb4b4b4b4
call fcn.0049f180
add esp, 8
mov dword [ebx + 0xe784], 0x3f991687
mov dword [ebx + 0xe788], 0x3f9f7cee
mov dword [ebx + 0xe78c], 0x3f824dd3
jmp 0x48bcab
mov ecx, str.E2100
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c6c0
test dl, dl
je 0x48c6bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c6c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c6a0
xor eax, eax
jmp 0x48c6c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c6fd
mov eax, dword [ebx + 0x65a0]
or eax, dword [ebx + 0x65a4]
jne 0x48c6e4
push ebx
call fcn.00492fe0
add esp, 4
test eax, eax
je 0x48c72d
mov dword [ebx + 0x66b4], 0x65004b6
mov dword [ebx + 0x66ac], 7
jmp 0x48bcab
mov ecx, str.E2500
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c724
test dl, dl
je 0x48c720
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c724
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c704
xor eax, eax
jmp 0x48c729
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c761
mov eax, dword [str.E2500]
mov dword [esi], eax
mov ax, word [0x6f64d4]
mov word [esi + 4], ax
mov dword [ebx + 0x66b4], 0x65004b4
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0x4b4b4b4b
jmp 0x48bcab
cmp edi, 0x48e000
jne 0x48c842
mov dword [ebx + 0x66b4], 0x8100606
mov dword [ebx + 0x2e7fc], 0x493890
mov dword [ebx + 0x66ac], 7
mov dword [ebx + 0xe784], 0x3fe8b439
mov dword [ebx + 0xe78c], 0x3fcf1aa0
mov eax, dword [ebx + 0x65a0]
or eax, dword [ebx + 0x65a4]
jne 0x48c7b6
push ebx
call fcn.004929d0
add esp, 4
cmp byte [esi], 0x45
jne 0x48c7db
lea eax, [ebx + 0x64c6]
push eax
call fcn.0069b9c7
add esp, 4
cmp eax, 0xe74
jge 0x48c7db
mov dword [ebx + 0x65b0], 0x49494949
mov ecx, str.Optio_33WR
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c802
test dl, dl
je 0x48c7fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c802
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c7e2
xor eax, eax
jmp 0x48c807
sbb eax, eax
or eax, 1
lea edi, [ebx + 0x6485]
test eax, eax
jne 0x48bcb1
mov dword [ebx + 0x66c8], 1
mov dword [ebx + 0x65b0], 0x16161616
mov dword [ebx + 0xe784], 0x3faa5e35
mov dword [ebx + 0xe78c], 0x3fe8f5c3
jmp 0x48bcb1
cmp edi, 0x599000
jne 0x48c8d1
mov eax, dword [ebx + 0x65a0]
or eax, dword [ebx + 0x65a4]
mov dword [ebx + 0x66b4], 0x8f006ae
mov dword [ebx + 0x65b0], 0x16161616
jne 0x48c8ab
push ebx
call fcn.00492920
add esp, 4
lea edi, [ebx + 0x6485]
test eax, eax
je 0x48c8b1
mov eax, dword [str.Minolta]
mov ecx, dword [0x6f58bc]
mov dword [edi], eax
mov dword [edi + 4], ecx
movq xmm0, qword [str.DiMAGE_Z2]
movq qword [esi], xmm0
mov ax, word [0x6f64e0]
mov word [esi + 8], ax
jmp 0x48c8b1
lea edi, [ebx + 0x6485]
xor eax, eax
mov dword [ebx + 0x2e7fc], 0x493890
cmp byte [edi], 0x4d
sete al
add eax, 6
mov dword [ebx + 0x66ac], eax
jmp 0x48bcb1
mov ecx, str.E4500
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c8f8
test dl, dl
je 0x48c8f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c8f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c8d8
xor eax, eax
jmp 0x48c8fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c924
mov dword [ebx + 0x66b4], 0x8f006ac
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0xb4b4b4b4
jmp 0x48bcab
cmp edi, 0x718000
jne 0x48c94f
mov dword [ebx + 0x66b4], 0xa100784
mov dword [ebx + 0x66d0], 4
mov dword [ebx + 0x65b0], 0xb4b4b4b4
jmp 0x48bcab
cmp edi, 0x895000
jne 0x48c984
mov dword [ebx + 0x66b4], 0xb100846
mov dword [ebx + 0x65fc], 0xf83
mov dword [ebx + 0x2e7fc], 0x493890
mov dword [ebx + 0x66ac], 7
jmp 0x48bcab
mov ecx, str.FinePix_S5100
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c9b0
test dl, dl
je 0x48c9ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c9b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c990
xor eax, eax
jmp 0x48c9b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x48d49d
mov ecx, str.FinePix_S5500
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48c9e4
test dl, dl
je 0x48c9e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48c9e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x48c9c4
xor eax, eax
jmp 0x48c9e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x48d49d
mov ecx, str.FUJIFILM
lea eax, [ebx + 0x6485]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ca20
test dl, dl
je 0x48ca1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ca20
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ca00
xor eax, eax
jmp 0x48ca25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cbc2
mov ecx, str.S2Pro
lea eax, [ebx + 0x64cc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ca58
test dl, dl
je 0x48ca54
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ca58
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ca38
xor eax, eax
jmp 0x48ca5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ca9c
mov eax, dword [str._S2Pro]
mov edi, 0x860
mov dword [ebx + 0x64cc], eax
mov ax, word [0x6f6518]
mov word [ebx + 0x64d0], ax
mov al, byte [0x6f651a]
mov byte [ebx + 0x64d2], al
mov dword [ebx + 0x66c8], 6
mov dword [ebp - 0x78], 0xb40
jmp 0x48cab7
movzx eax, word [ebx + 0x66b6]
movzx edi, word [ebx + 0x66b4]
mov dword [ebx + 0x65fc], 0x3e00
mov dword [ebp - 0x78], eax
cmp dword [ebx + 0x6614], 2
jne 0x48cad3
cmp dword [ebx + 0xa0], 0
je 0x48cad3
mov dword [ebx + 0x65fc], 0x2f00
movzx eax, word [ebx + 0x66b0]
movzx esi, word [ebx + 0x66b2]
movzx ecx, di
sub eax, ecx
mov ecx, dword [ebp - 0x78]
cdq
sub eax, edx
movzx ecx, cx
sar eax, 1
mov word [ebx + 0x66b8], ax
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [ebx + 0x6614], 2
mov word [ebx + 0x66ba], ax
jne 0x48cb4d
cmp dword [ebx + 0x65e4], 0
je 0x48cb2f
movzx eax, word [ebx + 0x66b2]
add eax, eax
mov word [ebx + 0x66b2], ax
movzx esi, ax
jmp 0x48cb3b
movzx eax, word [ebx + 0x66b0]
imul esi, eax
add esi, esi
xor eax, eax
cmp eax, dword [ebx + 0xa0]
sbb eax, eax
and eax, esi
add dword [ebx + 0x65c0], eax
mov edx, dword [ebx + 0x65e4]
lea esi, [ebx + 0x64c5]
xor eax, eax
mov word [ebx + 0x66b0], di
test edx, edx
mov dword [ebx + 0x2e7fc], 0x489900
sete al
mov cx, ax
mov eax, dword [ebp - 0x78]
shr ax, cl
mov cx, dx
mov dword [ebp - 0x78], eax
mov word [ebx + 0x66c2], ax
mov eax, edi
shr ax, cl
lea edi, [ebx + 0x6485]
mov ecx, dword [ebp - 0x78]
add ax, cx
movzx eax, ax
mov word [ebx + 0x66b6], ax
dec eax
mov word [ebx + 0x66b4], ax
test cl, 1
jne 0x48bcb1
mov dword [ebx + 0x65b0], 0x49494949
jmp 0x48bcb1
mov ecx, str.RD175
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48cbf0
test dl, dl
je 0x48cbec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48cbf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48cbd0
xor eax, eax
jmp 0x48cbf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cc26
mov dword [ebx + 0x66b4], 0x5fe03da
mov dword [ebx + 0x65c0], 0x201
mov dword [ebx + 0x65b0], 0x61616161
mov dword [ebx + 0x2e7fc], 0x492600
jmp 0x48bcab
mov ecx, str.KD_400Z
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48cc50
test dl, dl
je 0x48cc4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48cc50
add eax, 2
add ecx, 2
test dl, dl
jne 0x48cc30
xor eax, eax
jmp 0x48cc55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cc74
mov eax, 0x920
mov dword [ebx + 0x66b4], 0x90806b0
mov word [ebx + 0x66b2], ax
jmp 0x48f265
mov ecx, str.KD_510Z
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48cca0
test dl, dl
je 0x48cc9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48cca0
add eax, 2
add ecx, 2
test dl, dl
jne 0x48cc80
xor eax, eax
jmp 0x48cca5
sbb eax, eax
or eax, 1
test eax, eax
je 0x48f23e
lea eax, [ebx + 0x6485]
push str.MINOLTA
push eax
call fcn.006a6582
add esp, 8
test eax, eax
jne 0x48ce09
push 8
push str.DiMAGE_A
push esi
mov dword [ebx + 0x2e7fc], 0x4a10a0
call fcn.006a8ed0
add esp, 0xc
test eax, eax
jne 0x48cd32
mov ecx, str.DiMAGE_A200
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48cd10
test dl, dl
je 0x48cd0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48cd10
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ccf0
xor eax, eax
jmp 0x48cd15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cd23
mov dword [ebx + 0x65b0], 0x49494949
mov dword [ebx + 0x2e7fc], 0x493890
jmp 0x48bcab
push 5
push str.ALPHA
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48cdbe
push 5
push str.DYNAX
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48cdbe
push 6
push str.MAXXUM
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
je 0x48cdbe
push 8
push str.DiMAGE_G
push esi
call fcn.006a8ed0
add esp, 0xc
test eax, eax
jne 0x48bcab
mov al, byte [ebx + 0x64cd]
cmp al, 0x34
jne 0x48cd9f
xor eax, eax
lea esi, [ebx + 0x64d9]
cmp byte [ebx + 0x64c5], 0x4d
sete al
add eax, 0x64cb
add eax, ebx
push eax
push str.DYNAX___10s
push esi
call fcn.00423c00
push esi
lea edi, [ebx + 0x6485]
push edi
push ebx
call fcn.00484630
add esp, 0x18
mov dword [ebx + 0x2e7fc], 0x493890
lea esi, [ebx + 0x64c5]
jmp 0x48bcb1
mov ecx, str.ist_DS
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ce30
test dl, dl
je 0x48ce2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ce30
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ce10
xor eax, eax
jmp 0x48ce35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ce4a
mov eax, 0xfffe
add word [ebx + 0x66b4], ax
jmp 0x48bcab
mov ecx, str.K20D
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ce71
test dl, dl
je 0x48ce6d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48ce71
add eax, 2
add ecx, 2
test dl, dl
jne 0x48ce51
xor eax, eax
jmp 0x48ce76
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ce89
mov dword [ebx + 0x65b0], 0x16161616
jmp 0x48bcab
mov ecx, str.Optio_S
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48ceb0
test dl, dl
je 0x48ceac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cf6b
mov dword [ebx + 0x2e7fc], fcn.004a10a0
jmp 0x48bcab
mov eax, 0xa40
mov dword [ebx + 0x66b4], 0xa2f07a4
mov word [ebx + 0x66b2], ax
add dword [ebx + 0x65c0], 0xe
mov dword [ebx + 0x65b0], 0x61616161
mov eax, 0x4d4d
mov dword [ebx + 0x2e7fc], 0x4a10a0
mov dword [ebx + 0x65fc], 0x3df
mov word [ebx + 0x6274], ax
jmp 0x48bcab
mov eax, 0xffff
add word [ebx + 0x66b6], ax
jmp 0x48bcab
mov eax, 0xfffc
add word [ebx + 0x66b6], ax
mov eax, 2
mov word [ebx + 0x66ba], ax
jmp 0x48bcab
mov eax, dword [ebp - 0x78]
add eax, 0xfffffffd
mov word [ebx + 0x66b4], ax
mov eax, 0xfffc
add word [ebx + 0x66b6], ax
jmp 0x48bcab
movsd xmm0, qword [0x6f6a88]
mov eax, 0x3e0
mov dword [ebx + 0x66b4], 0x3c00305
movsd qword [ebx + 0x66d8], xmm0
mov dword [ebx + 0x65b0], 0x1e4e1e4e
jmp 0x48b74a
mov edi, 2
mov eax, dword [ebx + 0x2e7fc]
test eax, eax
je 0x48f31d
cmp word [ebx + 0x66b4], 0x16
jae 0x48f327
mov dword [ebx + 0x6614], 0
cmp eax, fcn.004056a0
jne 0x48f356
push dword [ebx + 0x6278]
push str._s:_You_must_link_dcraw_with_libjpeg___n
push 2
call fcn.006a8221
add esp, 4
push eax
call fcn.0040dea0
add esp, 0xc
mov dword [ebx + 0x6614], 0
cmp byte [ebx + 0x6280], 0
lea edx, [ebx + 0x6280]
jne 0x48f38e
cmp dword [ebx + 0x66d0], 3
mov ecx, 0x6f6828
mov eax, str.GMCY
cmovne ecx, eax
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x48f380
cmp word [ebx + 0x66b0], 0
jne 0x48f3a6
mov ax, word [ebx + 0x66b4]
mov word [ebx + 0x66b0], ax
cmp word [ebx + 0x66b2], 0
jne 0x48f3be
mov ax, word [ebx + 0x66b6]
mov word [ebx + 0x66b2], ax
mov edx, dword [ebx + 0x65b0]
test edx, edx
je 0x48f41d
cmp dword [ebx + 0x66d0], 3
jne 0x48f41d
xor ecx, ecx
nop dword [eax + eax]
mov eax, edx
mov esi, edx
shr eax, cl
and eax, 0xf
cmp al, 9
jne 0x48f3f9
mov esi, edi
shl esi, cl
or esi, edx
mov dword [ebx + 0x65b0], esi
mov eax, esi
mov edx, esi
shr eax, cl
and eax, 0xf
cmp al, 6
jne 0x48f415
mov edx, 8
shl edx, cl
or edx, esi
mov dword [ebx + 0x65b0], edx
add ecx, 4
cmp ecx, 0x20
jb 0x48f3e0
mov eax, dword [ebx + 0x66c8]
pop edi
pop esi
cmp eax, 0xffffffff
jne 0x48f445
mov eax, dword [ebx + 0x66cc]
mov dword [ebx + 0x66c8], eax
cmp eax, 0xffffffff
jne 0x48f445
mov dword [ebx + 0x66c8], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0068d76f
mov esp, ebp
pop ebp
ret