Function at 0x10132b50
Capabilities:
Authenticate hmac
Encode data using xor
Parse pe header

Disassembly:
mov eax, 0x2a4c
call fcn.1026ac60
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0x18], 1
push edi
lea eax, [esp + 0x3ec]
mov dword [esp + 0x28], ebp
push dword [ebp + 0xf2c]
push eax
push 0x40
call fcn.1016e130
lea edi, [esp + 0x3ec]
mov esi, 0x102c3bd8
lea ebx, [ebp + 0x25100]
push 0x29450
lea ecx, [eax + eax*2]
add eax, 0x8d
shl ecx, 4
add edi, ecx
mov dword [esp + 0x38], eax
xor eax, eax
mov ecx, 0x69c
rep movsd dword es:[edi], dword [esi]
mov dword [ebp + 0x194], 0xffffffff
mov dword [ebp + 0x30], 0xffffffff
mov dword [ebp + 0x5485c], 0xffffffff
mov word [ebp + 0x5486a], ax
mov dword [ebp + 0x5489c], eax
mov word [ebp + 0x5483e], ax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24f58], eax
mov byte [ebx], al
mov byte [ebp + 0x104], al
lea eax, [ebp + 0xc4]
mov byte [eax], 0
mov byte [ebp + 0x2aba4], 0
mov byte [ebp + 0x2a9a4], 0
mov byte [ebp + 0x1e0], 0
mov dword [ebp + 0x5484c], 0
mov dword [ebp + 0x2a8e4], 0
mov dword [ebp + 0x2a8e0], 0
mov dword [esp + 0x30], eax
lea eax, [ebp + 0x5a8f8]
mov dword [ebp + 0x2a8dc], 0
push 0
mov dword [ebp + 0x2a8d8], 0
push eax
mov dword [ebp + 0x54858], 0
call fcn.1026c8e0
mov dword [ebp + 0x2ac04], 0xc47a0000
lea eax, [ebp + 0x5a960]
mov dword [ebp + 0x2ac00], 0xc47a0000
add esp, 0xc
mov dword [ebp + 0x2abfc], 0xc47a0000
mov ecx, 0xa
mov dword [ebp + 0x2abf8], 0xc47a0000
mov edx, 0xffff
mov dword [ebp + 0x2abf4], 0xc47a0000
mov dword [ebp + 0x2abf0], 0xc47a0000
mov dword [ebp + 0x2abec], 0xc47a0000
nop dword [eax]
mov word [eax + 0xa8], dx
lea eax, [eax + 0x4208]
mov word [eax - 0x4208], dx
mov dword [eax - 0x78], 0x3f800000
mov dword [eax - 0x74], 0x3f800000
mov dword [eax - 0x70], 0x3f800000
mov dword [eax - 0x6c], 0x3f800000
sub ecx, 1
jne 0x10132cc0
push 0x80
push ecx
lea eax, [ebp + 0x2a8f4]
push eax
call fcn.1026c8e0
push 0x4018
lea eax, [ebp + 0x20f38]
push 0
push eax
call fcn.1026c8e0
push 0x80
lea eax, [ebp + 0x24f74]
push 0
push eax
call fcn.1026c8e0
push 0x80
lea eax, [ebp + 0x34]
push 0
push eax
call fcn.1026c8e0
xor eax, eax
movsd xmm0, qword [0x103efa68]
mov dword [ebp + 0x2ac24], eax
lea ecx, [ebp + 0x25004]
mov dword [ebp + 0x2ac28], eax
add esp, 0x30
mov dword [ebp + 0x54818], eax
xor edx, edx
mov dword [ebp + 0x5481c], eax
mov dword [ebp + 0x83db0], eax
mov dword [ebp + 0x83dac], eax
mov dword [ebp + 0x83da4], 0x10139c30
mov dword [ebp + 0x548a8], eax
mov dword [ebp + 0x548a4], eax
mov dword [ebp + 0x54894], eax
mov dword [ebp + 0x54888], eax
mov dword [ebp + 0x5488c], eax
mov dword [ebp + 0x54880], eax
mov dword [ebp + 0x54884], eax
mov dword [ebp + 0x548b8], eax
mov dword [ebp + 0x188], eax
mov dword [ebp + 0x548ac], eax
mov dword [ebp + 0x54870], eax
mov dword [ebp + 0x18c], eax
mov dword [ebp + 0x24f50], eax
mov dword [ebp + 0x548a0], eax
mov dword [ebp + 0x2a8f0], eax
mov dword [ebp + 0x2a8e8], eax
mov dword [ebp + 0x2a8ec], eax
mov dword [ebp + 0x54838], eax
mov dword [ebp + 0x548bc], eax
mov dword [ebp + 0x251c4], eax
mov dword [ebp + 0x54830], eax
mov dword [ebp + 0x54834], 1
mov dword [ebp + 0x184], 1
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x548b4], eax
movsd qword [esp + 0xa8], xmm0
mov dword [ebp + 0x548b0], eax
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 + 0x6c], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 2
sete al
inc edx
movss dword [ecx + 0x7c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x8c], xmm0
cmp edx, 4
jl 0x10132e30
mov dword [ebp + 0x190], 3
lea ecx, [ebp + 0xf38]
xor eax, eax
nop dword [eax]
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp eax, 0x10000
jl 0x10132ed0
mov ecx, ebp
call fcn.10131be0
mov ecx, ebp
mov word [ebp + 0x54860], ax
call fcn.10131c40
mov ecx, dword [ebp + 0x54800]
mov edi, eax
push 0
push 0
push 0
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov ecx, dword [ebp + 0x54800]
lea edx, [esp + 0x68]
push 0x40
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp eax, 0x40
jl 0x101397f2
mov dword [ebp + 0x548c8], 0
mov dword [ebp + 0x548cc], 0
mov dword [ebp + 0x548d0], 0
mov ecx, dword [ebp + 0x54800]
push 2
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 4
push str.MMMM
mov dword [esp + 0x18], eax
lea eax, [esp + 0x70]
push 0x20
push eax
call fcn.1013da80
mov esi, eax
add esp, 0x10
xorps xmm0, xmm0
movsd qword [esp + 0x48], xmm0
test esi, esi
jne 0x10133bc1
push 4
push str.IIII
lea eax, [esp + 0x70]
push 0x20
push eax
call fcn.1013da80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10133bc1
movzx eax, word [ebp + 0x54860]
mov esi, 0x4949
cmp ax, si
je 0x10133b65
mov ecx, 0x4d4d
cmp ax, cx
je 0x10133b65
lea eax, [esp + 0x68]
cmp dword [eax], 0xe1ffd8ff
jne 0x1013306a
lea eax, [esp + 0x6e]
cmp dword [eax], 0x66697845
jne 0x1013306a
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131be0
movzx eax, ax
cdq
mov esi, eax
add esi, 4
mov dword [ebp + 0x54880], esi
adc edx, 0
mov dword [ebp + 0x54884], edx
mov ecx, dword [ebp + 0x54800]
push 0
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xff
je 0x10133051
push 0xc
mov ecx, ebp
call fcn.10151fe0
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
jmp 0x10133be7
lea ecx, [esp + 0x81]
cmp dword [ecx], 0x43455241
jne 0x101333c5
cmp word [ecx + 4], 0x594f
jne 0x101333c5
cmp byte [ecx + 6], 0x4b
jne 0x101333c5
mov eax, dword [str.Contax]
lea ebx, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c568c]
mov word [ebp + 0xc8], ax
mov al, byte [0x102c568e]
mov byte [ebp + 0xca], al
movq xmm0, qword [str.N_Digital]
movq qword [ebx], xmm0
movzx eax, word [0x102c5698]
mov word [ebx + 8], ax
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x21
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push 1
mov ecx, ebp
call fcn.10131cc0
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x34
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
add eax, 0xfffffff9
cmp eax, 0xc
ja case.default.0x10133116
jmp dword [eax*4 + 0x1013987c]
mov dword [ebp + 0x2a8d8], 0x41c80000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42000000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42200000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42480000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42800000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42a00000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42c80000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x42fa0000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x43200000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x43480000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x437a0000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x43a00000
jmp case.default.0x10133116
mov dword [ebp + 0x2a8d8], 0x43c80000
mov ecx, ebp
call fcn.10131c40
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103ef8b0]
comiss xmm1, dword [0x102c6178]
ja 0x10133210
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10133210
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10133213
xorps xmm0, xmm0
divss xmm0, dword [0x102c618c]
xor esi, esi
movss dword [ebp + 0x2a8dc], xmm0
mov ecx, ebp
call fcn.10131c40
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [ebp + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x10133225
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x58
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103ef898]
comiss xmm1, dword [0x102c6178]
ja 0x101332bf
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x101332bf
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x101332c2
xorps xmm0, xmm0
movss dword [ebp + 0x2a8e0], xmm0
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x70
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
push 0
push 0
push 0x68
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x2a8e4], xmm0
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103ef898]
comiss xmm1, dword [0x102c6178]
ja 0x1013336a
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x1013336a
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x1013336d
xorps xmm0, xmm0
movss dword [ebp + 0x548], xmm0
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x7c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
lea esi, [ebp + 0x428]
push 1
push 0x20
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov byte [esi + 0x1f], 0
mov eax, 0x15
mov word [ebp + 0x4ba], ax
cmp byte [esi], 0
je 0x10133bed
mov word [ebp + 0x4aa], ax
jmp 0x10133bed
mov ecx, 0x102c569c
lea eax, [esp + 0x68]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101333f0
test dl, dl
je 0x101333ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101333f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101333d0
xor eax, eax
jmp 0x101333f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10133429
movq xmm0, qword [str.Logitech]
lea ebx, [ebp + 0x104]
movq qword [ebp + 0xc4], xmm0
mov al, byte [0x102c56a8]
mov byte [ebp + 0xcc], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [ebx], xmm0
jmp 0x10133bed
mov ecx, str.qktk
lea eax, [esp + 0x68]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10133452
test dl, dl
je 0x1013344e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10133452
add eax, 2
add ecx, 2
test dl, dl
jne 0x10133432
xor eax, eax
jmp 0x10133457
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101334a8
mov eax, dword [str.Apple]
lea ebx, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c56c8]
mov word [ebp + 0xc8], ax
movq xmm0, qword [str.QuickTake_100]
movq qword [ebx], xmm0
mov eax, dword [0x102c56d4]
mov dword [ebx + 8], eax
movzx eax, word [0x102c56d8]
mov word [ebx + 0xc], ax
mov dword [ebp + 0x83dac], 0x1015c3b0
jmp 0x10133bed
mov ecx, str.qktn
lea eax, [esp + 0x68]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101334d1
test dl, dl
je 0x101334cd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101334d1
add eax, 2
add ecx, 2
test dl, dl
jne 0x101334b1
xor eax, eax
jmp 0x101334d6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10133527
mov eax, dword [str.Apple]
lea ebx, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c56c8]
mov word [ebp + 0xc8], ax
movq xmm0, qword [str.QuickTake_150]
movq qword [ebx], xmm0
mov eax, dword [0x102c56ec]
mov dword [ebx + 8], eax
movzx eax, word [0x102c56f0]
mov word [ebx + 0xc], ax
mov dword [ebp + 0x83dac], 0x1013a970
jmp 0x10133bed
lea eax, [esp + 0x68]
cmp dword [eax], 0x494a5546
jne 0x10133683
cmp dword [eax + 4], 0x4d4c4946
jne 0x10133683
push 0x20
lea eax, [esp + 0x88]
push eax
lea edx, [ebp + 0x104]
push edx
call fcn.1027d870
mov byte [ebp + 0x124], 0
add esp, 0xc
mov eax, dword [esp + 0xa4]
mov dword [ebx], eax
mov byte [ebp + 0x25104], 0
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x54
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
mov dword [ebp + 0x54818], eax
mov ecx, ebp
mov dword [ebp + 0x5481c], 0
call fcn.10131c40
mov dword [ebp + 0x2ac28], eax
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x5c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
push eax
mov ecx, ebp
call fcn.10144f10
cmp dword [ebp + 0x5481c], 0
jl 0x10133622
jg 0x101335e1
cmp dword [ebp + 0x54818], 0x78
jbe 0x10133622
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x78
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
xor ecx, ecx
test eax, eax
setne cl
add dword [ebp + 0x184], ecx
cmp dword [ebp + 0x184], 2
jne 0x10133622
cmp dword [ebp + 0xe78], 0
je 0x10133622
push eax
mov ecx, ebp
call fcn.10144f10
xor eax, eax
mov dword [ebp + 0x83dac], fcn.10162370
cmp eax, dword [ebp + 0xe78]
mov ecx, dword [ebp + 0x54800]
sbb eax, eax
push 0
and eax, 0x1c
mov edx, dword [ecx]
add eax, 0x64
push 0
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
mov dword [ebp + 0x54880], eax
mov ecx, ebp
push eax
mov dword [ebp + 0x54884], 0
call fcn.10151fe0
mov eax, dword [ebp + 0x54818]
mov ecx, ebp
add eax, 0xc
push eax
call fcn.10151fe0
jmp 0x10133be0
lea eax, [esp + 0x68]
cmp dword [eax], 0x46464952
jne 0x101336ae
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10151640
jmp 0x10133be7
lea eax, [esp + 0x6c]
cmp dword [eax], 0x70797466
jne 0x101336fd
cmp dword [eax + 4], 0x20207471
jne 0x101336fd
cmp byte [eax + 8], 0x20
jne 0x101336fd
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, dword [esp + 0x10]
mov ecx, ebp
push esi
call fcn.10151330
mov dword [ebp + 0x184], 0
lea ebx, [ebp + 0x104]
jmp 0x10133bf1
lea eax, [esp + 0x68]
cmp dword [eax], 0x1000100
jne 0x101337bb
cmp word [eax + 4], 0x4000
jne 0x101337bb
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 6
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
lea edx, [ebp + 0xc4]
push 8
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp + 0x54800]
lea edx, [ebp + 0x104]
push 8
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp + 0x54800]
push 0x10
push 1
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebp
call fcn.10131be0
movzx eax, ax
mov ecx, ebp
cdq
mov dword [ebp + 0x54880], eax
mov dword [ebp + 0x54884], edx
call fcn.10131be0
mov ecx, ebp
call fcn.10131be0
mov ecx, ebp
mov word [ebp + 0x12], ax
call fcn.10131be0
mov word [ebp + 0x10], ax
mov dword [ebp + 0x83dac], 0x1013e620
mov dword [ebp + 0x194], 0x61616161
jmp 0x10133be7
lea eax, [esp + 0x68]
cmp dword [eax], 0x494b4f4e
jne 0x101338ea
cmp dword [eax + 4], 0x57415241
jne 0x101338ea
mov eax, dword [str.NOKIA]
mov dword [ebp + 0xc4], eax
mov ax, word [0x102c56f8]
mov word [ebp + 0xc8], ax
mov word [ebp + 0x54860], si
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x12c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
mov dword [ebp + 0x54880], eax
mov ecx, ebp
mov dword [ebp + 0x54884], 0
call fcn.10131c40
mov ecx, ebp
mov edi, eax
call fcn.10131be0
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.10131be0
movzx ecx, ax
mov esi, 0x3e7f
mov word [ebp + 0x14], cx
mov ebx, ecx
movzx edx, word [ebp + 0x16]
lea eax, [edx - 1]
cmp ax, si
ja 0x10139820
lea eax, [ecx - 1]
cmp ax, si
ja 0x10139820
mov esi, edx
imul ecx, esi
cmp edi, ecx
jl 0x10139820
lea eax, [ecx + ecx]
cmp edi, eax
jg 0x10139820
lea eax, [edi*8]
cdq
idiv ecx
mov ecx, eax
mov dword [ebp + 0x548a4], eax
sub ecx, 0
je 0x10139809
sub ecx, 8
je 0x101338b2
sub ecx, 2
jne 0x101338bc
mov dword [ebp + 0x83dac], 0x1013e620
jmp 0x101338bc
mov dword [ebp + 0x83dac], 0x10130d80
imul esi, eax
xor edx, edx
mov eax, edi
shr esi, 3
div esi
sub eax, ebx
mov word [ebp + 0x18], ax
add eax, ebx
mov word [ebp + 0x10], ax
mov dword [ebp + 0x40], 1
mov dword [ebp + 0x194], 0x61616161
jmp 0x10133be7
lea eax, [esp + 0x68]
cmp dword [eax], 0x49525241
jne 0x101339a5
mov word [ebp + 0x54860], si
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x14
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.10131c40
mov word [ebp + 0x14], ax
mov eax, dword [str.ARRI]
mov dword [ebp + 0xc4], eax
mov al, byte [0x102c5700]
mov byte [ebp + 0xc8], al
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x29c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
lea ebx, [ebp + 0x104]
push 0x40
push 1
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [ebp + 0x54880], 0x1000
mov dword [ebp + 0x54884], 0
mov dword [ebp + 0x83dac], 0x1013ed40
mov dword [ebp + 0x548b8], 0x58
mov dword [ebp + 0x194], 0x61616161
jmp 0x10133bed
lea eax, [esp + 0x68]
cmp dword [eax], 0x53445058
jne 0x10133a78
mov word [ebp + 0x54860], si
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0x800
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
lea edx, [ebp + 0xc4]
push 0x29
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebp
call fcn.10131be0
mov ecx, ebp
mov word [ebp + 0x10], ax
call fcn.10131be0
mov word [ebp + 0x12], ax
mov ecx, dword [ebp + 0x54800]
push 1
push 0
push 0x38
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
lea ebx, [ebp + 0x104]
push 0x1e
push 1
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movsd xmm0, qword [0x102c60e0]
mov ecx, ebp
push 0x3ff
push 1
sub esp, 0x10
mov dword [ebp + 0x54880], 0x10000
mov dword [ebp + 0x54884], 0
mov dword [ebp + 0x83dac], 0x1012ef30
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.10131760
jmp 0x10133bed
lea eax, [esp + 0x6c]
cmp dword [eax], 0x31444552
jne 0x10133ad6
mov dword [ebp + 0xc4], 0x646552
lea ebx, [ebp + 0x104]
mov ecx, ebp
mov dword [ebx], 0x656e4f
call fcn.101514c0
movaps xmm0, xmmword [0x102c6320]
mov ecx, ebp
push 0xfff
push 1
sub esp, 0x10
mov dword [ebp + 0x83dac], 0x1015d1a0
movups xmmword [esp], xmm0
call fcn.10131760
mov dword [ebp + 0x194], 0x49494949
jmp 0x10133bed
lea eax, [esp + 0x68]
cmp dword [eax], 0x2d435344
jne 0x10133afd
cmp dword [eax + 4], 0x67616d49
jne 0x10133afd
cmp byte [eax + 8], 0x65
jne 0x10133afd
mov ecx, ebp
call fcn.10151950
jmp 0x10133be7
lea eax, [esp + 0x68]
cmp dword [eax], 0x44415750
jne 0x10133b15
mov ecx, ebp
call fcn.10151ca0
jmp 0x10133be7
lea eax, [esp + 0x68]
cmp dword [eax], 0x4d524d00
jne 0x10133b2f
push 0
mov ecx, ebp
call fcn.1014fc40
jmp 0x10133be7
lea eax, [esp + 0x68]
cmp dword [eax], 0x62564f46
jne 0x10133b47
mov ecx, ebp
call fcn.1016e5a0
jmp 0x10133be7
lea ecx, [esp + 0x68]
mov eax, 0x4943
cmp word [ecx], ax
jne 0x10133be7
mov ecx, ebp
call fcn.10143bf0
jmp 0x10133be7
lea eax, [esp + 0x6e]
cmp dword [eax], 0x50414548
jne 0x10133bd3
cmp dword [eax + 4], 0x52444343
jne 0x10133bd3
mov esi, dword [esp + 0x10]
mov eax, edi
cdq
mov ecx, ebp
mov dword [ebp + 0x54880], eax
mov eax, 0x63
mov dword [ebp + 0x54884], edx
mov word [ebp + 0x4ba], ax
mov word [ebp + 0x4aa], ax
mov eax, esi
push 0
sub eax, edi
push eax
push edi
call fcn.101429a0
mov dword [ebp + 0x83dac], 0x1012eb90
lea ebx, [ebp + 0x104]
jmp 0x10133bf1
lea eax, [esp + 0x68]
mov ecx, ebp
sub esi, eax
push esi
call fcn.10150870
test esi, esi
je 0x10133be7
push 0
mov ecx, ebp
call fcn.10151fe0
test eax, eax
je 0x10133be7
mov ecx, ebp
call fcn.1012c6f0
lea ebx, [ebp + 0x104]
mov esi, dword [esp + 0x10]
cmp byte [ebp + 0xc4], 0
jne 0x10133e4a
mov edx, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x1c], eax
test edx, edx
je 0x10133e4a
lea ecx, [esp + 0x3ec]
cmp esi, dword [ecx]
je 0x10133c28
inc eax
add ecx, 0x30
cmp eax, edx
jb 0x10133c17
jmp 0x10133e4a
lea esi, [eax + eax*2]
shl esi, 4
lea ecx, [esp + 0x3fc]
mov dword [esp + 0x14], esi
lea edx, [ebp + 0xc4]
add ecx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10133c41
push 5
lea eax, [ebp + 0xc4]
push str.Canon
push eax
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10133c7c
mov eax, 0x63
mov word [ebp + 0x4ba], ax
mov word [ebp + 0x4aa], ax
lea ecx, [esp + 0x406]
mov edx, ebx
add ecx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10133c87
movzx eax, byte [esp + esi + 0x3fb]
shr eax, 2
mov dword [ebp + 0x30], eax
movzx eax, byte [esp + esi + 0x3fb]
and eax, 2
mov dword [ebp + 0x54838], eax
test byte [esp + esi + 0x3fb], 1
je 0x10133cc5
mov ecx, ebp
call fcn.10144b50
movzx eax, word [esp + esi + 0x41a]
mov edx, 0xffff
mov ecx, eax
cmp ax, dx
jne 0x10133cf0
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x10133cfb
mov eax, ecx
cdq
mov ecx, eax
mov dword [esp + 0x18], edx
mov eax, edx
mov dword [ebp + 0x54880], ecx
mov dword [ebp + 0x54884], eax
movzx eax, word [esp + esi + 0x3f0]
mov word [ebp + 0x12], ax
mov ebx, eax
movzx eax, word [esp + esi + 0x3f2]
mov word [ebp + 0x10], ax
mov edi, eax
movzx edx, byte [esp + esi + 0x3f4]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x14]
mov word [ebp + 0x1a], dx
movzx esi, byte [esp + esi + 0x3f5]
mov word [ebp + 0x18], si
movzx eax, byte [esp + ecx + 0x3f6]
mov cx, bx
sub cx, ax
mov dword [esp + 0x34], ebx
sub cx, dx
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0x14]
mov word [ebp + 0x16], cx
mov cx, di
movzx eax, byte [esp + edx + 0x3f7]
sub cx, ax
sub cx, si
mov esi, dword [esp + 0x18]
mov word [ebp + 0x14], cx
movzx eax, byte [esp + edx + 0x3f9]
imul eax, eax, 0x1010101
mov ecx, eax
mov dword [ebp + 0x194], eax
shr ecx, 1
and ecx, eax
and ecx, 0x5555
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 3
mov dword [ebp + 0x190], ecx
movzx eax, byte [esp + edx + 0x3f8]
mov edx, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov dword [ebp + 0x548b8], eax
movzx eax, ax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
imul edx
shld esi, ecx, 3
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x3c]
shl ecx, 3
sub ebx, ecx
sbb edi, esi
imul eax, dword [esp + 0x34]
cdq
push edx
push eax
push edi
push ebx
call fcn.1026ae90
mov edi, eax
mov dword [ebp + 0x548a4], edi
mov esi, edi
lea eax, [edi - 6]
cmp eax, 0xa
ja case.0x10133e15.7
mov ebx, dword [esp + 0x40]
mov ecx, ebx
movzx eax, byte [eax + 0x101398c8]
jmp dword [eax*4 + 0x101398b0]
mov dword [ebp + 0x83dac], 0x1013d850
mov esi, edi
mov ecx, dword [esp + 0x14]
mov cl, byte [esp + ecx + 0x3fa]
mov edi, 1
mov edx, edi
mov eax, edi
shl edx, cl
mov ecx, esi
shl eax, cl
sub eax, edx
mov dword [ebp + 0x24f58], eax
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x1c], eax
cmove eax, ebx
cmp byte [ebp + 0xc4], 0
mov dword [esp + 0x14], eax
lea eax, [ebp + 0xc4]
jne 0x101341bf
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, 0x4949
mov word [ebp + 0x54860], ax
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov esi, eax
cmp esi, 6
jne 0x10133eb4
mov ecx, dword [ebp + 0x54800]
push 1
push 0
push 5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, ebp
call fcn.10131c40
cmp eax, ebx
jne 0x101341b4
cmp esi, 6
jle 0x10133edf
mov ecx, ebp
call fcn.10131c40
mov dword [ebp + 0x54880], eax
mov dword [ebp + 0x54884], 0
mov ecx, ebp
call fcn.10131be0
mov word [ebp + 0x14], ax
mov ecx, ebp
mov word [ebp + 0x10], ax
call fcn.10131be0
mov word [ebp + 0x16], ax
lea ebx, [ebp + 0x104]
mov word [ebp + 0x12], ax
mov eax, dword [str.SMaL]
mov dword [ebp + 0xc4], eax
mov al, byte [0x102b4be4]
mov byte [ebp + 0xc8], al
movzx eax, word [ebp + 0x14]
push eax
movzx eax, word [ebp + 0x16]
push eax
push esi
push str.v_d__dx_d
push ebx
call fcn.10007060
add esp, 0x14
cmp esi, 6
jne 0x1013419c
mov dword [ebp + 0x83dac], 0x101606a0
lea eax, [ebp + 0xc4]
cmp byte [eax], 0
jne 0x1013435d
push 0
mov ecx, ebp
call fcn.10145960
mov ecx, dword [ebp + 0x54800]
push 2
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 9
push str.RP_imx219
push ebx
mov esi, eax
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101341ca
cmp esi, 0x9cb600
jl 0x101341ca
mov ecx, dword [ebp + 0x54800]
push 2
push 0xffffffffffffffff
push 0xff634a00
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
jne 0x101341ca
mov ecx, dword [ebp + 0x54800]
lea edx, [esp + 0x68]
push 0x20
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x101341ca
push 4
lea eax, [esp + 0x6c]
push str.BRCM
push eax
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101341ca
movq xmm0, qword [str.Broadcom]
movq qword [ebp + 0xc4], xmm0
mov al, byte [0x102c5714]
mov byte [ebp + 0xcc], al
movq xmm0, qword [str.RPi_IMX219]
movq qword [ebx], xmm0
movzx eax, word [0x102c5720]
mov word [ebx + 8], ax
mov al, byte [0x102c5722]
mov byte [ebx + 0xa], al
movzx eax, word [ebp + 0x10]
cmp ax, word [ebp + 0x12]
jbe 0x10134046
mov dword [ebp + 0x30], 5
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
add eax, 0x7fe0
mov ecx, ebp
mov dword [ebp + 0x54880], eax
adc edx, 0
mov dword [ebp + 0x54884], edx
call fcn.101428e0
mov dword [ebp + 0x24f50], 0x42
lea eax, [esi - 0x9cb601]
mov dword [ebp + 0x24f58], 0x3ff
mov dword [ebp + 0x83dac], 0x1012dc90
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
mov dword [ebp + 0x2ac28], eax
jmp 0x10134357
mov dword [ebp + 0x83dac], 0x10130d80
jmp 0x10133e26
mov eax, dword [esp + 0x10]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x3c]
sub esi, dword [esp + 0x38]
cdq
sbb ecx, dword [esp + 0x18]
push edx
push eax
push ecx
push esi
call fcn.1026ae90
mov ecx, eax
mov esi, edx
shld esi, ecx, 1
add ecx, ecx
add eax, ecx
mov ecx, dword [esp + 0x34]
adc edx, esi
shl ecx, 2
test edx, edx
jl 0x1013410d
jg 0x101340fe
cmp eax, ecx
jb 0x1013410d
mov dword [ebp + 0x83dac], 0x1012c3d0
jmp 0x10133e26
mov ecx, ebx
test bl, 1
je case.0x10133e15.12
mov dword [ebp + 0x83dac], 0x1012c600
jmp 0x10133e26
or ecx, 0x80
mov dword [ebp + 0x548b8], ecx
mov dword [ebp + 0x83dac], 0x1013ed40
jmp 0x10133e26
mov eax, dword [esp + 0x20]
mov esi, edi
mov ecx, dword [esp + 0x14]
and eax, 1
imul eax, eax, 0x404
mov edi, 0xffff
mov edx, 0x10162470
or eax, 0x4949
mov word [ebp + 0x54860], ax
mov eax, ebx
shr eax, 1
and eax, 7
shr ebx, 4
mov dword [ebp + 0x548b8], eax
sub esi, ebx
sub esi, eax
mov eax, fcn.10162370
mov dword [ebp + 0x548a4], esi
cmp word [esp + ecx + 0x41a], di
cmove eax, edx
mov dword [ebp + 0x83dac], eax
jmp 0x10133e2c
cmp esi, 9
jne 0x10133f45
mov dword [ebp + 0x83dac], 0x10160700
jmp 0x10133f45
lea ebx, [ebp + 0x104]
jmp 0x10133f45
lea ebx, [ebp + 0x104]
jmp 0x10133f4b
push 6
push str.ov5647
push ebx
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x101341f6
push 9
push str.RP_OV5647
push ebx
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x1013434d
cmp esi, 0x61b800
jl 0x1013434d
mov ecx, dword [ebp + 0x54800]
push 2
push 0xffffffffffffffff
push 0xff9e4800
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
jne 0x1013434d
mov ecx, dword [ebp + 0x54800]
lea edx, [esp + 0x68]
push 0x20
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1013434d
push 4
lea eax, [esp + 0x6c]
push str.BRCM
push eax
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x1013434d
movq xmm0, qword [str.Broadcom]
push 6
movq qword [ebp + 0xc4], xmm0
mov al, byte [0x102c5714]
push str.ov5647
push ebx
mov byte [ebp + 0xcc], al
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101342ae
movq xmm0, qword [str.RPi_OV5647_v.1]
movq qword [ebx], xmm0
mov eax, dword [0x102c572c]
mov dword [ebx + 8], eax
mov ax, word [0x102c5730]
mov word [ebx + 0xc], ax
mov al, byte [0x102c5732]
jmp 0x101342d1
movq xmm0, qword [str.RPi_OV5647_v.2]
movq qword [ebx], xmm0
mov eax, dword [0x102c573c]
mov dword [ebx + 8], eax
mov ax, word [0x102c5740]
mov word [ebx + 0xc], ax
mov al, byte [0x102c5742]
mov byte [ebx + 0xe], al
mov ax, word [ebp + 0x10]
cmp ax, word [ebp + 0x12]
jbe 0x101342e5
mov dword [ebp + 0x30], 5
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
add eax, 0x7fe0
mov ecx, ebp
mov dword [ebp + 0x54880], eax
adc edx, 0
mov dword [ebp + 0x54884], edx
call fcn.101428e0
mov dword [ebp + 0x24f50], 0x10
lea eax, [esi - 0x61b801]
mov dword [ebp + 0x24f58], 0x3ff
mov dword [ebp + 0x83dac], 0x1012dc90
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
mov dword [ebp + 0x2ac28], eax
jmp 0x10134357
mov dword [ebp + 0x184], 0
lea eax, [ebp + 0xc4]
mov byte [ebp + 0x2513f], 0
mov ebx, 0x10408ad8
mov byte [ebp + 0x143], 0
mov byte [ebp + 0x103], 0
mov byte [ebp + 0x2abe3], 0
mov byte [ebp + 0x2aba3], 0
mov ebp, 0x15
jmp 0x10134394
mov eax, dword [esp + 0x2c]
mov edi, dword [ebx]
mov esi, eax
cmp byte [esi], 0
je 0x101343c7
nop dword [eax]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101343a5
sub ecx, edx
push ecx
push edi
push esi
call fcn.102844b6
add esp, 0xc
test eax, eax
je 0x10134443
inc esi
cmp byte [esi], 0
jne 0x101343a0
mov edi, dword [esp + 0x2c]
add ebx, 4
sub ebp, 1
jne 0x10134390
push 5
push 0x102b4a30
push edi
call fcn.1027d010
mov ebp, dword [esp + 0x34]
add esp, 0xc
test eax, eax
je 0x101343ff
push 5
push str.Leica
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134463
lea ebx, [ebp + 0x104]
mov esi, ebx
cmp byte [esi], 0
je 0x1013442a
nop dword [eax]
push 0xf
push str._DIGITAL_CAMERA
push esi
call fcn.102844b6
add esp, 0xc
test eax, eax
je 0x1013443e
inc esi
cmp byte [esi], 0
jne 0x10134410
push str.FILE_VERSION
push ebx
call fcn.1026bfc0
mov esi, eax
add esp, 8
test esi, esi
je 0x10134469
mov byte [esi], 0
jmp 0x10134469
mov edi, dword [esp + 0x2c]
mov edx, edi
mov ecx, dword [ebx]
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10134450
jmp 0x101343cb
lea ebx, [ebp + 0x104]
push 6
push str.PENTAX
push ebx
call fcn.102844b6
add esp, 0xc
test eax, eax
jne 0x10134496
mov eax, dword [str.Pentax]
mov dword [edi], eax
mov ax, word [0x103e98b0]
mov word [edi + 4], ax
mov al, byte [0x103e98b2]
mov byte [edi + 6], al
push 0x3f
push 0
push edi
mov byte [edi + 0x3f], 0
call fcn.1026cb50
add esp, 0xc
test eax, eax
je 0x101344b6
sub eax, edi
lea esi, [eax - 1]
test esi, esi
js 0x101344da
jmp 0x101344c0
mov esi, 0x3e
nop dword [eax + eax]
movzx eax, byte [esi + edi]
push eax
call fcn.10270bd0
add esp, 4
test eax, eax
je 0x101344da
mov byte [esi + edi], 0
sub esi, 1
jns 0x101344c0
push 0x3f
push 0
push ebx
mov byte [ebx + 0x3f], 0
call fcn.1026cb50
add esp, 0xc
test eax, eax
je 0x101344fa
sub eax, ebx
lea esi, [eax - 1]
test esi, esi
js 0x1013451a
jmp 0x10134500
mov esi, 0x3e
nop
movzx eax, byte [esi + ebx]
push eax
call fcn.10270bd0
add esp, 4
test eax, eax
je 0x1013451a
mov byte [esi + ebx], 0
sub esi, 1
jns 0x10134500
push 0x3f
push 0
push edi
call fcn.1026cb50
mov ecx, eax
mov esi, 0x3f
sub ecx, edi
test eax, eax
cmovne esi, ecx
push esi
push edi
push ebx
call fcn.102844b6
add esp, 0x18
mov ecx, 0x40
test eax, eax
jne 0x10134568
lea eax, [esi + ebp]
inc esi
cmp byte [eax + 0x104], 0x20
jne 0x10134568
sub ecx, esi
lea eax, [ebp + 0x104]
push ecx
add eax, esi
push eax
push ebx
call fcn.1026cc00
add esp, 0xc
push 8
push str.FinePix
push ebx
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x1013459e
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10134581
sub ecx, edx
lea eax, [ecx - 7]
push eax
lea eax, [ebp + 0x10c]
push eax
push ebx
call fcn.1026cc00
add esp, 0xc
push 0xf
push str.Digital_Camera
push ebx
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101345d4
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101345b7
sub ecx, edx
lea eax, [ecx - 0xe]
push eax
lea eax, [ebp + 0x113]
push eax
push ebx
call fcn.1026cc00
add esp, 0xc
mov byte [ebp + 0x2513f], 0
mov byte [ebp + 0x143], 0
mov byte [ebp + 0x103], 0
mov byte [ebp + 0x2abe3], 0
mov byte [ebp + 0x2aba3], 0
cmp dword [ebp + 0x184], 0
je 0x1013968b
movzx eax, word [ebp + 0x14]
mov ecx, eax
test ax, ax
jne 0x10134619
movzx eax, word [ebp + 0x10]
mov word [ebp + 0x14], ax
mov ecx, eax
movzx eax, word [ebp + 0x16]
movzx edx, cx
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x10134635
movzx eax, word [ebp + 0x12]
mov word [ebp + 0x16], ax
mov ecx, eax
mov esi, eax
mov dword [esp + 0x1c], 0xa40
movzx eax, si
mov esi, edx
movzx edi, cx
cmp dx, word [esp + 0x1c]
jne 0x10134662
mov edx, 0xf60
cmp cx, dx
jne 0x10134662
mov dword [ebp + 0x14], 0xf380a38
jmp 0x1013473a
mov edx, edi
mov ecx, eax
mov edi, 0xc40
cmp si, di
jne 0x10134686
mov ecx, 0x1300
cmp dx, cx
jne 0x10134686
mov dword [ebp + 0x14], 0x12500c34
jmp 0x10134730
movzx eax, ax
mov edx, 0x1100
mov ecx, eax
cmp ax, dx
jne 0x10134700
mov ecx, 0x102c5780
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101346c0
test dl, dl
je 0x101346bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101346c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101346a0
xor eax, eax
jmp 0x101346c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x101346f9
mov ecx, 0x102c5784
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101346f0
test dl, dl
je 0x101346ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101346f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101346d0
xor eax, eax
jmp 0x101346f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013473a
mov eax, 0x10d5
jmp 0x1013472c
mov eax, 0x1360
cmp cx, ax
jb 0x1013473a
push 3
push 0x102c5788
push ebx
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x1013473a
mov eax, 0xa
mov word [ebp + 0x1a], ax
mov eax, 0x1356
mov word [ebp + 0x16], ax
mov dword [ebp + 0x194], 0x16161616
movzx eax, word [ebp + 0x16]
mov edi, 0x17c0
mov esi, eax
mov ecx, eax
cmp ax, di
jne 0x10134796
mov ecx, str.K_70
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134773
test dl, dl
je 0x1013476f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134773
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134753
xor eax, eax
jmp 0x10134778
sbb eax, eax
or eax, 1
mov ecx, esi
test eax, eax
jne 0x10134796
mov dword [ebp + 0x14], 0x17840fb0
mov eax, 0x1784
mov dword [ebp + 0x18], 0x3c0020
jmp 0x10134968
movzx esi, cx
mov eax, 0x1280
mov ecx, esi
cmp si, ax
jne 0x101347ff
mov ecx, 0x102c5794
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101347d0
test dl, dl
je 0x101347cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101347d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101347b0
xor eax, eax
jmp 0x101347d5
sbb eax, eax
or eax, 1
mov ecx, esi
test eax, eax
jne 0x101347ff
mov dword [ebp + 0x14], 0x124c0c32
mov eax, 2
mov dword [ebp + 0x194], 0x16161616
mov word [ebp + 0x18], ax
mov eax, 0x124c
jmp 0x10134968
movzx esi, cx
mov edx, esi
mov ecx, esi
cmp si, di
jne 0x10134843
mov ecx, str.K_3_II
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134832
test dl, dl
je 0x1013482e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134832
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134812
xor eax, eax
jmp 0x10134837
sbb eax, eax
or eax, 1
mov edx, esi
mov ecx, esi
test eax, eax
je 0x101348f1
mov eax, 0x17e0
movzx esi, cx
mov ecx, esi
cmp dx, ax
jne 0x101348b1
mov ecx, 0x102c57a0
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134880
test dl, dl
je 0x1013487c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134880
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134860
xor eax, eax
jmp 0x10134885
sbb eax, eax
or eax, 1
mov ecx, esi
test eax, eax
jne 0x101348b1
mov eax, 0x178c
mov dword [ebp + 0x18], 0x36001c
mov word [ebp + 0x16], ax
mov ax, word [ebp + 0x10]
sub ax, 0x1c
mov word [ebp + 0x14], ax
mov eax, 0x178c
jmp 0x10134968
movzx esi, cx
mov ecx, esi
mov edx, esi
cmp si, di
jne 0x10134905
mov ecx, 0x102c57a4
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101348e4
test dl, dl
je 0x101348e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101348e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101348c4
xor eax, eax
jmp 0x101348e9
sbb eax, eax
or eax, 1
mov ecx, esi
mov edx, esi
test eax, eax
jne 0x10134905
mov eax, 4
mov word [ebp + 0x1a], ax
mov eax, 0x1798
mov word [ebp + 0x16], ax
jmp 0x10134968
movzx esi, dx
mov edx, 0x1d00
mov eax, esi
cmp cx, dx
jne 0x10134968
mov ecx, str.645D
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134940
test dl, dl
je 0x1013493c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134940
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134920
xor ecx, ecx
jmp 0x10134945
sbb ecx, ecx
or ecx, 1
mov eax, esi
test ecx, ecx
jne 0x10134968
mov dword [ebp + 0x14], 0x1ca0157e
mov eax, 0x1ca0
mov dword [ebp + 0x194], 0x61616161
mov dword [ebp + 0x18], 0x30001d
mov ecx, 0xbc6
movzx eax, ax
mov edx, 0x1000
cmp word [ebp + 0x14], cx
jne 0x10134989
cmp ax, dx
jne 0x10134989
mov eax, 0xfae
mov word [ebp + 0x16], ax
cmp dword [ebp + 0x188], 0
je 0x10134aea
mov eax, dword [ebp + 0x194]
cmp eax, 0xffffffff
jne 0x101349d5
mov dword [ebp + 0x194], 0
mov eax, dword [ebp + 0x548a0]
mov dword [ebp + 0x190], eax
mov eax, dword [ebp + 0x548a8]
cmp eax, 7
ja 0x101349f5
je 0x101349ee
sub eax, 0
je 0x101349ce
sub eax, 1
jne 0x10134a01
mov eax, 0x1013ebb0
jmp 0x10134a11
test eax, eax
je 0x101349ab
mov eax, dword [ebp + 0x184]
imul eax, dword [ebp + 0x548a0]
mov dword [ebp + 0x184], eax
jmp 0x101349b7
mov eax, 0x1013cf60
jmp 0x10134a11
cmp eax, 8
je 0x10134a0c
cmp eax, 0x884c
je 0x10134a05
xor eax, eax
jmp 0x10134a11
mov eax, 0x1013d4f0
jmp 0x10134a11
mov eax, 0x10168400
push 5
push str.Canon
lea edi, [ebp + 0xc4]
mov dword [ebp + 0x83dac], eax
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134a7e
mov esi, dword [ebp + 0x5484c]
test esi, esi
je 0x10134a7e
xor edx, edx
xor ecx, ecx
nop
movzx eax, word [ecx + 0x102c30e8]
sub eax, 0x80000000
cmp esi, eax
je 0x10134a5e
add ecx, 0x16
inc edx
cmp ecx, 0x4ba
jb 0x10134a40
jmp 0x10134a7e
imul ecx, edx, 0x16
mov edx, ebx
add ecx, str.EOS_1D
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10134a70
push 4
push 0x102b4a0c
push edi
call fcn.102844b6
add esp, 0xc
test eax, eax
jne 0x101385f8
mov esi, dword [ebp + 0x5484c]
test esi, esi
je 0x101385f8
xor edx, edx
xor ecx, ecx
nop dword [eax + eax]
movzx eax, word [ecx + 0x102c35a8]
cmp esi, eax
je 0x10134acc
add ecx, 0x16
inc edx
cmp ecx, 0x630
jb 0x10134ab0
jmp 0x101385f8
imul ecx, edx, 0x16
mov edx, ebx
add ecx, str.DSC_R1
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10134ad7
jmp 0x101385f8
push 5
push str.Canon
lea esi, [ebp + 0xc4]
push esi
call fcn.1027d010
mov ebx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x10134c06
test ebx, ebx
jne 0x10134c06
cmp dword [ebp + 0x548a4], 0xf
je 0x10134c06
cmp dword [ebp + 0x83dac], eax
jne 0x10134b33
mov dword [ebp + 0x83dac], 0x1013d2b0
xor edx, edx
nop word [eax + eax]
movzx eax, word [ebp + 0x12]
mov edi, eax
cmp ax, word [edx + 0x102c2d08]
jne 0x10134bd8
movzx eax, word [ebp + 0x10]
mov esi, eax
cmp ax, word [edx + 0x102c2d0a]
jne 0x10134bd8
movzx eax, word [edx + 0x102c2d0c]
sub di, word [edx + 0x102c2d10]
movzx ecx, word [edx + 0x102c2d0e]
sub di, ax
sub si, word [edx + 0x102c2d12]
mov word [ebp + 0x1a], ax
sub si, cx
movzx eax, word [edx + 0x102c2d14]
mov word [ebp + 0x18], cx
mov word [ebp + 0x16], di
mov word [ebp + 0x14], si
mov dword [ebp + 0x38], eax
movzx eax, word [edx + 0x102c2d16]
neg eax
mov dword [ebp + 0x40], eax
movzx eax, word [edx + 0x102c2d18]
mov dword [ebp + 0x48], eax
movzx eax, word [edx + 0x102c2d1a]
neg eax
mov dword [ebp + 0x50], eax
movzx eax, word [edx + 0x102c2d1c]
test ax, ax
je 0x10134bd8
imul eax, eax, 0x1010101
mov dword [ebp + 0x194], eax
add edx, 0x16
cmp edx, 0x3de
jb 0x10134b40
mov eax, dword [ebp + 0x5484c]
lea esi, [ebp + 0xc4]
or eax, 0x20000
cmp eax, 0x2720000
jne 0x10134c06
mov dword [ebp + 0x18], 0x80010
push 5
push str.Canon
push esi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134c7d
mov ecx, dword [ebp + 0x5484c]
test ecx, ecx
je 0x10134c7d
mov esi, str.EOS_1D
lea edi, [eax + 0x37]
nop dword [eax]
movzx eax, word [esi - 2]
sub eax, 0x80000000
cmp ecx, eax
jne 0x10134c6b
mov eax, dword [ebp]
mov ecx, ebp
push 0
push esi
push str.Canon
mov eax, dword [eax + 0x20]
call eax
mov ecx, esi
lea edx, [ebp + 0x104]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10134c57
mov ecx, dword [ebp + 0x5484c]
add esi, 0x16
sub edi, 1
jne 0x10134c30
mov ebx, dword [esp + 0x14]
lea esi, [ebp + 0xc4]
push 4
push 0x102b4a0c
push esi
call fcn.102844b6
add esp, 0xc
test eax, eax
jne 0x10134ceb
mov ecx, dword [ebp + 0x5484c]
test ecx, ecx
je 0x10134ceb
mov esi, str.DSC_R1
lea edi, [eax + 0x48]
movzx eax, word [esi - 2]
cmp ecx, eax
jne 0x10134cd9
mov eax, dword [ebp]
mov ecx, ebp
push 0
push esi
push 0x102b4a0c
mov eax, dword [eax + 0x20]
call eax
mov ecx, esi
lea edx, [ebp + 0x104]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10134cc5
mov ecx, dword [ebp + 0x5484c]
add esi, 0x16
sub edi, 1
jne 0x10134ca3
mov ebx, dword [esp + 0x14]
lea esi, [ebp + 0xc4]
push 5
push str.Nikon
push esi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134d40
cmp dword [ebp + 0x83dac], eax
jne 0x10134d11
mov dword [ebp + 0x83dac], 0x1013ed40
cmp byte [ebp + 0x104], 0x45
lea edi, [ebp + 0x104]
jne 0x10134d46
mov eax, dword [ebp + 0x54880]
or eax, dword [ebp + 0x54884]
mov eax, 6
je 0x10134d38
mov eax, 2
or dword [ebp + 0x548b8], eax
jmp 0x10134d46
lea edi, [ebp + 0x104]
mov ecx, str.KAI_0340
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134d70
test dl, dl
je 0x10134d6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134d70
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134d50
xor eax, eax
jmp 0x10134d75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10134dc9
push 0x1400
push 0xf00
push 0x10
push 0x10
mov ecx, ebp
call fcn.10131160
movss xmm0, dword [0x102c6160]
fstp dword [esp + 0x20]
comiss xmm0, dword [esp + 0x20]
jbe 0x10134dc9
mov eax, 0x1e0
mov word [ebp + 0x14], ax
xor eax, eax
mov dword [ebp + 0x194], 0
mov word [ebp + 0x18], ax
mov eax, dword [str.C603]
mov dword [edi], eax
mov al, byte [0x102c57c0]
mov byte [edi + 4], al
mov ecx, 0x102b4a0c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134df0
test dl, dl
je 0x10134dec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134df0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134dd0
xor eax, eax
jmp 0x10134df5
sbb eax, eax
or eax, 1
mov ecx, 0xf30
mov edx, 0x80
test eax, eax
jne 0x10134e3f
cmp word [ebp + 0x12], cx
jbe 0x10134e3f
cmp dword [ebp + 0x24f50], eax
jne 0x10134e3f
cmp dword [ebp + 0x20f38], eax
jne 0x10134e3f
cmp dword [ebp + 0x83dac], 0x101607f0
jne 0x10134e2c
mov eax, 0x200
jmp 0x10134e39
mov ecx, dword [ebp + 0x548a4]
mov eax, edx
sub ecx, 0xc
shl eax, cl
mov dword [ebp + 0x24f50], eax
cmp dword [ebp + 0x18c], 0
je 0x10134e8a
movzx eax, word [ebp + 0x14]
movzx edx, word [ebp + 0x16]
mov ecx, eax
add ecx, ecx
mov esi, eax
mov edi, edx
cmp ecx, edx
jae 0x10134e69
movsd xmm0, qword [0x103efa18]
movsd qword [ebp + 0x28], xmm0
cmp si, di
jbe 0x10134e7b
movsd xmm0, qword [0x103efac0]
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x194], 0
jmp 0x101384eb
push 6
push str.Pentax
push esi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134ef3
push 3
push 0x102c57c4
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134ef3
mov eax, 0x12
lea ebx, [ebp + 0x104]
mov word [ebp + 0x18], ax
mov ax, word [ebp + 0x10]
sub ax, 0x12
mov word [ebp + 0x14], ax
mov eax, 0x1ce0
cmp word [ebp + 0x12], ax
jne 0x101384f1
mov eax, 6
mov word [ebp + 0x1a], ax
mov eax, 0x1cd0
mov word [ebp + 0x16], ax
jmp 0x101384f1
push 5
push str.Canon
push esi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10134fca
cmp dword [ebp + 0x548a4], 0xf
jne 0x10134fca
movzx eax, word [ebp + 0x16]
mov ecx, 0xd10
mov edx, eax
cmp dx, cx
je 0x10134f36
mov esi, 0xf20
mov ecx, eax
cmp ax, si
je 0x10134f3c
jmp 0x10134f49
add eax, 0xffffffbe
movzx ecx, ax
lea eax, [ecx - 6]
mov word [ebp + 0x16], ax
movzx ecx, ax
movzx edx, ax
movzx eax, word [ebp + 0x14]
movzx edi, cx
mov ebx, eax
movzx edx, dx
mov esi, eax
cmp ax, cx
jbe 0x10134f78
mov edx, ebx
mov esi, edi
mov word [ebp + 0x16], dx
mov word [ebp + 0x14], di
mov ax, word [ebp + 0x10]
movzx ecx, word [ebp + 0x12]
mov word [ebp + 0x12], ax
mov word [ebp + 0x10], cx
mov ecx, 0x1c20
movzx eax, si
cmp dx, cx
jne 0x10134f9d
mov ecx, 0xf30
cmp ax, cx
jne 0x10134f9d
mov dword [ebp + 0x14], 0x195010e0
mov dword [ebp + 0x10], 0x195010e0
mov dword [ebp + 0x194], 0
mov dword [ebp + 0x190], 3
mov dword [ebp + 0x548a0], 3
mov dword [ebp + 0x83dac], 0x1012f120
jmp 0x101384eb
mov ecx, str.PowerShot_600
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10134ff1
test dl, dl
je 0x10134fed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10134ff1
add eax, 2
add ecx, 2
test dl, dl
jne 0x10134fd1
xor eax, eax
jmp 0x10134ff6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013502d
mov dword [ebp + 0x14], 0x3560265
mov eax, 0x380
mov word [ebp + 0x12], ax
mov dword [ebp + 0x190], 4
mov dword [ebp + 0x194], 0xe1e4e1e4
mov dword [ebp + 0x83dac], 0x1012e9a0
jmp 0x101384eb
mov ecx, str.PowerShot_A5
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135054
test dl, dl
je 0x10135050
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135054
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135034
xor eax, eax
jmp 0x10135059
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013849c
mov ecx, str.PowerShot_A5_Zoom
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135088
test dl, dl
je 0x10135084
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135088
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135068
xor eax, eax
jmp 0x1013508d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013849c
mov ecx, str.PowerShot_A50
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101350c0
test dl, dl
je 0x101350bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101350c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101350a0
xor eax, eax
jmp 0x101350c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101350e8
mov dword [ebp + 0x14], 0x50a03c8
mov eax, 0x528
mov word [ebp + 0x12], ax
mov dword [ebp + 0x194], 0x1b4e4b1e
jmp 0x101384c3
mov ecx, str.PowerShot_Pro70
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135110
test dl, dl
je 0x1013510c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135110
add eax, 2
add ecx, 2
test dl, dl
jne 0x101350f0
xor eax, eax
jmp 0x10135115
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013512f
mov dword [ebp + 0x14], 0x6100400
mov dword [ebp + 0x194], 0x1e4b4e1b
jmp 0x101384c3
mov ecx, str.PowerShot_Pro90_IS
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135156
test dl, dl
je 0x10135152
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135156
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135136
xor eax, eax
jmp 0x1013515b
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138486
mov ecx, str.PowerShot_G1
mov eax, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135190
test dl, dl
je 0x1013518c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135190
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135170
xor eax, eax
jmp 0x10135195
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138486
mov ecx, str.PowerShot_A610
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101351c4
test dl, dl
je 0x101351c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101351c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101351a4
xor eax, eax
jmp 0x101351c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10135227
xor esi, esi
nop
mov ecx, dword [ebp + 0x54800]
imul eax, esi, 0xd0c
push 0
push 0
mov edx, dword [ecx]
add eax, 0xcd4
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, 0xf
jg 0x1013520a
inc esi
cmp esi, 0x64
jb 0x101351d0
jmp 0x101384eb
mov eax, dword [str.S2_IS]
mov dword [ebp + 0x10e], eax
mov ax, word [0x102c5854]
mov word [ebp + 0x112], ax
jmp 0x101384eb
mov ecx, str.PowerShot_SX220_HS
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135250
test dl, dl
je 0x1013524c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135250
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135230
xor eax, eax
jmp 0x10135255
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013526c
mov dword [ebp + 0x50], 0xfffffffc
mov dword [ebp + 0x18], 0x5c0010
jmp 0x101384eb
mov ecx, str.PowerShot_S120
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135293
test dl, dl
je 0x1013528f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135293
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135273
xor eax, eax
jmp 0x10135298
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101352d2
mov dword [ebp + 0x10], 0x10600bf6
mov dword [ebp + 0x14], 0xfb60bc8
mov dword [ebp + 0x18], 0x78001f
mov dword [ebp + 0x34], 0x1f
mov dword [ebp + 0x3c], 0xbe7
mov dword [ebp + 0x38], 0x17
mov dword [ebp + 0x40], 0x48
jmp 0x101384eb
mov ecx, str.PowerShot_G16
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135300
test dl, dl
je 0x101352fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135300
add eax, 2
add ecx, 2
test dl, dl
jne 0x101352e0
xor eax, eax
jmp 0x10135305
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10135345
mov dword [ebp + 0x34], eax
mov ecx, 0xa8
mov dword [ebp + 0x3c], 0x50
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x40], 0x10
mov dword [ebp + 0x18], 0x78001d
movzx eax, word [ebp + 0x12]
sub ax, cx
mov word [ebp + 0x16], ax
movzx eax, word [ebp + 0x10]
sub ax, 0x2b
mov word [ebp + 0x14], ax
jmp 0x101384eb
mov ecx, str.PowerShot_SX50_HS
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135370
test dl, dl
je 0x1013536c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135370
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135350
xor eax, eax
jmp 0x10135375
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10135387
mov eax, 0x11
mov word [ebp + 0x18], ax
jmp 0x101384eb
mov ecx, str.EOS_D2000C
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101353b0
test dl, dl
je 0x101353ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101353b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135390
xor eax, eax
jmp 0x101353b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101353e7
mov dword [ebp + 0x194], 0x61616161
lea ebx, [ebp + 0x104]
cmp dword [ebp + 0x24f50], eax
jne 0x101384f1
movzx eax, word [ebp + 0x10c8]
mov dword [ebp + 0x24f50], eax
jmp 0x101384f1
mov ecx, 0x102c58a0
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135410
test dl, dl
je 0x1013540c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135410
add eax, 2
add ecx, 2
test dl, dl
jne 0x101353f0
xor eax, eax
jmp 0x10135415
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013545c
movss xmm0, dword [ebp + 0x24ff4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102c6040]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24ff4], xmm0
movss xmm0, dword [ebp + 0x24ffc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102c6060]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24ffc], xmm0
jmp 0x101384eb
mov ecx, 0x102c58a4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135483
test dl, dl
je 0x1013547f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135483
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135463
xor eax, eax
jmp 0x10135488
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101354a7
movsd xmm0, qword [0x103efa18]
mov eax, 0xfffc
add word [ebp + 0x16], ax
movsd qword [ebp + 0x28], xmm0
jmp 0x101384eb
mov ecx, str.D40X
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101354d0
test dl, dl
je 0x101354cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101354d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101354b0
xor eax, eax
jmp 0x101354d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138472
mov ecx, 0x102c58b0
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135504
test dl, dl
je 0x10135500
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135504
add eax, 2
add ecx, 2
test dl, dl
jne 0x101354e4
xor eax, eax
jmp 0x10135509
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138472
mov ecx, 0x102c58b4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135538
test dl, dl
je 0x10135534
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135538
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135518
xor eax, eax
jmp 0x1013553d
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138472
mov ecx, str.D3000
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135570
test dl, dl
je 0x1013556c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135570
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135550
xor eax, eax
jmp 0x10135575
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138472
mov ecx, 0x102c58c0
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101355a4
test dl, dl
je 0x101355a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101355a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135584
xor eax, eax
jmp 0x101355a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013845b
mov ecx, 0x102c58c4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101355d8
test dl, dl
je 0x101355d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101355d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x101355b8
xor eax, eax
jmp 0x101355dd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013845b
mov ecx, str.D700
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135610
test dl, dl
je 0x1013560c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135610
add eax, 2
add ecx, 2
test dl, dl
jne 0x101355f0
xor eax, eax
jmp 0x10135615
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013845b
mov ecx, str.D3100
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135644
test dl, dl
je 0x10135640
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135644
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135624
xor eax, eax
jmp 0x10135649
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10135664
mov eax, 0xffe4
add word [ebp + 0x16], ax
mov eax, 6
mov word [ebp + 0x1a], ax
jmp 0x101384eb
mov ecx, str.D5000
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135690
test dl, dl
je 0x1013568c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135690
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135670
xor eax, eax
jmp 0x10135695
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013844d
mov ecx, 0x102c58e0
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101356c4
test dl, dl
je 0x101356c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101356c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101356a4
xor eax, eax
jmp 0x101356c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013844d
mov ecx, str.D5100
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101356f8
test dl, dl
je 0x101356f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101356f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x101356d8
xor eax, eax
jmp 0x101356fd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013843f
mov ecx, str.D7000
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135730
test dl, dl
je 0x1013572c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135730
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135710
xor eax, eax
jmp 0x10135735
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013843f
mov ecx, str.COOLPIX_A
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135764
test dl, dl
je 0x10135760
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135764
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135744
xor eax, eax
jmp 0x10135769
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013843f
mov ecx, str.D3200
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135798
test dl, dl
je 0x10135794
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135798
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135778
xor eax, eax
jmp 0x1013579d
sbb eax, eax
or eax, 1
test eax, eax
je 0x10138431
push 2
push 0x102c5908
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x10138431
push 4
push str.D800
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x10138431
mov ecx, 0x102c5914
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135800
test dl, dl
je 0x101357fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135800
add eax, 2
add ecx, 2
test dl, dl
jne 0x101357e0
xor eax, eax
jmp 0x10135805
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013841a
mov ecx, 0x102c5918
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135834
test dl, dl
je 0x10135830
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135834
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135814
xor eax, eax
jmp 0x10135839
sbb eax, eax
or eax, 1
test eax, eax
je 0x1013841a
mov ecx, str.D500
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135868
test dl, dl
je 0x10135864
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135868
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135848
xor eax, eax
jmp 0x1013586d
sbb eax, eax
or eax, 1
test eax, eax
je 0x101384eb
push 3
push 0x102c5924
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x1013840c
push 3
push 0x103ea164
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x1013840c
push 3
push 0x102c5928
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
je 0x1013840c
mov ecx, str.D100
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101358e4
test dl, dl
je 0x101358e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101358e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101358c4
xor eax, eax
jmp 0x101358e9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10135914
lea ebx, [ebp + 0x104]
cmp dword [ebp + 0x548b8], eax
je 0x101384f1
add word [ebp + 0x16], 3
movzx eax, word [ebp + 0x16]
add eax, 3
mov word [ebp + 0x12], ax
jmp 0x101384f1
mov ecx, str.D200
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135940
test dl, dl
je 0x1013593c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10135940
add eax, 2
add ecx, 2
test dl, dl
jne 0x10135920
xor eax, eax
jmp 0x10135945
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1013596a
mov eax, 1
mov word [ebp + 0x1a], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
mov dword [ebp + 0x194], 0x94949494
jmp 0x101384eb
push 3
push 0x102c593c
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10135995
mov eax, 6
mov word [ebp + 0x1a], ax
mov eax, 0xfff2
add word [ebp + 0x16], ax
jmp 0x101384eb
push 3
push 0x102c5940
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101359cc
movzx edx, word [ebp + 0x16]
mov esi, 0xcc0
cmp dx, si
mov ecx, 0xca0
lea eax, [edx - 8]
movzx eax, ax
cmovne ecx, eax
mov word [ebp + 0x16], cx
jmp 0x101384eb
push 4
push str.D300
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x101359ee
mov eax, 0xffe0
add word [ebp + 0x16], ax
jmp 0x101384eb
push 5
push str.Nikon
push esi
call fcn.1027d010
add esp, 0xc
mov ecx, 0xfc0
test eax, eax
jne 0x10135af6
cmp word [ebp + 0x12], cx
jne 0x10135af6
mov ecx, str.COOLPIX_P7700
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10135a40
push 9
push str.COOLPIX_P
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10135b8d
mov eax, 0xfc0
cmp word [ebp + 0x12], ax
je 0x10135b8d
push 0xc
push str.COOLPIX_B700
push edi
call fcn.1027d010
add esp, 0xc
test eax, eax
jne 0x10135bba
mov eax, 0xffff
add word [ebp + 0x16], ax
jmp 0x101384eb
mov eax, 0xffcc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x101384eb
mov eax, 0xffd2
add word [ebp + 0x16], ax
jmp 0x101384eb
mov eax, 0xffd4
add word [ebp + 0x16], ax
jmp 0x101384eb
mov eax, 0xffd6
add word [ebp + 0x16], ax
jmp 0x101384eb
mov eax, 0xfffc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x101384eb
mov eax, 0xfffd
add word [ebp + 0x14], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
jmp 0x101384eb
mov dword [ebp + 0x190], 4
mov dword [ebp + 0x194], 0xb4b4b4b4
jmp 0x101384eb
movsd xmm0, qword [0x102c6098]
mov eax, 0x3e0
mov dword [ebp + 0x14], 0x3c00305
mov word [ebp + 0x12], ax
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x194], 0x1e4e1e4e
mov dword [ebp + 0x190], 4
mov dword [ebp + 0x548a4], 0xa
mov dword [ebp + 0x83dac], 0x1013ed40
mov dword [ebp + 0x548b8], 0x28
lea ebx, [ebp + 0x104]
mov eax, dword [ebp + 0x83dac]
test eax, eax
je 0x10139750
movzx esi, word [ebp + 0x14]
cmp esi, 0x16
jb 0x10139750
movzx ecx, word [ebp + 0x16]
cmp ecx, 0x16
jb 0x10139750
cmp dword [ebp + 0x548a4], 0x10
jbe 0x1013852d
cmp eax, 0x10168400
jne 0x10139750
cmp dword [ebp + 0x548a0], 4
ja 0x10139750
mov eax, dword [ebp + 0x190]
dec eax
cmp eax, 3
ja 0x10139750
movzx eax, word [ebp + 0x1a]
mov edx, ecx
add eax, edx
cmp eax, 0xffff
ja 0x10139750
movzx eax, word [ebp + 0x18]
mov ecx, esi
add eax, ecx
cmp eax, 0xffff
ja 0x10139750
cmp byte [ebx], 0
jne 0x10138585
push ecx
push edx
push str._dx_d
push ebx
call fcn.10007060
add esp, 0x10
cmp dword [ebp + 0x194], 0xffffffff
jne 0x10138598
mov dword [ebp + 0x194], 0x94949494
mov esi, dword [ebp + 0x54818]
mov eax, esi
mov edx, dword [ebp + 0x5481c]
or eax, edx
je 0x101385f8
cmp word [ebp + 0x2ac26], 0
jne 0x101385f8
mov ecx, dword [ebp + 0x54800]
push 0
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push 1
lea eax, [esp + 0x214]
mov ecx, ebp
push eax
call fcn.1013cb90
test eax, eax
je 0x101385f8
movzx eax, word [esp + 0x21c]
mov word [ebp + 0x2ac24], ax
movzx eax, word [esp + 0x218]
mov word [ebp + 0x2ac26], ax
cmp dword [ebp + 0x188], 0
je 0x101390d1
mov edi, dword [ebp + 0x54858]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
test edi, edi
je 0x1013863f
mov esi, dword [ebp + 0x54884]
lea ecx, [ebp + 0x5a90c]
mov eax, dword [ecx]
cdq
cmp eax, dword [ebp + 0x54880]
jne 0x10138630
cmp edx, esi
je 0x1013863b
inc ebx
add ecx, 0x4208
cmp ebx, edi
jb 0x10138621
mov dword [esp + 0x3c], ebx
or ecx, 0xffffffff
mov dword [esp + 0x38], ecx
xor ecx, ecx
test edi, edi
je 0x10138676
lea esi, [ebp + 0x5a90c]
mov eax, dword [esi]
cdq
cmp eax, dword [ebp + 0x54818]
jne 0x10138665
cmp edx, dword [ebp + 0x5481c]
je 0x10138672
inc ecx
add esi, 0x4208
cmp ecx, edi
jb 0x10138652
jmp 0x10138676
mov dword [esp + 0x38], ecx
cmp ebx, edi
jae 0x10139097
test dword [ebp + 0xf18], 0x8000
je 0x10138b73
imul edi, ebx, 0x4208
lea esi, [ebp + 0x5a95c]
lea edx, [ebp + 0x5a95c]
add esi, edi
xor ecx, ecx
test byte [esi], 2
je 0x101386ad
mov eax, ebx
jmp 0x101386bb
mov eax, dword [edx]
and al, 2
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test byte [esi], 4
mov dword [esp + ecx + 0x2c], eax
je 0x101386c8
mov eax, ebx
jmp 0x101386d6
mov eax, dword [edx]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test byte [esi], 8
mov dword [esp + ecx + 0x20], eax
je 0x101386e3
mov eax, ebx
jmp 0x101386f1
mov eax, dword [edx]
and al, 8
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esp + ecx + 0x40], eax
add esi, 0xa8
add ecx, 4
add edx, 0xa8
cmp ecx, 8
jl 0x101386a4
test byte [edi + ebp + 0x5aaac], 0x10
je 0x10138719
mov dword [esp + 0x34], ebx
jmp 0x1013872f
mov eax, dword [ebp + 0x5aaac]
and al, 0x10
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x2c]
test edi, edi
js 0x10138b73
cmp edi, dword [ebp + 0x54858]
jae 0x10138b73
cmp edi, dword [esp + 0x30]
jne 0x10138b73
cmp edi, dword [esp + 0x20]
jne 0x10138b73
cmp edi, dword [esp + 0x24]
jne 0x10138b73
imul eax, edi, 0x4208
mov dword [esp + 0x18], eax
lea esi, [eax + 0x5a960]
add esi, ebp
mov dword [esp + 0x1c], esi
cmp word [esi], 0
jbe 0x10138b73
cmp word [eax + ebp + 0x5aa08], 0
jbe 0x10138b73
movaps xmm3, xmmword [0x103f0140]
lea ecx, [esp + 0xd0]
movaps xmm4, xmmword [0x103f0120]
xor edx, edx
xorps xmm5, xmm5
nop
movd xmm0, edx
xor eax, eax
pshufd xmm2, xmm0, 0
nop dword [eax + eax]
movd xmm0, eax
add eax, 2
pshufd xmm1, xmm0, 0
movq xmm0, xmm3
paddd xmm1, xmm0
movq xmm0, xmm2
pcmpeqd xmm1, xmm0
movq xmm0, xmm4
pand xmm1, xmm0
movq xmm0, xmm5
por xmm1, xmm0
cvtdq2pd xmm0, xmm1
movups xmmword [ecx], xmm0
add ecx, 0x10
cmp eax, 4
jl 0x101387c0
inc edx
cmp edx, 4
jl 0x101387b0
or ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x14], ecx
xor eax, eax
nop dword [eax]
cmp word [edx], 0x15
je 0x10138824
inc eax
add edx, 0xa8
cmp eax, 2
jl 0x10138810
jmp 0x1013882e
mov ecx, eax
mov dword [esp + 0x14], ecx
test eax, eax
jns 0x10138872
xor edx, edx
movzx esi, word [esi]
mov eax, esi
cmp eax, 1
je 0x10138864
cmp eax, 0x14
je 0x10138864
cmp eax, 0x16
je 0x10138864
cmp eax, 0x17
je 0x10138864
cmp esi, 4
je 0x10138864
mov esi, dword [esp + 0x1c]
inc edx
add esi, 0xa8
mov dword [esp + 0x1c], esi
cmp edx, 2
jl 0x10138830
jmp 0x1013886a
mov ecx, edx
mov dword [esp + 0x14], ecx
test ecx, ecx
js 0x10138b73
mov esi, dword [ebp + 0x190]
xor ebx, ebx
test esi, esi
jle 0x1013890a
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x158]
mov dword [esp + 0x1c], ecx
cmp ebx, 4
jge 0x10138906
mov edx, dword [esp + 0x18]
lea eax, [edi*8]
sub eax, edi
lea eax, [ebx + eax*2]
lea eax, [eax + eax*2]
lea edx, [edx + eax*4]
movss xmm0, dword [edx + ebp + 0x5a9a4]
cvtps2pd xmm0, xmm0
movsd qword [ecx - 8], xmm0
lea ecx, [edi + 0x8a1]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x18]
lea eax, [ebx + eax*2]
inc ebx
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [eax + ebp]
cvtps2pd xmm0, xmm0
movsd qword [ecx], xmm0
movss xmm0, dword [edx + ebp + 0x5a9ac]
cvtps2pd xmm0, xmm0
movsd qword [ecx + 8], xmm0
add ecx, 0x18
mov dword [esp + 0x1c], ecx
cmp ebx, esi
jl 0x10138891
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
cmp dword [esp + ebx*4 + 0x40], edi
jne 0x10138a6b
xor edx, edx
mov dword [esp + 0x10], edx
test esi, esi
jle 0x10138a6b
nop word [eax + eax]
xor ecx, ecx
cmp esi, 4
jl 0x10138a13
jmp 0x10138944
mov edx, dword [esp + 0x10]
cmp ecx, 4
jge 0x10138a5a
imul eax, edi, 0x1082
imul ebx, ebx, 0x2a
shl edx, 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], ebx
lea edi, [ebx + eax]
add edi, edx
lea ebx, [ecx + 2]
add edi, ecx
lea eax, [ebx - 1]
add edx, ecx
movss xmm0, dword [ebp + edi*4 + 0x5a964]
cvtps2pd xmm0, xmm0
movsd qword [esp + edx*8 + 0xd0], xmm0
cmp eax, 4
jge 0x10138a52
movss xmm0, dword [ebp + edi*4 + 0x5a968]
cvtps2pd xmm0, xmm0
movsd qword [esp + edx*8 + 0xd8], xmm0
cmp ebx, 4
jge 0x10138a52
movss xmm0, dword [ebp + edi*4 + 0x5a96c]
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + edx*8 + 0xe0], xmm0
cmp eax, 4
jge 0x10138a56
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea eax, [eax + edi*4]
mov edi, dword [esp + 0x2c]
add eax, dword [esp + 0x40]
add eax, ecx
add ecx, 4
movss xmm0, dword [ebp + eax*4 + 0x5a970]
lea eax, [esi - 3]
cvtps2pd xmm0, xmm0
movsd qword [esp + edx*8 + 0xe8], xmm0
mov edx, ecx
cmp ecx, eax
jl 0x10138940
cmp edx, esi
mov edx, dword [esp + 0x10]
jge 0x10138a5a
shl edx, 2
imul eax, ebx, 0x2a
mov dword [esp + 0x20], eax
nop dword [eax]
cmp ecx, 4
jge 0x10138a56
imul eax, edi, 0x1082
add eax, dword [esp + 0x20]
add eax, edx
add eax, ecx
movss xmm0, dword [ebp + eax*4 + 0x5a964]
lea eax, [edx + ecx]
cvtps2pd xmm0, xmm0
inc ecx
movsd qword [esp + eax*8 + 0xd0], xmm0
cmp ecx, esi
jl 0x10138a20
jmp 0x10138a56
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
inc edx
mov dword [esp + 0x10], edx
cmp edx, esi
jl 0x10138930
cmp dword [esp + 0x34], edi
jne 0x10138ac3
test esi, esi
jle 0x10138ac3
mov edx, dword [esp + 0x18]
lea edi, [esp + 0xd0]
add edx, 0x5eaf0
mov ebx, esi
add edx, ebp
nop word [eax + eax]
xor eax, eax
mov ecx, edi
cmp eax, 4
jge 0x10138ab0
movss xmm0, dword [edx]
inc eax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [ecx]
movsd qword [ecx], xmm0
add ecx, 8
cmp eax, esi
jl 0x10138a94
add edx, 4
add edi, 0x20
sub ebx, 1
jne 0x10138a90
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x10138ad3
xor eax, eax
mov ecx, esi
mov dword [esp + 0x18], eax
test ecx, ecx
jle 0x10138b59
lea ebp, [esp + 0xd0]
lea edi, [esp + 0x1b0]
cmp eax, 4
jge 0x10138b55
movsd xmm0, qword [esp + 0x48]
lea ebx, [esp + 0x150]
mov eax, 3
mov dword [esp + 0x1c], eax
movsd qword [edi], xmm0
test esi, esi
jle 0x10138b36
movaps xmm1, xmm0
mov eax, ebp
mov ecx, ebx
mov edx, esi
movsd xmm0, qword [ecx]
add ecx, 0x18
mulsd xmm0, qword [eax]
add eax, 8
addsd xmm1, xmm0
sub edx, 1
jne 0x10138b11
movsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
movsd qword [edi], xmm1
add ebx, 8
add edi, 8
sub eax, 1
mov dword [esp + 0x1c], eax
jne 0x10138b00
mov eax, dword [esp + 0x18]
add ebp, 0x20
inc eax
mov dword [esp + 0x18], eax
cmp eax, esi
jl 0x10138ae1
mov ebp, dword [esp + 0x28]
lea eax, [esp + 0x1b0]
mov ecx, ebp
push eax
lea eax, [ebp + 0x25014]
push eax
call fcn.1012ddd0
mov ebx, dword [esp + 0x3c]
test dword [ebp + 0xf18], 0x1000
je 0x10138d03
imul eax, ebx, 0x4208
mov ecx, dword [eax + ebp + 0x5aaac]
test ecx, 0x200
je 0x10138b9c
mov eax, ebx
jmp 0x10138bae
mov eax, dword [ebp + 0x5aaac]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
dec eax
test ecx, 0x400
je 0x10138bba
mov ecx, ebx
jmp 0x10138bcd
mov ecx, dword [ebp + 0x5aaac]
and ecx, 0x400
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
test eax, eax
js 0x10138d03
cmp eax, ecx
jne 0x10138d03
imul edx, eax, 0x4208
mov dword [esp + 0x20], edx
mov ecx, dword [edx + ebp + 0x5eae4]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x10138d03
mov edi, dword [edx + ebp + 0x5eae8]
test edi, edi
je 0x10138d03
mov esi, dword [ebp + 0x194]
mov eax, dword [edx + ebp + 0x5eadc]
mov dword [esp + 0x28], eax
test esi, esi
je 0x10138caf
cmp esi, 0x3e8
jb 0x10138c35
inc eax
cdq
sub eax, edx
mov esi, eax
and esi, 0xfffffffe
jmp 0x10138c4b
lea ecx, [eax + 5]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*2]
add esi, esi
cmp dword [ebp + 0x194], 0x3e8
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + ebp + 0x5eae0]
mov dword [esp + 0x18], ecx
jb 0x10138c73
lea eax, [ecx + 1]
cdq
sub eax, edx
mov edx, eax
and edx, 0xfffffffe
jmp 0x10138c8d
add ecx, 5
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x18]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
mov eax, dword [esp + 0x28]
cmp esi, eax
jle 0x10138c9f
sub eax, esi
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
cmp edx, ecx
jle 0x10138cc0
mov eax, ecx
sub eax, edx
add edi, eax
mov eax, dword [esp + 0x28]
jmp 0x10138cc0
mov edx, dword [edx + ebp + 0x5eae0]
mov esi, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
movzx ecx, word [ebp + 0x1a]
add ecx, dword [esp + 0x14]
add ecx, eax
movzx eax, word [ebp + 0x12]
cmp ecx, eax
jg 0x10138d03
movzx eax, word [ebp + 0x18]
mov dword [esp + 0x20], eax
lea ecx, [edi + eax]
movzx eax, word [ebp + 0x10]
add ecx, dword [esp + 0x18]
cmp ecx, eax
jg 0x10138d03
add word [ebp + 0x1a], si
mov eax, dword [esp + 0x20]
add eax, edx
mov word [ebp + 0x18], ax
mov eax, dword [esp + 0x14]
mov word [ebp + 0x16], ax
mov word [ebp + 0x14], di
test byte [ebp + 0x251e8], 1
jne 0x10138d4d
imul eax, ebx, 0x4208
test byte [eax + ebp + 0x5a95c], 1
je 0x10138d20
mov eax, ebx
jmp 0x10138d2a
mov eax, dword [ebp + 0x5a95c]
and eax, 1
dec eax
test eax, eax
js 0x10138d4d
imul eax, eax, 0x4208
push 0x30
add eax, 0x5a9d4
add eax, ebp
push eax
lea eax, [ebp + 0x25260]
push eax
call fcn.1026cc00
add esp, 0xc
test byte [ebp + 0x25290], 1
jne 0x10138d97
imul eax, ebx, 0x4208
test byte [eax + ebp + 0x5aa04], 1
je 0x10138d6a
mov eax, ebx
jmp 0x10138d74
mov eax, dword [ebp + 0x5aa04]
and eax, 1
dec eax
test eax, eax
js 0x10138d97
imul eax, eax, 0x4208
push 0x30
add eax, 0x5aa7c
add eax, ebp
push eax
lea eax, [ebp + 0x25308]
push eax
call fcn.1026cc00
add esp, 0xc
imul eax, ebx, 0x4208
lea edi, [ebp + 0x5a95c]
mov ecx, 0xfffa56a4
mov dword [esp + 0x1c], 2
lea esi, [ebp + 0x5a95c]
add edi, eax
mov dword [esp + 0x40], eax
sub ecx, ebp
mov dword [esp + 0x20], ecx
test byte [edi], 4
je 0x10138dcb
mov eax, ebx
jmp 0x10138dd9
mov eax, dword [esi]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
add ecx, esi
mov dword [esp + 0x28], ecx
test eax, eax
js 0x10138e09
imul eax, eax, 0x4208
add ecx, 0x5a9a4
push 0x30
add eax, ecx
add eax, ebp
push eax
lea eax, [esi - 0x3572c]
push eax
call fcn.1026cc00
mov ecx, dword [esp + 0x34]
add esp, 0xc
test byte [edi], 8
je 0x10138e12
mov eax, ebx
jmp 0x10138e20
mov eax, dword [esi]
and al, 8
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138e46
imul eax, eax, 0x4208
add ecx, 0x5a964
push 0x40
add eax, ecx
add eax, ebp
push eax
lea eax, [esi - 0x3576c]
push eax
call fcn.1026cc00
add esp, 0xc
test byte [edi], 2
je 0x10138e4f
mov eax, ebx
jmp 0x10138e5d
mov eax, dword [esi]
and al, 2
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138e7a
imul eax, eax, 0x4208
add eax, dword [esp + 0x28]
mov ax, word [eax + ebp + 0x5a960]
mov word [esi - 0x35770], ax
mov ecx, dword [esp + 0x20]
add edi, 0xa8
add esi, 0xa8
sub dword [esp + 0x1c], 1
jne 0x10138dc2
mov esi, dword [esp + 0x40]
test byte [esi + ebp + 0x5aaac], 0x10
je 0x10138ea7
mov eax, ebx
jmp 0x10138eb9
mov eax, dword [ebp + 0x5aaac]
and al, 0x10
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138edc
imul eax, eax, 0x4208
push 0x10
add eax, 0x5eaf0
add eax, ebp
push eax
lea eax, [ebp + 0x2937c]
push eax
call fcn.1026cc00
add esp, 0xc
test byte [esi + ebp + 0x5aaac], 0x40
je 0x10138eea
mov eax, ebx
jmp 0x10138efc
mov eax, dword [ebp + 0x5aaac]
and al, 0x40
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138f1f
imul eax, eax, 0x4208
push 0x10
add eax, 0x5eacc
add eax, ebp
push eax
lea eax, [ebp + 0x29358]
push eax
call fcn.1026cc00
add esp, 0xc
test byte [esi + ebp + 0x5aaac], 0x20
je 0x10138f2d
mov eax, ebx
jmp 0x10138f3f
mov eax, dword [ebp + 0x5aaac]
and al, 0x20
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138f73
imul ecx, eax, 0x4208
push 0x4018
mov eax, dword [ecx + ebp + 0x5eac8]
mov dword [ebp + 0x29354], eax
lea eax, [ecx + 0x5aab0]
add eax, ebp
push eax
lea eax, [ebp + 0x2533c]
push eax
call fcn.1026cc00
add esp, 0xc
mov ecx, dword [esp + 0x38]
test ecx, ecx
js 0x10138fb9
imul eax, ecx, 0x4208
test dword [eax + ebp + 0x5aaac], 0x800
jne 0x10138fa6
mov eax, dword [ebp + 0x5aaac]
and eax, 0x800
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
test eax, eax
je 0x10138fb9
imul eax, ecx, 0x4208
mov eax, dword [eax + ebp + 0x5eaec]
mov dword [ebp + 0x29378], eax
test byte [esi + ebp + 0x5aaac], 0x80
je 0x10138fc7
mov eax, ebx
jmp 0x10138fd9
mov eax, dword [ebp + 0x5aaac]
and al, 0x80
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x10138ffd
imul ecx, eax, 0x4208
mov eax, dword [ecx + ebp + 0x5a948]
mov ecx, dword [ecx + ebp + 0x5a94c]
mov dword [ebp + 0x54888], eax
mov dword [ebp + 0x5488c], ecx
test dword [esi + ebp + 0x5aaac], 0x100
jne 0x1013901d
mov ebx, dword [ebp + 0x5aaac]
and ebx, 0x100
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
test ebx, ebx
js 0x10139097
imul eax, ebx, 0x4208
mov ecx, dword [eax + ebp + 0x5a954]
mov ebx, dword [eax + ebp + 0x5a950]
mov eax, dword [eax + ebp + 0x5a958]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], eax
test ecx, ecx
jl 0x10139097
jg 0x10139052
test ebx, ebx
jb 0x10139097
test eax, eax
jle 0x10139097
mov ecx, dword [ebp + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [ebp + 0x54800]
mov edi, eax
push 0
push dword [esp + 0x24]
mov esi, edx
mov eax, dword [ecx]
push ebx
mov eax, dword [eax + 0xc]
call eax
push dword [esp + 0x40]
mov ecx, ebp
call fcn.1013c190
mov ecx, dword [ebp + 0x54800]
push 0
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebp + 0x29358]
lea edx, [ebp + 0x20f38]
mov dword [ebp + 0x24f58], eax
mov ecx, 0x1006
mov eax, dword [ebp + 0x29354]
mov dword [ebp + 0x24f50], eax
nop word [eax + eax]
mov eax, dword [edx + 0x4404]
lea edx, [edx + 4]
mov dword [edx - 4], eax
sub ecx, 1
jne 0x101390c0
mov eax, dword [ebp + 0x83dac]
test eax, eax
je 0x1013971a
cmp word [ebp + 0x14], 0x16
jb 0x1013971a
cmp word [ebp + 0x16], 0x16
jb 0x1013971a
cmp dword [ebp + 0x548a4], 0x10
jbe 0x10139109
cmp eax, 0x10168400
jne 0x1013971a
cmp dword [ebp + 0x548a0], 4
ja 0x1013971a
mov esi, dword [ebp + 0x190]
lea eax, [esi - 1]
cmp eax, 3
ja 0x1013971a
movss xmm0, dword [0x102c5f9c]
xor edx, edx
mov ecx, 1
cmp esi, 4
jl 0x10139198
lea edi, [ebp + 0x24ff8]
cmp edx, 4
jge 0x101391bc
xor ebx, ebx
lea eax, [edx + 1]
comiss xmm0, dword [edi - 4]
cmovb ebx, ecx
mov ecx, ebx
cmp eax, 4
jge 0x101391bc
xor ecx, ecx
comiss xmm0, dword [edi]
cmovb ecx, ebx
mov eax, ecx
cmp edx, 2
jge 0x101391bc
xor ecx, ecx
comiss xmm0, dword [edi + 4]
cmovb ecx, eax
lea eax, [edx + 3]
mov ebx, ecx
cmp eax, 4
jge 0x101391bc
lea eax, [edi + 8]
xor ecx, ecx
add edx, 4
add edi, 0x10
comiss xmm0, dword [eax]
lea eax, [esi - 3]
cmovb ecx, ebx
cmp edx, eax
jl 0x10139142
cmp edx, esi
jge 0x101391bc
lea edi, [edx*4 + 0x24ff4]
add edi, ebp
cmp edx, 4
jge 0x101391bc
xor eax, eax
comiss xmm0, dword [edi]
cmovb eax, ecx
inc edx
add edi, 4
mov ecx, eax
cmp edx, esi
jl 0x101391a5
test ecx, ecx
je 0x101393ad
movss xmm1, dword [ebp + 0x24ff4]
lea edi, [ebp + 0x24ff8]
xor ecx, ecx
cvtps2pd xmm1, xmm1
cmp esi, 4
jl 0x10139260
mov ebx, edi
mov edx, edi
cmp ecx, 4
jge 0x10139291
movss xmm0, dword [ebx - 4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x101391fe
movaps xmm1, xmm0
lea eax, [ecx + 1]
mov edx, edi
cmp eax, 4
jge 0x10139291
movss xmm0, dword [ebx]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x1013921c
movaps xmm1, xmm0
mov edx, edi
cmp ecx, 2
jge 0x10139291
movss xmm0, dword [ebx + 4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x10139238
movaps xmm1, xmm0
lea eax, [ecx + 3]
mov edx, edi
cmp eax, 4
jge 0x10139291
movss xmm0, dword [ebx + 8]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x10139253
movaps xmm1, xmm0
add ecx, 4
lea eax, [esi - 3]
add ebx, 0x10
cmp ecx, eax
jl 0x101391e2
mov edx, edi
cmp ecx, esi
jge 0x10139291
lea eax, [ecx*4 + 0x24ff4]
add eax, ebp
nop
mov edx, edi
cmp ecx, 4
jge 0x10139291
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x10139287
movaps xmm1, xmm0
inc ecx
add eax, 4
mov edx, edi
cmp ecx, esi
jl 0x10139270
xor ecx, ecx
cmp esi, 4
jl 0x1013932a
nop dword [eax]
cmp ecx, 4
jge 0x10139358
movss xmm0, dword [edx - 4]
lea eax, [ecx + 1]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xb0], xmm0
cmp eax, 4
jge 0x10139358
movss xmm0, dword [edx]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xb8], xmm0
cmp ecx, 2
jge 0x10139358
movss xmm0, dword [edx + 4]
lea eax, [ecx + 3]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xc0], xmm0
cmp eax, 4
jge 0x10139358
movss xmm0, dword [edx + 8]
lea eax, [esi - 3]
cvtps2pd xmm0, xmm0
add edx, 0x10
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xc8], xmm0
add ecx, 4
cmp ecx, eax
jl 0x101392a0
cmp ecx, esi
jge 0x10139358
lea eax, [ecx*4 + 0x24ff4]
add eax, ebp
cmp ecx, 4
jge 0x10139358
movss xmm0, dword [eax]
add eax, 4
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xb0], xmm0
inc ecx
cmp ecx, esi
jl 0x10139337
movsd xmm1, qword [esp + 0xb0]
xor eax, eax
movaps xmm2, xmm1
test esi, esi
jle 0x10139395
nop word [eax + eax]
cmp eax, 4
jge 0x10139395
movsd xmm0, qword [esp + eax*8 + 0xb0]
comisd xmm0, xmm1
ja 0x10139387
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x10139390
movaps xmm2, xmm0
inc eax
cmp eax, esi
jl 0x10139370
movsd xmm0, qword [0x102c5ff8]
comisd xmm0, xmm1
jae 0x101393ad
comisd xmm2, xmmword [0x103efbb8]
jbe 0x101393c1
mov dword [ebp + 0x25000], 0
mov dword [ebp + 0x24ff4], 0
cmp dword [ebp + 0xe94], 0
jne 0x101393d8
cmp dword [ebp + 0x188], 0
mov eax, 2
je 0x101393dd
mov eax, 3
test dword [ebp + 0xe98], eax
je 0x1013942a
movss xmm0, dword [ebp + 0x25014]
comiss xmm0, dword [0x103ef8b0]
jbe 0x1013942a
movups xmm0, xmmword [ebp + 0x25014]
movups xmmword [ebp + 0x25074], xmm0
movups xmm0, xmmword [ebp + 0x25024]
movups xmmword [ebp + 0x25084], xmm0
movups xmm0, xmmword [ebp + 0x25034]
movups xmmword [ebp + 0x25094], xmm0
mov dword [ebp + 0x54834], 0
cmp dword [ebp + 0x54834], 0
je 0x10139437
push 0
jmp 0x10139452
movss xmm1, dword [ebp + 0x250a4]
movsd xmm0, qword [0x102c6000]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x1013946a
push 1
mov eax, dword [ebp]
lea edx, [ebp + 0x104]
push edx
lea ecx, [ebp + 0xc4]
push ecx
mov eax, dword [eax + 0x20]
mov ecx, ebp
call eax
mov edi, dword [ebp + 0x83dac]
cmp edi, 0x1013a970
jne 0x1013949d
cmp dword [ebp + 0x54834], 0
je 0x1013949d
mov eax, dword [ebp]
mov ecx, ebp
push 0
push str.Quicktake
push str.Apple
mov eax, dword [eax + 0x20]
call eax
mov edi, dword [ebp + 0x83dac]
cmp word [ebp + 0x5483e], 0
je 0x101394cd
cmp dword [ebp + 0x188], 0
jne 0x101396b5
test dword [ebp + 0xf34], 0x10000
jne 0x101396b5
xor eax, eax
mov word [ebp + 0x5483e], ax
movzx eax, word [ebp + 0x14]
mov esi, eax
cmp word [ebp + 0x10], ax
jae 0x101394dd
mov word [ebp + 0x10], ax
movzx eax, word [ebp + 0x16]
mov edx, esi
mov ebx, eax
mov ecx, eax
cmp word [ebp + 0x12], ax
jae 0x101394f1
mov word [ebp + 0x12], ax
movzx eax, cx
mov ecx, dword [ebp + 0x548a4]
mov esi, ecx
mov dword [esp + 0x2c], eax
movzx ebx, dx
test ecx, ecx
jne 0x10139518
mov ecx, 0xc
mov dword [ebp + 0x548a4], 0xc
mov esi, ecx
cmp dword [ebp + 0x24f58], 0
mov edx, edi
jne 0x1013955d
mov eax, 1
shl eax, cl
dec eax
mov dword [ebp + 0x24f58], eax
cmp eax, 0x10000
jae 0x10139559
movzx eax, word [ebp + eax*2 + 0xf38]
test ax, ax
je 0x10139559
mov edx, dword [ebp + 0x83dac]
cmp edx, 0x101607f0
jne 0x10139559
mov dword [ebp + 0x24f58], eax
mov eax, dword [esp + 0x2c]
test edx, edx
je 0x1013958b
cmp ebx, 0x16
jb 0x1013958b
cmp ax, 0x16
jb 0x1013958b
cmp esi, 0x10
jbe 0x10139579
cmp edx, 0x10168400
jne 0x1013958b
cmp dword [ebp + 0x548a0], 6
ja 0x1013958b
cmp dword [ebp + 0x190], 4
jle 0x10139595
mov dword [ebp + 0x184], 0
mov ax, word [ebp + 0x12]
mov ecx, 0xf9ea
sub ax, 0x16
cmp ax, cx
ja 0x101395ba
movzx eax, word [ebp + 0x10]
cmp eax, 0x16
jb 0x101395ba
mov ecx, 0xfa00
cmp ax, cx
jbe 0x101395c4
mov dword [ebp + 0x184], 0
cmp edx, 0x1015d1a0
jne 0x101395e0
mov dword [ebp + 0x184], 0
or dword [ebp + 0xf34], 0x800
cmp edx, 0x1013a960
je 0x101395f0
cmp edx, 0x1013d4f0
jne 0x10139601
mov dword [ebp + 0x184], 0
or dword [ebp + 0xf34], 0x10
cmp byte [ebp + 0x1e0], 0
lea edx, [ebp + 0x1e0]
jne 0x10139632
cmp dword [ebp + 0x190], 3
mov ecx, str.RGBG
mov eax, str.GMCY
cmovne ecx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x10139624
cmp word [ebp + 0x10], 0
jne 0x10139641
mov ax, word [ebp + 0x14]
mov word [ebp + 0x10], ax
cmp word [ebp + 0x12], 0
jne 0x10139650
mov ax, word [ebp + 0x16]
mov word [ebp + 0x12], ax
mov edx, dword [ebp + 0x194]
cmp edx, 0x3e7
jbe 0x1013968b
cmp dword [ebp + 0x190], 3
jne 0x1013968b
mov ecx, edx
mov eax, edx
shr ecx, 2
and eax, 0xe2222222
and ecx, 0x22222222
shl eax, 2
or ecx, eax
lea eax, [edx + edx]
and ecx, eax
or ecx, edx
mov dword [ebp + 0x194], ecx
mov eax, dword [ebp + 0x30]
cmp eax, 0xffffffff
jne 0x10139783
mov eax, dword [ebp + 0x5485c]
mov dword [ebp + 0x30], eax
cmp eax, 0xffffffff
jne 0x10139783
mov dword [ebp + 0x30], 0
jmp 0x101397c4
mov esi, dword [ebp + 0x5489c]
xor eax, eax
mov dx, word [ebp + 0x16]
test esi, esi
movsd xmm0, qword [esp + 0xa8]
sete al
mov cx, ax
mov eax, 0x49494949
shr dx, cl
mov ecx, 0x94949494
test dl, 1
mov word [ebp + 0x5483e], dx
cmovne eax, ecx
mov cx, si
mov dword [ebp + 0x194], eax
mov ax, word [ebp + 0x14]
shr ax, cl
add ax, dx
movzx ecx, ax
mov word [ebp + 0x16], cx
lea eax, [ecx - 1]
mov word [ebp + 0x14], ax
movsd qword [ebp + 0x28], xmm0
movzx edx, ax
jmp 0x101394f1
mov dword [ebp + 0x184], 0
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x101397e7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x10139837
jmp 0x101397e7
mov dword [ebp + 0x184], 0
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x101397e7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x1013984e
jmp 0x101397e7
mov ecx, eax
cmp eax, 0x59
jg 0x1013978f
cmp ecx, 0xffffffa7
jge 0x101397c4
add eax, 0xe10
mov ecx, 0x168
cdq
idiv ecx
sub edx, 0x5a
je 0x101397bd
sub edx, 0x5a
je 0x101397b4
sub edx, 0x5a
jne 0x101397c4
mov dword [ebp + 0x30], 5
jmp 0x101397c4
mov dword [ebp + 0x30], 3
jmp 0x101397c4
mov dword [ebp + 0x30], 6
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x101397e7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x10139865
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2a4c
ret
push 0x103fa020
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 5
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x58]
mov dword [esp + 0x58], 5
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 5
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 6
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 6
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 6
push eax
call fcn.1026cad5
sbb eax, 0x2c101331
xor dword [ebx], edx
adc byte [ebx], bh
xor dword [ebx], edx
adc byte [edi + 0x31], al
adc edx, dword [eax]
push ebx
xor dword [ebx], edx
adc byte [edi + 0x31], bl
adc edx, dword [eax]
imul esi, dword [ecx], 0x13
adc byte [edi + 49], dh
adc edx, dword [eax]
xor dword [ecx], 0x13
adc byte [edi - 1693445327], cl
xor dword [ebx], edx
adc byte [edi - 0x4cefeccf], ah
xor dword [ebx], edx
adc byte [esi + edi], bl
adc edx, dword [eax]
mov cl, 0x40
adc edx, dword [eax]
rol byte [eax + 0x13], 0x10
and eax, dword [ecx + 19]
adc byte [esi], bh
inc ecx
adc edx, dword [eax]
sub byte [esi], bh
adc edx, dword [eax]
add byte [0x5020501], al
add eax, dword [-872151803]
int3