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

Disassembly:
mov eax, 0x2a38
call fcn.1026a090
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0x14], 1
push edi
lea eax, [esp + 0x3d8]
mov dword [esp + 0x38], ebp
push dword [ebp + 0xf2c]
push eax
push 0x40
call fcn.10169a20
lea edi, [esp + 0x3d8]
mov dword [esp + 0x14], eax
mov esi, 0x102c58e0
mov ebx, 0x8d
lea ecx, [eax + eax*2]
shl ecx, 4
add edi, ecx
nop
push 0x30
push esi
push edi
call fcn.1026c9a0
add esp, 0xc
add esi, 0x30
add edi, 0x30
sub ebx, 1
jne 0x101262f0
mov dword [ebp + 0x194], 0xffffffff
lea ebx, [ebp + 0x25100]
mov dword [ebp + 0x30], 0xffffffff
xor eax, eax
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
add dword [esp + 0x14], 0x8d
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
push 0x29450
mov dword [esp + 0x24], 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.1026e960
mov dword [ebp + 0x2ac04], 0xc47a0000
lea ecx, [ebp + 0x5a960]
mov dword [ebp + 0x2ac00], 0xc47a0000
lea eax, [ebp + 0x5eaf4]
mov dword [ebp + 0x2abfc], 0xc47a0000
add esp, 0xc
mov dword [ebp + 0x2abf8], 0xc47a0000
mov edx, 0xa
mov dword [ebp + 0x2abf4], 0xc47a0000
mov esi, 0xffff
mov dword [ebp + 0x2abf0], 0xc47a0000
mov dword [ebp + 0x2abec], 0xc47a0000
nop dword [eax]
mov word [ecx + 0xa8], si
lea ecx, [ecx + 0x4208]
mov word [ecx - 0x4208], si
lea eax, [eax + 0x4208]
mov dword [eax - 0x420c], 0x3f800000
mov dword [eax - 0x4208], 0x3f800000
mov dword [eax - 0x4204], 0x3f800000
mov dword [eax - 0x4200], 0x3f800000
sub edx, 1
jne 0x10126430
push 0x80
push edx
lea eax, [ebp + 0x2a8f4]
push eax
call fcn.1026e960
push 0x4018
lea eax, [ebp + 0x20f38]
push 0
push eax
call fcn.1026e960
push 0x80
lea eax, [ebp + 0x24f74]
push 0
push eax
call fcn.1026e960
push 0x80
lea eax, [ebp + 0x34]
push 0
push eax
call fcn.1026e960
xor eax, eax
movsd xmm0, qword [0x103f94d8]
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], 0x10134d00
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
mov dword [ebp + 0x548b0], eax
xor eax, eax
lea ecx, [ecx + 4]
cmp edx, 1
sete al
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 3
setl al
movss dword [ecx - 0x14], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
test edx, edx
sete al
movss dword [ecx - 4], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
cmp edx, 1
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x1c], 0
sete al
mov dword [ecx + 0x2c], 0
movss dword [ecx + 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 0x101265a5
mov dword [ebp + 0x190], 3
lea ecx, [ebp + 0xf38]
xor eax, eax
nop
mov word [ecx], ax
lea ecx, [ecx + 2]
inc eax
cmp eax, 0x10000
jl 0x10126640
mov ecx, ebp
call fcn.1013c960
mov ecx, ebp
mov word [ebp + 0x54860], ax
call fcn.10135240
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 + 0x5c]
push 0x40
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp eax, 0x40
jl 0x1012cce2
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 + 0x64]
push 0x20
push eax
call fcn.101601e0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10127348
push 4
push str.IIII
lea eax, [esp + 0x64]
push 0x20
push eax
call fcn.101601e0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10127348
movzx eax, word [ebp + 0x54860]
mov esi, 0x4949
cmp ax, si
je 0x101272ec
mov ecx, 0x4d4d
cmp ax, cx
je 0x101272ec
lea eax, [esp + 0x5c]
cmp dword [eax], 0xe1ffd8ff
jne 0x101267d4
lea eax, [esp + 0x62]
cmp dword [eax], 0x66697845
jne 0x101267d4
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.1013c960
movzx eax, ax
cdq
add eax, 4
mov dword [ebp + 0x54880], eax
adc edx, 0
mov dword [ebp + 0x54884], edx
mov ecx, dword [ebp + 0x54800]
push 0
push edx
push dword [ebp + 0x54880]
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 0x101267bb
push 0xc
mov ecx, ebp
call fcn.1015c470
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
jmp 0x1012736e
lea ecx, [esp + 0x75]
cmp dword [ecx], 0x43455241
jne 0x10126b30
cmp word [ecx + 4], 0x594f
jne 0x10126b30
cmp byte [ecx + 6], 0x4b
jne 0x10126b30
mov eax, dword [str.Contax]
lea edi, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c7394]
mov word [ebp + 0xc8], ax
mov al, byte [0x102c7396]
mov byte [ebp + 0xca], al
movq xmm0, qword [str.N_Digital]
movq qword [edi], xmm0
movzx eax, word [0x102c73a0]
mov word [edi + 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.1015e220
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.10135240
add eax, 0xfffffff9
cmp eax, 0xc
ja case.default.0x1012687d
jmp dword [eax*4 + 0x1012cd6c]
mov dword [ebp + 0x2a8d8], 0x41c80000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42000000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42200000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42480000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42800000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42a00000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42c80000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x42fa0000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x43200000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x43480000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x437a0000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x43a00000
jmp case.default.0x1012687d
mov dword [ebp + 0x2a8d8], 0x43c80000
mov ecx, ebp
call fcn.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103f9318]
comiss xmm1, dword [0x102c7e80]
ja 0x10126977
movss xmm0, dword [0x102c7eb0]
comiss xmm0, xmm1
ja 0x10126977
movsd xmm0, qword [0x103f9530]
cvtps2pd xmm1, xmm1
call fcn.1027e7d0
cvtsd2ss xmm0, xmm0
jmp 0x1012697a
xorps xmm0, xmm0
divss xmm0, dword [0x102c7e94]
xor esi, esi
movss dword [ebp + 0x2a8dc], xmm0
nop dword [eax]
mov ecx, ebp
call fcn.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
cvtpd2ps xmm0, xmm0
movss dword [ebp + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x10126990
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.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103f9300]
comiss xmm1, dword [0x102c7e80]
ja 0x10126a2a
movss xmm0, dword [0x102c7eb0]
comiss xmm0, xmm1
ja 0x10126a2a
movsd xmm0, qword [0x103f9530]
cvtps2pd xmm1, xmm1
call fcn.1027e7d0
cvtsd2ss xmm0, xmm0
jmp 0x10126a2d
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.10135240
push 0
push 0
push 0x68
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
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.10135240
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x103f9300]
comiss xmm1, dword [0x102c7e80]
ja 0x10126ad5
movss xmm0, dword [0x102c7eb0]
comiss xmm0, xmm1
ja 0x10126ad5
movsd xmm0, qword [0x103f9530]
cvtps2pd xmm1, xmm1
call fcn.1027e7d0
cvtsd2ss xmm0, xmm0
jmp 0x10126ad8
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 0x10127374
mov word [ebp + 0x4aa], ax
jmp 0x10127374
mov ecx, 0x102c73a4
lea eax, [esp + 0x5c]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10126b60
test dl, dl
je 0x10126b5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10126b60
add eax, 2
add ecx, 2
test dl, dl
jne 0x10126b40
xor eax, eax
jmp 0x10126b65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10126b99
movq xmm0, qword [str.Logitech]
lea edi, [ebp + 0x104]
movq qword [ebp + 0xc4], xmm0
mov al, byte [0x102c73b0]
mov byte [ebp + 0xcc], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [edi], xmm0
jmp 0x10127374
mov ecx, str.qktk
lea eax, [esp + 0x5c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10126bc2
test dl, dl
je 0x10126bbe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10126bc2
add eax, 2
add ecx, 2
test dl, dl
jne 0x10126ba2
xor eax, eax
jmp 0x10126bc7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10126c18
mov eax, dword [str.Apple]
lea edi, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c73d0]
mov word [ebp + 0xc8], ax
movq xmm0, qword [str.QuickTake_100]
movq qword [edi], xmm0
mov eax, dword [0x102c73dc]
mov dword [edi + 8], eax
movzx eax, word [0x102c73e0]
mov word [edi + 0xc], ax
mov dword [ebp + 0x83dac], 0x10147120
jmp 0x10127374
mov ecx, str.qktn
lea eax, [esp + 0x5c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10126c41
test dl, dl
je 0x10126c3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10126c41
add eax, 2
add ecx, 2
test dl, dl
jne 0x10126c21
xor eax, eax
jmp 0x10126c46
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10126c97
mov eax, dword [str.Apple]
lea edi, [ebp + 0x104]
mov dword [ebp + 0xc4], eax
movzx eax, word [0x102c73d0]
mov word [ebp + 0xc8], ax
movq xmm0, qword [str.QuickTake_150]
movq qword [edi], xmm0
mov eax, dword [0x102c73f4]
mov dword [edi + 8], eax
movzx eax, word [0x102c73f8]
mov word [edi + 0xc], ax
mov dword [ebp + 0x83dac], 0x10147580
jmp 0x10127374
lea eax, [esp + 0x5c]
cmp dword [eax], 0x494a5546
jne 0x10126df7
cmp dword [eax + 4], 0x4d4c4946
jne 0x10126df7
push 0x20
lea eax, [esp + 0x7c]
push eax
lea edi, [ebp + 0x104]
push edi
call fcn.1027e4a0
mov byte [ebp + 0x124], 0
add esp, 0xc
mov eax, dword [esp + 0x98]
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.10135240
mov dword [ebp + 0x54818], eax
mov ecx, ebp
mov dword [ebp + 0x5481c], 0
call fcn.10135240
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.10135240
push eax
mov ecx, ebp
call fcn.10141b60
cmp dword [ebp + 0x5481c], 0
jl 0x10126d8f
jg 0x10126d4e
cmp dword [ebp + 0x54818], 0x78
jbe 0x10126d8f
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.10135240
xor ecx, ecx
test eax, eax
setne cl
add dword [ebp + 0x184], ecx
cmp dword [ebp + 0x184], 2
jne 0x10126d8f
cmp dword [ebp + 0xe78], 0
je 0x10126d8f
push eax
mov ecx, ebp
call fcn.10141b60
xor eax, eax
mov dword [ebp + 0x83dac], fcn.10144c40
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.10135240
mov dword [ebp + 0x54880], eax
mov ecx, ebp
push eax
mov dword [ebp + 0x54884], 0
call fcn.1015c470
mov eax, dword [ebp + 0x54818]
mov ecx, ebp
add eax, 0xc
push eax
call fcn.1015c470
mov ecx, ebp
call fcn.1015c5a0
jmp 0x10127374
lea eax, [esp + 0x5c]
cmp dword [eax], 0x46464952
jne 0x10126e22
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.10148920
jmp 0x1012736e
lea eax, [esp + 0x60]
cmp dword [eax], 0x70797466
jne 0x10126e71
cmp dword [eax + 4], 0x20207471
jne 0x10126e71
cmp byte [eax + 8], 0x20
jne 0x10126e71
mov ecx, dword [ebp + 0x54800]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ebx, dword [esp + 0x10]
mov ecx, ebp
push ebx
call fcn.1015e090
mov dword [ebp + 0x184], 0
lea edi, [ebp + 0x104]
jmp 0x10127378
lea eax, [esp + 0x5c]
cmp dword [eax], 0x1000100
jne 0x10126f2f
cmp word [eax + 4], 0x4000
jne 0x10126f2f
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 edi, [ebp + 0x104]
push 8
push 1
push edi
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.1013c960
movzx eax, ax
mov ecx, ebp
cdq
mov dword [ebp + 0x54880], eax
mov dword [ebp + 0x54884], edx
call fcn.1013c960
mov ecx, ebp
call fcn.1013c960
mov ecx, ebp
mov word [ebp + 0x12], ax
call fcn.1013c960
mov word [ebp + 0x10], ax
mov dword [ebp + 0x83dac], 0x10146040
mov dword [ebp + 0x194], 0x61616161
jmp 0x10127374
lea eax, [esp + 0x5c]
cmp dword [eax], 0x494b4f4e
jne 0x10127074
cmp dword [eax + 4], 0x57415241
jne 0x10127074
mov eax, dword [str.NOKIA]
mov dword [ebp + 0xc4], eax
mov ax, word [0x102c7400]
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.10135240
mov dword [ebp + 0x54880], eax
mov ecx, ebp
mov dword [ebp + 0x54884], 0
call fcn.10135240
mov ecx, ebp
mov esi, eax
call fcn.1013c960
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.1013c960
movzx ecx, ax
mov word [ebp + 0x14], cx
movzx edx, word [ebp + 0x16]
cmp edx, 1
jb 0x1012cd10
mov eax, 0x3e80
cmp dx, ax
ja 0x1012cd10
lea eax, [ecx - 1]
mov edi, 0x3e7f
cmp ax, di
ja 0x1012cd10
imul ecx, edx
cmp esi, ecx
jl 0x1012cd10
lea eax, [ecx + ecx]
cmp esi, eax
jg 0x1012cd10
lea eax, [esi*8]
cdq
idiv ecx
mov dword [ebp + 0x548a4], eax
sub eax, 0
je 0x1012ccf9
sub eax, 8
je 0x1012702b
sub eax, 2
jne 0x10127035
mov dword [ebp + 0x83dac], 0x10146040
jmp 0x10127035
mov dword [ebp + 0x83dac], 0x10147f80
movzx ecx, word [ebp + 0x16]
xor edx, edx
imul ecx, dword [ebp + 0x548a4]
mov eax, esi
shr ecx, 3
div ecx
movzx ecx, word [ebp + 0x14]
sub eax, ecx
mov word [ebp + 0x18], ax
mov cx, word [ebp + 0x14]
add cx, ax
mov word [ebp + 0x10], cx
mov dword [ebp + 0x40], 1
mov dword [ebp + 0x194], 0x61616161
jmp 0x1012736e
lea eax, [esp + 0x5c]
cmp dword [eax], 0x49525241
jne 0x1012712f
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.10135240
mov ecx, ebp
mov word [ebp + 0x16], ax
call fcn.10135240
mov word [ebp + 0x14], ax
mov eax, dword [str.ARRI]
mov dword [ebp + 0xc4], eax
mov al, byte [0x102c7408]
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 edi, [ebp + 0x104]
push 0x40
push 1
push edi
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], 0x10144700
mov dword [ebp + 0x548b8], 0x58
mov dword [ebp + 0x194], 0x61616161
jmp 0x10127374
lea eax, [esp + 0x5c]
cmp dword [eax], 0x53445058
jne 0x101271ff
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.1013c960
mov ecx, ebp
mov word [ebp + 0x10], ax
call fcn.1013c960
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 edi, [ebp + 0x104]
push 0x1e
push 1
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movsd xmm0, qword [0x102c7de8]
mov ecx, ebp
push 0x3ff
push 1
sub esp, 0x10
mov dword [ebp + 0x54880], 0x10000
mov dword [ebp + 0x54884], 0
mov dword [ebp + 0x83dac], 0x101465b0
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
call fcn.10135310
jmp 0x10127374
lea eax, [esp + 0x60]
cmp dword [eax], 0x31444552
jne 0x1012725d
mov dword [ebp + 0xc4], 0x646552
lea edi, [ebp + 0x104]
mov ecx, ebp
mov dword [edi], 0x656e4f
call fcn.101423f0
movaps xmm0, xmmword [0x102c8070]
mov ecx, ebp
push 0xfff
push 1
sub esp, 0x10
mov dword [ebp + 0x83dac], 0x10142630
movups xmmword [esp], xmm0
call fcn.10135310
mov dword [ebp + 0x194], 0x49494949
jmp 0x10127374
lea eax, [esp + 0x5c]
cmp dword [eax], 0x2d435344
jne 0x10127284
cmp dword [eax + 4], 0x67616d49
jne 0x10127284
cmp byte [eax + 8], 0x65
jne 0x10127284
mov ecx, ebp
call fcn.101427b0
jmp 0x1012736e
lea eax, [esp + 0x5c]
cmp dword [eax], 0x44415750
jne 0x1012729c
mov ecx, ebp
call fcn.10144eb0
jmp 0x1012736e
lea eax, [esp + 0x5c]
cmp dword [eax], 0x4d524d00
jne 0x101272b6
push 0
mov ecx, ebp
call fcn.1014bf00
jmp 0x1012736e
lea eax, [esp + 0x5c]
cmp dword [eax], 0x62564f46
jne 0x101272ce
mov ecx, ebp
call fcn.1016ae20
jmp 0x1012736e
lea ecx, [esp + 0x5c]
mov eax, 0x4943
cmp word [ecx], ax
jne 0x1012736e
mov ecx, ebp
call fcn.10148c20
jmp 0x1012736e
lea eax, [esp + 0x62]
cmp dword [eax], 0x50414548
jne 0x1012735a
cmp dword [eax + 4], 0x52444343
jne 0x1012735a
mov ebx, dword [esp + 0x10]
mov eax, edi
cdq
mov esi, 0x63
mov dword [ebp + 0x54880], eax
mov ecx, ebp
push 0
mov eax, ebx
mov dword [ebp + 0x54884], edx
sub eax, edi
mov word [ebp + 0x4ba], si
push eax
push edi
mov word [ebp + 0x4aa], si
call fcn.1013d900
mov dword [ebp + 0x83dac], 0x1013faa0
lea edi, [ebp + 0x104]
jmp 0x1012737d
lea eax, [esp + 0x5c]
mov ecx, ebp
sub esi, eax
push esi
call fcn.10145240
test esi, esi
je 0x1012736e
push 0
mov ecx, ebp
call fcn.1015c470
test eax, eax
je 0x1012736e
mov ecx, ebp
call fcn.1015c5a0
lea edi, [ebp + 0x104]
mov ebx, dword [esp + 0x10]
mov esi, 0x63
cmp byte [ebp + 0xc4], 0
jne 0x101275a3
mov edx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x18], eax
test edx, edx
je 0x101275a3
lea ecx, [esp + 0x3d8]
cmp ebx, dword [ecx]
je 0x101273b4
inc eax
add ecx, 0x30
cmp eax, edx
jb 0x101273a3
jmp 0x101275a3
lea ebx, [eax + eax*2]
shl ebx, 4
lea ecx, [esp + 0x3e8]
add ecx, ebx
mov dword [esp + 0x14], ebx
lea edx, [ebp + 0xc4]
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x101273d0
push 5
lea eax, [ebp + 0xc4]
push str.Canon
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127405
mov word [ebp + 0x4ba], si
mov word [ebp + 0x4aa], si
lea ecx, [esp + 0x3f2]
mov edx, edi
add ecx, ebx
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10127412
movzx eax, byte [esp + ebx + 0x3e7]
shr eax, 2
mov dword [ebp + 0x30], eax
movzx eax, byte [esp + ebx + 0x3e7]
and eax, 2
mov dword [ebp + 0x54838], eax
test byte [esp + ebx + 0x3e7], 1
je 0x1012744f
mov ecx, ebp
call fcn.1015e300
movzx eax, word [esp + ebx + 0x406]
mov ecx, 0xffff
cmp ax, cx
jne 0x10127474
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
jmp 0x10127475
cdq
mov dword [ebp + 0x54880], eax
mov dword [ebp + 0x54884], edx
mov edx, 8
movzx eax, word [esp + ebx + 0x3dc]
mov word [ebp + 0x12], ax
movzx eax, word [esp + ebx + 0x3de]
mov word [ebp + 0x10], ax
movzx eax, byte [esp + ebx + 0x3e0]
mov word [ebp + 0x1a], ax
movzx eax, byte [esp + ebx + 0x3e1]
mov word [ebp + 0x18], ax
movzx eax, byte [esp + ebx + 0x3e2]
movzx ecx, word [ebp + 0x12]
sub cx, ax
sub cx, word [ebp + 0x1a]
mov word [ebp + 0x16], cx
movzx eax, byte [esp + ebx + 0x3e3]
movzx ecx, word [ebp + 0x10]
sub cx, ax
sub cx, word [ebp + 0x18]
mov word [ebp + 0x14], cx
movzx eax, byte [esp + ebx + 0x3e5]
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 + ebx + 0x3e4]
mov dword [ebp + 0x548b8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x54880]
mov esi, dword [ebp + 0x54884]
imul edx
shld esi, ecx, 3
mov ebx, eax
mov edi, edx
movzx eax, word [ebp + 0x10]
shl ecx, 3
sub ebx, ecx
movzx ecx, word [ebp + 0x12]
sbb edi, esi
imul eax, ecx
cdq
push edx
push eax
push edi
push ebx
call fcn.1026a470
mov dword [ebp + 0x548a4], eax
add eax, 0xfffffffa
cmp eax, 0xa
ja case.0x1012756c.7
movzx eax, byte [eax + 0x1012cdb8]
jmp dword [eax*4 + 0x1012cda0]
mov dword [ebp + 0x83dac], 0x10146f90
mov ecx, dword [esp + 0x14]
mov cl, byte [esp + ecx + 0x3e6]
mov esi, 1
mov edx, esi
mov eax, esi
shl edx, cl
mov ecx, dword [ebp + 0x548a4]
shl eax, cl
sub eax, edx
mov dword [ebp + 0x24f58], eax
mov ecx, dword [esp + 0x10]
lea edi, [ebp + 0xc4]
xor eax, eax
cmp dword [esp + 0x18], eax
cmove eax, ecx
cmp byte [edi], 0
mov dword [esp + 0x18], eax
jne 0x101279c7
push ecx
push 0
mov ecx, ebp
call fcn.10148fb0
cmp byte [edi], 0
jne 0x101279c7
push 0
mov ecx, ebp
call fcn.101490b0
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
lea ebx, [ebp + 0x104]
mov esi, eax
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127841
cmp esi, 0x9cb600
jl 0x10127841
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 0x10127841
mov ecx, dword [ebp + 0x54800]
lea edx, [esp + 0x5c]
push 0x20
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10127841
push 4
lea eax, [esp + 0x60]
push str.BRCM
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127841
movq xmm0, qword [str.Broadcom]
movq qword [edi], xmm0
mov al, byte [0x102c741c]
mov byte [edi + 8], al
movq xmm0, qword [str.RPi_IMX219]
movq qword [ebx], xmm0
movzx eax, word [0x102c7428]
mov word [ebx + 8], ax
mov al, byte [0x102c742a]
mov byte [ebx + 0xa], al
movzx eax, word [ebp + 0x10]
cmp ax, word [ebp + 0x12]
jbe 0x101276c7
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.10145e40
mov dword [ebp + 0x24f50], 0x42
lea eax, [esi - 0x9cb601]
mov dword [ebp + 0x24f58], 0x3ff
mov dword [ebp + 0x83dac], 0x10145f00
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
mov dword [ebp + 0x2ac28], eax
jmp 0x101279c7
mov dword [ebp + 0x83dac], 0x10147f80
jmp case.0x1012756c.7
mov eax, dword [esp + 0x10]
cdq
mov esi, eax
mov ecx, edx
movzx eax, word [ebp + 0x10]
sub esi, dword [ebp + 0x54880]
cdq
sbb ecx, dword [ebp + 0x54884]
push edx
push eax
push ecx
push esi
call fcn.1026a470
mov ebx, eax
mov edi, edx
movzx eax, word [ebp + 0x12]
mov ecx, ebx
mov esi, edi
cdq
shld esi, ecx, 1
add ecx, ecx
add ebx, ecx
adc edi, esi
shld edx, eax, 2
shl eax, 2
cmp edi, edx
jl 0x1012779b
jg 0x1012778c
cmp ebx, eax
jb 0x1012779b
mov dword [ebp + 0x83dac], 0x10146290
jmp case.0x1012756c.7
test byte [ebp + 0x548b8], 1
je case.0x1012756c.12
mov dword [ebp + 0x83dac], 0x101464c0
jmp case.0x1012756c.7
or dword [ebp + 0x548b8], 0x80
mov dword [ebp + 0x83dac], 0x10144700
jmp case.0x1012756c.7
mov cx, word [ebp + 0x548b8]
mov eax, 0x404
cwde
and cx, 1
movsx ecx, cx
mov esi, 0xffff
imul ecx, eax
mov edx, 0x10144d80
mov eax, 0x4949
or cx, ax
mov word [ebp + 0x54860], cx
mov eax, dword [ebp + 0x548b8]
mov ecx, dword [esp + 0x14]
shr eax, 4
sub dword [ebp + 0x548a4], eax
mov eax, dword [ebp + 0x548b8]
shr eax, 1
and eax, 7
mov dword [ebp + 0x548b8], eax
sub dword [ebp + 0x548a4], eax
mov eax, fcn.10144c40
cmp word [esp + ecx + 0x406], si
cmove eax, edx
mov dword [ebp + 0x83dac], eax
jmp 0x10127581
push 6
push str.ov5647
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012786d
push 9
push str.RP_OV5647
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101279bd
cmp esi, 0x61b800
jl 0x101279bd
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 0x101279bd
mov ecx, dword [ebp + 0x54800]
lea edx, [esp + 0x5c]
push 0x20
push 1
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x101279bd
push 4
lea eax, [esp + 0x60]
push str.BRCM
push eax
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101279bd
movq xmm0, qword [str.Broadcom]
push 6
movq qword [edi], xmm0
mov al, byte [0x102c741c]
push str.ov5647
push ebx
mov byte [edi + 8], al
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1012791e
movq xmm0, qword [str.RPi_OV5647_v.1]
movq qword [ebx], xmm0
mov eax, dword [0x102c7434]
mov dword [ebx + 8], eax
mov ax, word [0x102c7438]
mov word [ebx + 0xc], ax
mov al, byte [0x102c743a]
jmp 0x10127941
movq xmm0, qword [str.RPi_OV5647_v.2]
movq qword [ebx], xmm0
mov eax, dword [0x102c7444]
mov dword [ebx + 8], eax
mov ax, word [0x102c7448]
mov word [ebx + 0xc], ax
mov al, byte [0x102c744a]
mov byte [ebx + 0xe], al
mov ax, word [ebp + 0x10]
cmp ax, word [ebp + 0x12]
jbe 0x10127955
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.10145e40
mov dword [ebp + 0x24f50], 0x10
lea eax, [esi - 0x61b801]
mov dword [ebp + 0x24f58], 0x3ff
mov dword [ebp + 0x83dac], 0x10145f00
mov dword [ebp + 0x54818], 0
mov dword [ebp + 0x5481c], 0
mov dword [ebp + 0x2ac28], eax
jmp 0x101279c7
mov dword [ebp + 0x184], 0
mov byte [ebp + 0x2513f], 0
xor ebx, ebx
mov byte [ebp + 0x143], 0
mov byte [ebp + 0x103], 0
mov byte [ebp + 0x2abe3], 0
mov byte [ebp + 0x2aba3], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [ebx + 0x10416068]
mov esi, ebp
cmp byte [esi], 0
je 0x10127a3d
nop dword [eax]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10127a05
sub ecx, edx
push ecx
push edi
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x10127a25
inc esi
cmp byte [esi], 0
jne 0x10127a00
jmp 0x10127a3d
mov ecx, dword [ebx + 0x10416068]
mov edx, ebp
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10127a30
add ebx, 4
cmp ebx, 0x54
jb 0x101279f0
push 5
push 0x102b6738
push ebp
call fcn.1027dd20
mov ebp, dword [esp + 0x44]
add esp, 0xc
test eax, eax
je 0x10127a7b
push 5
push str.Leica
lea esi, [ebp + 0xc4]
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127cf5
lea ebx, [ebp + 0x104]
mov esi, ebx
cmp byte [esi], 0
je 0x10127aa2
push 0xf
push str._DIGITAL_CAMERA
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
je 0x10127ab6
inc esi
cmp byte [esi], 0
jne 0x10127a88
push str.FILE_VERSION
push ebx
call fcn.1026df90
mov esi, eax
add esp, 8
test esi, esi
je 0x10127ab9
mov byte [esi], 0
lea esi, [ebp + 0xc4]
push 6
push str.PENTAX
push ebx
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x10127aec
mov eax, dword [str.Pentax]
mov dword [esi], eax
mov ax, word [0x103f3310]
mov word [esi + 4], ax
mov al, byte [0x103f3312]
mov byte [esi + 6], al
push 0x3f
push 0
push esi
mov byte [esi + 0x3f], 0
call fcn.1026e330
mov edx, eax
add esp, 0xc
sub edx, esi
mov edi, 0x3f
test eax, eax
mov esi, edi
cmovne esi, edx
sub esi, 1
js 0x10127b34
mov ebp, dword [esp + 0x20]
movzx eax, byte [esi + ebp]
push eax
call fcn.10271ddc
add esp, 4
test eax, eax
je 0x10127b30
mov byte [esi + ebp], 0
sub esi, 1
jns 0x10127b16
mov ebp, dword [esp + 0x38]
push 0x3f
push 0
push ebx
mov byte [ebx + 0x3f], 0
call fcn.1026e330
mov edx, eax
add esp, 0xc
sub edx, ebx
mov esi, edi
test eax, eax
cmovne esi, edx
sub esi, 1
js 0x10127b6f
movzx eax, byte [esi + ebx]
push eax
call fcn.10271ddc
add esp, 4
test eax, eax
je 0x10127b6f
mov byte [esi + ebx], 0
sub esi, 1
jns 0x10127b55
push 0x3f
push 0
lea esi, [ebp + 0xc4]
push esi
call fcn.1026e330
mov ecx, eax
sub ecx, esi
test eax, eax
cmovne edi, ecx
push edi
push esi
push ebx
call fcn.102855c3
add esp, 0x18
mov ecx, 0x40
test eax, eax
jne 0x10127bbd
mov al, byte [edi + ebp + 0x104]
inc edi
cmp al, 0x20
jne 0x10127bbd
sub ecx, edi
lea eax, [ebp + 0x104]
push ecx
add eax, edi
push eax
push ebx
call fcn.1026c9a0
add esp, 0xc
push 8
push str.FinePix
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127bf3
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10127bd6
sub ecx, edx
lea eax, [ecx - 7]
push eax
lea eax, [ebp + 0x10c]
push eax
push ebx
call fcn.1026c9a0
add esp, 0xc
push 0xf
push str.Digital_Camera
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127c2d
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10127c10
sub ecx, edx
lea eax, [ecx - 0xe]
push eax
lea eax, [ebp + 0x113]
push eax
push ebx
call fcn.1026c9a0
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 0x1012cbf7
cmp word [ebp + 0x14], 0
jne 0x10127c6c
mov ax, word [ebp + 0x10]
mov word [ebp + 0x14], ax
cmp word [ebp + 0x16], 0
jne 0x10127c7b
mov ax, word [ebp + 0x12]
mov word [ebp + 0x16], ax
mov eax, 0xa40
cmp word [ebp + 0x14], ax
jne 0x10127c98
mov eax, 0xf60
cmp word [ebp + 0x16], ax
jne 0x10127c98
mov dword [ebp + 0x14], 0xf380a38
mov eax, 0xc40
cmp word [ebp + 0x14], ax
jne 0x10127cbf
mov eax, 0x1300
cmp word [ebp + 0x16], ax
jne 0x10127cbf
mov dword [ebp + 0x14], 0x12500c34
mov dword [ebp + 0x194], 0x16161616
mov eax, 0x1100
cmp word [ebp + 0x16], ax
jne 0x10127d4c
mov ecx, 0x102c7488
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127d00
test dl, dl
je 0x10127cf1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127d00
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127cd5
xor eax, eax
jmp 0x10127d05
lea ebx, [ebp + 0x104]
jmp 0x10127abf
sbb eax, eax
or eax, 1
test eax, eax
je 0x10127d39
mov ecx, 0x102c748c
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127d30
test dl, dl
je 0x10127d2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127d30
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127d10
xor eax, eax
jmp 0x10127d35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127d4c
mov eax, 0x10d5
mov word [ebp + 0x16], ax
mov dword [ebp + 0x194], 0x16161616
mov eax, 0x1360
mov edi, 0xa
cmp word [ebp + 0x16], ax
jb 0x10127d87
push 3
push 0x102c7490
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10127d87
mov word [ebp + 0x1a], di
mov eax, 0x1356
mov word [ebp + 0x16], ax
mov dword [ebp + 0x194], 0x16161616
mov eax, 0x17c0
cmp word [ebp + 0x16], ax
jne 0x10127dd7
mov ecx, str.K_70
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127dc0
test dl, dl
je 0x10127dbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127dc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127da0
xor eax, eax
jmp 0x10127dc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127dd7
mov dword [ebp + 0x14], 0x17840fb0
mov dword [ebp + 0x18], 0x3c0020
mov eax, 0x1280
mov edi, 2
cmp word [ebp + 0x16], ax
jne 0x10127e2d
mov ecx, 0x102c749c
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127e0f
test dl, dl
je 0x10127e0b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127e0f
add eax, 2
add ecx, edi
test dl, dl
jne 0x10127df0
xor eax, eax
jmp 0x10127e14
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127e2d
mov dword [ebp + 0x14], 0x124c0c32
mov dword [ebp + 0x194], 0x16161616
mov word [ebp + 0x18], di
mov eax, 0x17c0
mov edi, 0x1798
cmp word [ebp + 0x16], ax
jne 0x10127e7a
mov ecx, str.K_3_II
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127e64
test dl, dl
je 0x10127e60
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127e64
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127e44
xor eax, eax
jmp 0x10127e69
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127e7a
mov eax, 4
mov word [ebp + 0x1a], ax
mov word [ebp + 0x16], di
mov eax, 0x17e0
cmp word [ebp + 0x16], ax
jne 0x10127ed5
mov ecx, 0x102c74a8
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127eb0
test dl, dl
je 0x10127eac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127eb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127e90
xor eax, eax
jmp 0x10127eb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127ed5
mov dword [ebp + 0x18], 0x36001c
mov eax, 0x178c
mov word [ebp + 0x16], ax
mov ax, word [ebp + 0x10]
sub ax, word [ebp + 0x18]
mov word [ebp + 0x14], ax
mov eax, 0x17c0
cmp word [ebp + 0x16], ax
jne 0x10127f1d
mov ecx, 0x102c74ac
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127f07
test dl, dl
je 0x10127f03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127f07
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127ee7
xor eax, eax
jmp 0x10127f0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127f1d
mov eax, 4
mov word [ebp + 0x1a], ax
mov word [ebp + 0x16], di
mov eax, 0x1d00
cmp word [ebp + 0x16], ax
jne 0x10127f71
mov ecx, str.645D
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10127f50
test dl, dl
je 0x10127f4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10127f50
add eax, 2
add ecx, 2
test dl, dl
jne 0x10127f30
xor eax, eax
jmp 0x10127f55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10127f71
mov dword [ebp + 0x14], 0x1ca0157e
mov dword [ebp + 0x194], 0x61616161
mov dword [ebp + 0x18], 0x30001d
mov eax, 0xbc6
mov ecx, 0x1000
cmp word [ebp + 0x14], ax
jne 0x10127f90
cmp word [ebp + 0x16], cx
jne 0x10127f90
mov eax, 0xfae
mov word [ebp + 0x16], ax
cmp dword [ebp + 0x188], 0
je 0x10128102
cmp dword [ebp + 0x194], 0xffffffff
jne 0x10127fb0
mov dword [ebp + 0x194], 0
cmp dword [ebp + 0x194], 0
mov eax, dword [ebp + 0x548a0]
je 0x10127fce
imul eax, dword [ebp + 0x184]
mov dword [ebp + 0x184], eax
jmp 0x10127fd4
mov dword [ebp + 0x190], eax
mov eax, dword [ebp + 0x548a8]
cmp eax, 8
ja 0x1012800f
je 0x10128003
cmp eax, 1
jbe 0x10127ff7
cmp eax, 7
jne 0x10128016
mov dword [ebp + 0x83dac], 0x10140870
jmp 0x1012802c
mov dword [ebp + 0x83dac], 0x10140bc0
jmp 0x1012802c
mov dword [ebp + 0x83dac], 0x1016a070
jmp 0x1012802c
cmp eax, 0x884c
je 0x10128022
mov dword [ebp + 0x83dac], 0
jmp 0x1012802c
mov dword [ebp + 0x83dac], 0x10140d50
push 5
push str.Canon
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128093
mov esi, dword [ebp + 0x5484c]
test esi, esi
je 0x1012808d
xor edx, edx
xor ecx, ecx
nop
movzx eax, word [ecx + 0x102c4df0]
sub eax, 0x80000000
cmp esi, eax
je 0x1012806e
add ecx, 0x16
inc edx
cmp ecx, 0x4ba
jb 0x10128050
jmp 0x1012808d
imul eax, edx, 0x16
mov edx, ebx
lea ecx, [eax + str.EOS_1D]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10128080
lea esi, [ebp + 0xc4]
push 4
push 0x102b6714
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x1012bb60
mov esi, dword [ebp + 0x5484c]
test esi, esi
je 0x1012bb60
xor edx, edx
xor ecx, ecx
nop dword [eax]
movzx eax, word [ecx + 0x102c52b0]
cmp esi, eax
je 0x101280dc
add ecx, 0x16
inc edx
cmp ecx, 0x630
jb 0x101280c0
jmp 0x1012bb60
imul eax, edx, 0x16
mov edx, ebx
lea ecx, [eax + str.DSC_R1]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x101280f0
jmp 0x1012bb60
push 5
push str.Canon
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128215
cmp dword [esp + 0x18], eax
jne 0x10128215
cmp dword [ebp + 0x548a4], 0xf
je 0x10128215
cmp dword [ebp + 0x83dac], eax
jne 0x10128143
mov dword [ebp + 0x83dac], 0x1013fe10
xor edx, edx
mov ax, word [ebp + 0x12]
cmp ax, word [edx + 0x102c4a10]
jne 0x101281ed
mov ax, word [ebp + 0x10]
cmp ax, word [edx + 0x102c4a12]
jne 0x101281ed
movzx ecx, word [edx + 0x102c4a14]
mov word [ebp + 0x1a], cx
movzx eax, word [ebp + 0x12]
sub ax, cx
movzx ecx, word [edx + 0x102c4a16]
mov word [ebp + 0x16], ax
mov word [ebp + 0x18], cx
movzx eax, word [ebp + 0x10]
sub ax, cx
mov word [ebp + 0x14], ax
movzx eax, word [edx + 0x102c4a18]
sub word [ebp + 0x16], ax
movzx eax, word [edx + 0x102c4a1a]
sub word [ebp + 0x14], ax
movzx eax, word [edx + 0x102c4a1c]
mov dword [ebp + 0x38], eax
movzx eax, word [edx + 0x102c4a1e]
neg eax
mov dword [ebp + 0x40], eax
movzx eax, word [edx + 0x102c4a20]
mov dword [ebp + 0x48], eax
movzx eax, word [edx + 0x102c4a22]
neg eax
mov dword [ebp + 0x50], eax
movzx eax, word [edx + 0x102c4a24]
test ax, ax
je 0x101281ed
imul eax, eax, 0x1010101
mov dword [ebp + 0x194], eax
add edx, 0x16
cmp edx, 0x3de
jb 0x10128145
mov eax, dword [ebp + 0x5484c]
or eax, 0x20000
cmp eax, 0x2720000
jne 0x10128215
mov dword [ebp + 0x18], 0x80010
push 5
push str.Canon
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128289
cmp dword [ebp + 0x5484c], eax
je 0x10128289
mov esi, ebx
mov edi, str.EOS_1D
sub esi, edi
lea ebx, [eax + 0x37]
nop dword [eax]
movzx eax, word [edi - 2]
sub eax, 0x80000000
cmp dword [ebp + 0x5484c], eax
jne 0x10128272
mov eax, dword [ebp]
mov ecx, ebp
push 0
push edi
push str.Canon
mov eax, dword [eax + 0x20]
call eax
mov ecx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x10128265
sub esi, 0x16
add edi, 0x16
sub ebx, 1
jne 0x10128240
lea ebx, [ebp + 0x104]
lea esi, [ebp + 0xc4]
push 4
push 0x102b6714
push esi
call fcn.102855c3
add esp, 0xc
test eax, eax
jne 0x101282ef
cmp dword [ebp + 0x5484c], eax
je 0x101282ef
mov esi, ebx
mov edi, str.DSC_R1
sub esi, edi
lea ebx, [eax + 0x48]
movzx eax, word [edi - 2]
cmp dword [ebp + 0x5484c], eax
jne 0x101282de
mov eax, dword [ebp]
mov ecx, ebp
push 0
push edi
push 0x102b6714
mov eax, dword [eax + 0x20]
call eax
mov ecx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x101282d1
sub esi, 0x16
add edi, 0x16
sub ebx, 1
jne 0x101282b1
lea esi, [ebp + 0xc4]
push 5
push str.Nikon
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128344
cmp dword [ebp + 0x83dac], eax
jne 0x10128315
mov dword [ebp + 0x83dac], 0x10144700
cmp byte [ebp + 0x104], 0x45
lea ebx, [ebp + 0x104]
jne 0x1012834a
mov eax, dword [ebp + 0x54880]
or eax, dword [ebp + 0x54884]
mov eax, 6
je 0x1012833c
mov eax, 2
or dword [ebp + 0x548b8], eax
jmp 0x1012834a
lea ebx, [ebp + 0x104]
mov ecx, str.KAI_0340
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128371
test dl, dl
je 0x1012836d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128371
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128351
xor eax, eax
jmp 0x10128376
sbb eax, eax
or eax, 1
mov edi, 0x1e0
test eax, eax
jne 0x101283ca
push 0x1400
push 0xf00
push 0x10
push 0x10
mov ecx, ebp
call fcn.10144a00
movss xmm0, dword [0x102c7e68]
fstp dword [esp + 0x24]
comiss xmm0, dword [esp + 0x24]
jbe 0x101283ca
mov word [ebp + 0x14], di
xor eax, eax
mov dword [ebp + 0x194], 0
mov word [ebp + 0x18], ax
mov eax, dword [str.C603]
mov dword [ebx], eax
mov al, byte [0x102c74c8]
mov byte [ebx + 4], al
mov ecx, 0x102b6714
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101283f1
test dl, dl
je 0x101283ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101283f1
add eax, 2
add ecx, 2
test dl, dl
jne 0x101283d1
xor eax, eax
jmp 0x101283f6
sbb eax, eax
or eax, 1
lea edi, [ebp + 0x20f38]
mov ecx, 0xf30
mov edx, 0x80
test eax, eax
jne 0x10128442
cmp word [ebp + 0x12], cx
jbe 0x10128442
cmp dword [ebp + 0x24f50], eax
jne 0x10128442
cmp dword [edi], eax
jne 0x10128442
cmp dword [ebp + 0x83dac], 0x1014a670
jne 0x1012842f
mov eax, 0x200
jmp 0x1012843c
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 0x1012848c
movzx ecx, word [ebp + 0x14]
movzx eax, word [ebp + 0x16]
add ecx, ecx
cmp ecx, eax
jae 0x10128466
movsd xmm0, qword [0x103f9488]
movsd qword [ebp + 0x28], xmm0
mov ax, word [ebp + 0x14]
cmp ax, word [ebp + 0x16]
jbe 0x1012847d
movsd xmm0, qword [0x103f9530]
movsd qword [ebp + 0x28], xmm0
mov dword [ebp + 0x194], 0
jmp 0x1012ba51
push 6
push str.Pentax
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101284ef
push 3
push 0x102c74cc
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101284ef
mov eax, 0x12
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 0x1012ba51
mov eax, 6
mov word [ebp + 0x1a], ax
mov eax, 0x1cd0
mov word [ebp + 0x16], ax
jmp 0x1012ba51
push 5
push str.Canon
push esi
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x101285c8
cmp dword [ebp + 0x548a4], 0xf
jne 0x101285c8
movzx ecx, word [ebp + 0x16]
mov eax, ecx
cmp eax, 0xd10
je 0x1012852a
cmp eax, 0xf20
je 0x10128531
jmp 0x1012853a
lea eax, [ecx - 0x42]
mov word [ebp + 0x16], ax
mov eax, 0xfffa
add word [ebp + 0x16], ax
movzx eax, word [ebp + 0x16]
movzx ecx, word [ebp + 0x14]
cmp cx, ax
jbe 0x10128577
add eax, ecx
movzx eax, ax
mov word [ebp + 0x14], ax
sub ax, word [ebp + 0x16]
movzx eax, ax
mov word [ebp + 0x16], ax
sub word [ebp + 0x14], ax
movzx eax, word [ebp + 0x12]
add word [ebp + 0x10], ax
mov ax, word [ebp + 0x10]
sub ax, word [ebp + 0x12]
mov word [ebp + 0x12], ax
sub word [ebp + 0x10], ax
mov eax, 0x1c20
cmp word [ebp + 0x16], ax
jne 0x1012859b
mov eax, 0xf30
cmp word [ebp + 0x14], ax
jne 0x1012859b
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], 0x10140060
jmp 0x1012ba51
mov ecx, str.PowerShot_600
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101285f0
test dl, dl
je 0x101285ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101285f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101285d0
xor eax, eax
jmp 0x101285f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012862c
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], 0x1013d630
jmp 0x1012ba51
mov ecx, str.PowerShot_A5
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128653
test dl, dl
je 0x1012864f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128653
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128633
xor eax, eax
jmp 0x10128658
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012ba02
mov ecx, str.PowerShot_A5_Zoom
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128687
test dl, dl
je 0x10128683
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128687
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128667
xor eax, eax
jmp 0x1012868c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012ba02
mov ecx, str.PowerShot_A50
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101286c0
test dl, dl
je 0x101286bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101286c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101286a0
xor eax, eax
jmp 0x101286c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101286e8
mov dword [ebp + 0x14], 0x50a03c8
mov eax, 0x528
mov word [ebp + 0x12], ax
mov dword [ebp + 0x194], 0x1b4e4b1e
jmp 0x1012ba29
mov ecx, str.PowerShot_Pro70
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128710
test dl, dl
je 0x1012870c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128710
add eax, 2
add ecx, 2
test dl, dl
jne 0x101286f0
xor eax, eax
jmp 0x10128715
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012872f
mov dword [ebp + 0x14], 0x6100400
mov dword [ebp + 0x194], 0x1e4b4e1b
jmp 0x1012ba29
mov ecx, str.PowerShot_Pro90_IS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128756
test dl, dl
je 0x10128752
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128756
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128736
xor eax, eax
jmp 0x1012875b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9ec
mov ecx, str.PowerShot_G1
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128790
test dl, dl
je 0x1012878c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128790
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128770
xor eax, eax
jmp 0x10128795
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9ec
mov ecx, str.PowerShot_A610
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101287c4
test dl, dl
je 0x101287c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101287c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x101287a4
xor eax, eax
jmp 0x101287c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101287f9
mov ecx, ebp
call fcn.1013d8b0
test eax, eax
je 0x1012ba51
mov eax, dword [str.S2_IS]
mov dword [ebp + 0x10e], eax
mov ax, word [0x102c755c]
mov word [ebp + 0x112], ax
jmp 0x1012ba51
mov ecx, str.PowerShot_SX220_HS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128820
test dl, dl
je 0x1012881c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128820
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128800
xor eax, eax
jmp 0x10128825
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012883c
mov dword [ebp + 0x50], 0xfffffffc
mov dword [ebp + 0x18], 0x5c0010
jmp 0x1012ba51
mov ecx, str.PowerShot_S120
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128863
test dl, dl
je 0x1012885f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128863
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128843
xor eax, eax
jmp 0x10128868
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101288a8
mov dword [ebp + 0x10], 0x10600bf6
mov dword [ebp + 0x14], 0xfb60bc8
mov dword [ebp + 0x18], 0x78001f
mov dword [ebp + 0x34], 0x1f
movzx ecx, word [ebp + 0x18]
movzx eax, word [ebp + 0x14]
add ecx, eax
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x38], 0x17
mov dword [ebp + 0x40], 0x48
jmp 0x1012ba51
mov ecx, str.PowerShot_G16
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101288d0
test dl, dl
je 0x101288cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101288d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x101288b0
xor eax, eax
jmp 0x101288d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128919
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, word [ebp + 0x18]
sub ax, 0xe
mov word [ebp + 0x14], ax
jmp 0x1012ba51
mov ecx, str.PowerShot_SX50_HS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128940
test dl, dl
je 0x1012893c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128940
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128920
xor eax, eax
jmp 0x10128945
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128957
mov eax, 0x11
mov word [ebp + 0x18], ax
jmp 0x1012ba51
mov ecx, str.EOS_D2000C
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128980
test dl, dl
je 0x1012897c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128980
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128960
xor eax, eax
jmp 0x10128985
sbb eax, eax
or eax, 1
test eax, eax
jne 0x101289b1
mov dword [ebp + 0x194], 0x61616161
cmp dword [ebp + 0x24f50], eax
jne 0x1012ba51
movzx eax, word [ebp + 0x10c8]
mov dword [ebp + 0x24f50], eax
jmp 0x1012ba51
mov ecx, 0x102c75a8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101289d8
test dl, dl
je 0x101289d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x101289d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x101289b8
xor eax, eax
jmp 0x101289dd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128a24
movss xmm0, dword [ebp + 0x24ff4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7d50]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24ff4], xmm0
movss xmm0, dword [ebp + 0x24ffc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102c7d70]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x24ffc], xmm0
jmp 0x1012ba51
mov ecx, 0x102c75ac
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128a50
test dl, dl
je 0x10128a4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128a50
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128a30
xor eax, eax
jmp 0x10128a55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128a74
movsd xmm0, qword [0x103f9488]
mov eax, 0xfffc
add word [ebp + 0x16], ax
movsd qword [ebp + 0x28], xmm0
jmp 0x1012ba51
mov ecx, str.D40X
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128aa0
test dl, dl
je 0x10128a9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128aa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128a80
xor eax, eax
jmp 0x10128aa5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9d8
mov ecx, 0x102c75b8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128ad4
test dl, dl
je 0x10128ad0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128ad4
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128ab4
xor eax, eax
jmp 0x10128ad9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9d8
mov ecx, 0x102c75bc
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128b08
test dl, dl
je 0x10128b04
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128b08
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128ae8
xor eax, eax
jmp 0x10128b0d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9d8
mov ecx, str.D3000
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128b40
test dl, dl
je 0x10128b3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128b40
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128b20
xor eax, eax
jmp 0x10128b45
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9d8
mov ecx, 0x102c75c8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128b74
test dl, dl
je 0x10128b70
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128b74
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128b54
xor eax, eax
jmp 0x10128b79
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9c4
mov ecx, 0x102c75cc
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128ba8
test dl, dl
je 0x10128ba4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128ba8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128b88
xor eax, eax
jmp 0x10128bad
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9c4
mov ecx, str.D700
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128be0
test dl, dl
je 0x10128bdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128be0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128bc0
xor eax, eax
jmp 0x10128be5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9c4
mov ecx, str.D3100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128c14
test dl, dl
je 0x10128c10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128c14
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128bf4
xor eax, eax
jmp 0x10128c19
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128c34
mov eax, 0xffe4
add word [ebp + 0x16], ax
mov eax, 6
mov word [ebp + 0x1a], ax
jmp 0x1012ba51
mov ecx, str.D5000
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128c60
test dl, dl
je 0x10128c5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128c60
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128c40
xor eax, eax
jmp 0x10128c65
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9b6
mov ecx, 0x102c75e8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128c94
test dl, dl
je 0x10128c90
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128c94
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128c74
xor eax, eax
jmp 0x10128c99
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9b6
mov ecx, str.D5100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128cc8
test dl, dl
je 0x10128cc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128cc8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128ca8
xor eax, eax
jmp 0x10128ccd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9a8
mov ecx, str.D7000
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128d00
test dl, dl
je 0x10128cfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128d00
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128ce0
xor eax, eax
jmp 0x10128d05
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9a8
mov ecx, str.COOLPIX_A
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128d34
test dl, dl
je 0x10128d30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128d34
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128d14
xor eax, eax
jmp 0x10128d39
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b9a8
mov ecx, str.D3200
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128d68
test dl, dl
je 0x10128d64
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128d68
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128d48
xor eax, eax
jmp 0x10128d6d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b99a
push 2
push 0x102c7610
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012b99a
push 4
push str.D800
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012b99a
mov ecx, 0x102c761c
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128dd0
test dl, dl
je 0x10128dcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128dd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128db0
xor eax, eax
jmp 0x10128dd5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b983
mov ecx, 0x102c7620
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128e04
test dl, dl
je 0x10128e00
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128e04
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128de4
xor eax, eax
jmp 0x10128e09
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012b983
mov ecx, str.D500
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128e38
test dl, dl
je 0x10128e34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128e38
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128e18
xor eax, eax
jmp 0x10128e3d
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012ba51
push 3
push 0x102c762c
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012b975
push 3
push 0x103f3bb8
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012b975
push 3
push 0x102c7630
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
je 0x1012b975
mov ecx, str.D100
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128eb4
test dl, dl
je 0x10128eb0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128eb4
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128e94
xor eax, eax
jmp 0x10128eb9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128ee0
cmp dword [ebp + 0x548b8], eax
je 0x1012ba51
movzx eax, word [ebp + 0x16]
add eax, 3
mov word [ebp + 0x16], ax
add eax, 3
mov word [ebp + 0x12], ax
jmp 0x1012ba51
mov ecx, str.D200
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10128f07
test dl, dl
je 0x10128f03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10128f07
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128ee7
xor eax, eax
jmp 0x10128f0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10128f31
mov eax, 1
mov word [ebp + 0x1a], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
mov dword [ebp + 0x194], 0x94949494
jmp 0x1012ba51
push 3
push 0x102c7644
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128f5c
mov eax, 6
mov word [ebp + 0x1a], ax
mov eax, 0xfff2
add word [ebp + 0x16], ax
jmp 0x1012ba51
push 3
push 0x102c7648
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128f98
movzx eax, word [ebp + 0x16]
mov ecx, 0xcc0
cmp ax, cx
jne 0x10128f8c
mov eax, 0xca0
mov word [ebp + 0x16], ax
jmp 0x1012ba51
add eax, 0xfffffff8
mov word [ebp + 0x16], ax
jmp 0x1012ba51
push 4
push str.D300
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10128fba
mov eax, 0xffe0
add word [ebp + 0x16], ax
jmp 0x1012ba51
push 5
push str.Nikon
push esi
call fcn.1027dd20
add esp, 0xc
mov ecx, 0xfc0
test eax, eax
jne 0x101290b8
cmp word [ebp + 0x12], cx
jne 0x101290b8
mov ecx, str.COOLPIX_P7700
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10129008
test dl, dl
je 0x10129004
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10129008
add eax, 2
add ecx, 2
test dl, dl
jne 0x10128fe8
xor eax, eax
jmp 0x1012900d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10129019
push eax
push str.COOLPIX_P7700
jmp 0x1012904f
mov ecx, str.COOLPIX_P7800
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10129040
test dl, dl
je 0x1012903c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10129040
xor eax, eax
jmp 0x10129045
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10129077
push eax
push str.COOLPIX_P7800
mov eax, dword [ebp]
mov ecx, ebp
push str.Nikon
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp + 0x24f58], 0xffe0
mov dword [ebp + 0x548b8], 0
jmp 0x1012ba51
mov ecx, str.COOLPIX_P340
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x101290a0
push 9
push str.COOLPIX_P
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1012914c
mov eax, 0xfc0
cmp word [ebp + 0x12], ax
je 0x1012914c
mov dword [ebp + 0x548b8], 0x18
mov dword [ebp + 0x194], 0x94949494
cmp byte [ebp + 0x10d], 0x37
jne 0x1012ba51
movss xmm0, dword [ebp + 0x2a8d8]
comiss xmm0, dword [0x102c7e88]
jae 0x10129121
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012ba51
lea eax, [ebp + 0x144]
push str.V1.2
push eax
call fcn.1026df90
add esp, 8
test eax, eax
jne 0x1012ba51
mov dword [ebp + 0x24f50], 0xff
jmp 0x1012ba51
push 0xc
push str.COOLPIX_B700
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x10129179
mov dword [ebp + 0x548b8], 0x18
mov dword [ebp + 0x24f50], 0xc8
jmp 0x1012ba51
push 2
push 0x102c76a8
push ebx
call fcn.1027dd20
add esp, 0xc
test eax, eax
jne 0x1012919b
mov eax, 0xfffe
add word [ebp + 0x14], ax
jmp 0x1012ba51
mov eax, dword [esp + 0x18]
cmp eax, 0x182004
jne 0x101291d2
push 3
mov ecx, ebp
call fcn.1014c7c0
mov dword [ebp + 0x25004], 0x3f9ab021
mov dword [ebp + 0x25008], 0x3f8c1206
mov dword [ebp + 0x25010], 0x3f8e1e4f
jmp 0x1012ba51
cmp eax, 0x308040
jne 0x1012920e
movss xmm0, dword [ebp + 0x24ff4]
movss xmm1, dword [0x103f9698]
mulss xmm0, xmm1
movss dword [ebp + 0x24ff4], xmm0
movss xmm0, dword [ebp + 0x24ffc]
mulss xmm0, xmm1
movss dword [ebp + 0x24ffc], xmm0
jmp 0x1012ba51
cmp eax, 0x48d000
jne 0x101292ab
mov eax, 0xffff
add word [ebp + 0x16], ax
jmp 0x1012ba51
mov eax, 0xffcc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x1012ba51
mov eax, 0xffd2
add word [ebp + 0x16], ax
jmp 0x1012ba51
mov eax, 0xffd4
add word [ebp + 0x16], ax
jmp 0x1012ba51
mov eax, 0xffd6
add word [ebp + 0x16], ax
jmp 0x1012ba51
mov eax, 0xfffc
add word [ebp + 0x16], ax
mov eax, 2
mov word [ebp + 0x1a], ax
jmp 0x1012ba51
mov eax, 0xfffd
add word [ebp + 0x14], ax
mov eax, 0xfffc
add word [ebp + 0x16], ax
jmp 0x1012ba51
mov dword [ebp + 0x190], 4
mov dword [ebp + 0x194], 0xb4b4b4b4
jmp 0x1012ba51
movsd xmm0, qword [0x102c7da8]
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], 0x10144700
mov dword [ebp + 0x548b8], 0x28
mov eax, dword [ebp + 0x83dac]
test eax, eax
je 0x1012cc76
movzx esi, word [ebp + 0x14]
cmp esi, 0x16
jb 0x1012cc76
movzx ecx, word [ebp + 0x16]
cmp ecx, 0x16
jb 0x1012cc76
cmp dword [ebp + 0x548a4], 0x10
jbe 0x1012ba8d
cmp eax, 0x1016a070
jne 0x1012cc76
cmp dword [ebp + 0x548a0], 4
ja 0x1012cc76
mov eax, dword [ebp + 0x190]
cmp eax, 4
jg 0x1012cc76
cmp eax, 1
jl 0x1012cc76
movzx eax, word [ebp + 0x1a]
mov edx, ecx
add eax, edx
cmp eax, 0xffff
ja 0x1012cc76
movzx eax, word [ebp + 0x18]
mov ecx, esi
add eax, ecx
cmp eax, 0xffff
ja 0x1012cc76
cmp byte [ebx], 0
jne 0x1012baed
push ecx
push edx
push str._dx_d
push ebx
call fcn.10007a60
add esp, 0x10
cmp dword [ebp + 0x194], 0xffffffff
jne 0x1012bb00
mov dword [ebp + 0x194], 0x94949494
mov esi, dword [ebp + 0x54818]
mov eax, esi
mov edx, dword [ebp + 0x5481c]
or eax, edx
je 0x1012bb60
cmp word [ebp + 0x2ac26], 0
jne 0x1012bb60
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 + 0x200]
mov ecx, ebp
push eax
call fcn.1013ec00
test eax, eax
je 0x1012bb60
movzx eax, word [esp + 0x208]
mov word [ebp + 0x2ac24], ax
movzx eax, word [esp + 0x204]
mov word [ebp + 0x2ac26], ax
cmp dword [ebp + 0x188], 0
je 0x1012c602
mov edi, dword [ebp + 0x54858]
xor ebx, ebx
mov dword [esp + 0x18], ebx
test edi, edi
je 0x1012bbae
mov esi, dword [ebp + 0x54884]
lea ecx, [ebp + 0x5a90c]
nop dword [eax]
mov eax, dword [ecx]
cdq
cmp eax, dword [ebp + 0x54880]
jne 0x1012bb9f
cmp edx, esi
je 0x1012bbaa
inc ebx
add ecx, 0x4208
cmp ebx, edi
jb 0x1012bb90
mov dword [esp + 0x18], ebx
or ecx, 0xffffffff
mov dword [esp + 0x24], ecx
xor ecx, ecx
test edi, edi
je 0x1012bbe5
lea esi, [ebp + 0x5a90c]
mov eax, dword [esi]
cdq
cmp eax, dword [ebp + 0x54818]
jne 0x1012bbd4
cmp edx, dword [ebp + 0x5481c]
je 0x1012bbe1
inc ecx
add esi, 0x4208
cmp ecx, edi
jb 0x1012bbc1
jmp 0x1012bbe5
mov dword [esp + 0x24], ecx
cmp ebx, edi
jae 0x1012c5ce
test dword [ebp + 0xf18], 0x8000
je 0x1012c0bf
imul eax, ebx, 0x4208
lea esi, [ebp + 0x5a95c]
lea edx, [ebp + 0x5a95c]
add esi, eax
mov dword [esp + 0x1c], eax
xor ecx, ecx
test byte [esi], 2
je 0x1012bc20
mov eax, ebx
jmp 0x1012bc2e
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 + 0x28], eax
je 0x1012bc3b
mov eax, ebx
jmp 0x1012bc49
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 + 0x30], eax
je 0x1012bc56
mov eax, ebx
jmp 0x1012bc64
mov eax, dword [edx]
and al, 8
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esp + ecx + 0x3c], eax
add esi, 0xa8
add ecx, 4
add edx, 0xa8
cmp ecx, 8
jl 0x1012bc17
mov eax, dword [esp + 0x1c]
test byte [eax + ebp + 0x5aaac], 0x10
je 0x1012bc90
mov dword [esp + 0x1c], ebx
jmp 0x1012bca6
mov eax, dword [ebp + 0x5aaac]
and al, 0x10
movzx ecx, al
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x28]
test eax, eax
js 0x1012c0bf
cmp eax, edi
jae 0x1012c0bf
cmp eax, dword [esp + 0x2c]
jne 0x1012c0bf
cmp eax, dword [esp + 0x30]
jne 0x1012c0bf
cmp eax, dword [esp + 0x34]
jne 0x1012c0bf
imul eax, eax, 0x4208
mov dword [esp + 0x20], eax
lea esi, [eax + 0x5a960]
add esi, ebp
cmp word [esi], 0
jbe 0x1012c0bf
cmp word [eax + ebp + 0x5aa08], 0
jbe 0x1012c0bf
xor ecx, ecx
lea edx, [esp + 0xc4]
nop dword [eax]
xor eax, eax
lea edx, [edx + 0x20]
test ecx, ecx
sete al
movd xmm0, eax
xor eax, eax
cvtdq2pd xmm0, xmm0
cmp ecx, 1
sete al
movsd qword [edx - 0x28], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2pd xmm0, xmm0
cmp ecx, 2
sete al
movsd qword [edx - 0x20], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2pd xmm0, xmm0
cmp ecx, 3
sete al
inc ecx
movsd qword [edx - 0x18], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [edx - 0x10], xmm0
cmp ecx, 4
jl 0x1012bd10
or ebx, 0xffffffff
mov ecx, esi
mov dword [esp + 0x10], ebx
xor eax, eax
cmp word [ecx], 0x15
je 0x1012bd8b
inc eax
add ecx, 0xa8
cmp eax, 2
jl 0x1012bd77
jmp 0x1012bd95
mov ebx, eax
mov dword [esp + 0x10], ebx
test eax, eax
jns 0x1012bdcf
xor ecx, ecx
movzx eax, word [esi]
cmp eax, 1
je 0x1012bdc1
cmp eax, 0x14
je 0x1012bdc1
cmp eax, 0x16
je 0x1012bdc1
cmp eax, 0x17
je 0x1012bdc1
cmp eax, 4
je 0x1012bdc1
inc ecx
add esi, 0xa8
cmp ecx, 2
jl 0x1012bd97
jmp 0x1012bdc7
mov ebx, ecx
mov dword [esp + 0x10], ebx
test ebx, ebx
js 0x1012c0bb
mov edi, dword [ebp + 0x190]
xor esi, esi
test edi, edi
jle 0x1012be65
lea ecx, [esp + 0x144]
mov dword [esp + 0x14], ecx
nop word [eax + eax]
cmp esi, 4
jge 0x1012be65
mov edx, dword [esp + 0x20]
lea eax, [ebx*8]
sub eax, ebx
lea eax, [esi + 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, [ebx + 0x8a1]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x20]
lea eax, [esi + eax*2]
inc esi
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
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 + 0x14], ecx
cmp esi, edi
jl 0x1012bdf0
mov eax, dword [esp + 0x28]
cmp dword [esp + ebx*4 + 0x3c], eax
jne 0x1012bfbe
xor ecx, ecx
mov dword [esp + 0x14], ecx
test edi, edi
jle 0x1012bfbe
xor esi, esi
cmp edi, 4
jl 0x1012bf63
nop dword [eax]
cmp esi, 4
jge 0x1012bfa9
imul eax, eax, 0x1082
imul edx, ebx, 0x2a
lea ebx, [esi + 2]
shl ecx, 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], edx
add edx, eax
add edx, ecx
add ecx, esi
lea eax, [edx + esi]
movss xmm0, dword [ebp + eax*4 + 0x5a964]
lea eax, [ebx - 1]
cvtps2pd xmm0, xmm0
movsd qword [esp + ecx*8 + 0xbc], xmm0
cmp eax, 4
jge 0x1012bfa5
lea eax, [edx + esi]
movss xmm0, dword [ebp + eax*4 + 0x5a968]
cvtps2pd xmm0, xmm0
movsd qword [esp + ecx*8 + 0xc4], xmm0
cmp ebx, 4
jge 0x1012bfa5
lea eax, [edx + esi]
movss xmm0, dword [ebp + eax*4 + 0x5a96c]
lea eax, [ebx + 1]
cvtps2pd xmm0, xmm0
movsd qword [esp + ecx*8 + 0xcc], xmm0
cmp eax, 4
jge 0x1012bfa5
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x30]
lea edx, [ebx*4]
add eax, edx
add eax, esi
add esi, 4
movss xmm0, dword [ebp + eax*4 + 0x5a970]
lea eax, [edi - 3]
cvtps2pd xmm0, xmm0
cmp esi, eax
mov eax, dword [esp + 0x28]
movsd qword [esp + ecx*8 + 0xd4], xmm0
mov ecx, ebx
mov ebx, dword [esp + 0x10]
jl 0x1012be90
cmp esi, edi
jge 0x1012bfa9
cmp esi, 4
jge 0x1012bfa5
lea edx, [ecx*4]
imul eax, ebx, 0x2a
imul ecx, dword [esp + 0x28], 0x1082
add eax, edx
add ecx, eax
lea eax, [edx + esi]
add ecx, esi
inc esi
movss xmm0, dword [ebp + ecx*4 + 0x5a964]
mov ecx, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + eax*8 + 0xbc], xmm0
cmp esi, edi
jl 0x1012bf67
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
cmp ecx, edi
jl 0x1012be81
cmp dword [esp + 0x1c], eax
jne 0x1012c00f
test edi, edi
jle 0x1012c00f
mov edx, dword [esp + 0x20]
lea esi, [esp + 0xbc]
add edx, 0x5eaf0
mov ebx, edi
add edx, ebp
nop dword [eax]
xor eax, eax
test edi, edi
jle 0x1012c004
mov ecx, esi
cmp eax, 4
jge 0x1012c004
movss xmm0, dword [edx]
inc eax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [ecx]
movsd qword [ecx], xmm0
add ecx, 8
cmp eax, edi
jl 0x1012bfe8
add edx, 4
add esi, 0x20
sub ebx, 1
jne 0x1012bfe0
xor eax, eax
mov dword [esp + 0x20], eax
test edi, edi
jle 0x1012c0a5
lea ebp, [esp + 0xbc]
lea esi, [esp + 0x19c]
nop dword [eax + eax]
cmp eax, 4
jge 0x1012c0a1
mov eax, 3
lea ebx, [esp + 0x13c]
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
movsd qword [esi], xmm0
test edi, edi
jle 0x1012c082
movaps xmm1, xmm0
mov eax, ebp
mov ecx, ebx
mov edx, edi
nop dword [eax]
movsd xmm0, qword [eax]
add eax, 8
mulsd xmm0, qword [ecx]
add ecx, 0x18
addsd xmm1, xmm0
sub edx, 1
jne 0x1012c060
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
movsd qword [esi], xmm1
add ebx, 8
add esi, 8
sub eax, 1
mov dword [esp + 0x1c], eax
jne 0x1012c048
mov eax, dword [esp + 0x20]
add ebp, 0x20
inc eax
mov dword [esp + 0x20], eax
cmp eax, edi
jl 0x1012c030
mov ebp, dword [esp + 0x38]
lea eax, [esp + 0x19c]
mov ecx, ebp
push eax
lea eax, [ebp + 0x25014]
push eax
call fcn.10125c80
mov ebx, dword [esp + 0x18]
test dword [ebp + 0xf18], 0x1000
je 0x1012c23d
imul eax, ebx, 0x4208
mov ecx, dword [eax + ebp + 0x5aaac]
test ecx, 0x200
je 0x1012c0e8
mov eax, ebx
jmp 0x1012c0fa
mov eax, dword [ebp + 0x5aaac]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
dec eax
test ecx, 0x400
je 0x1012c106
mov ecx, ebx
jmp 0x1012c119
mov ecx, dword [ebp + 0x5aaac]
and ecx, 0x400
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
test eax, eax
js 0x1012c23d
cmp eax, ecx
jne 0x1012c23d
imul edi, eax, 0x4208
mov dword [esp + 0x1c], edi
mov eax, dword [edi + ebp + 0x5eae4]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1012c23d
mov eax, dword [edi + ebp + 0x5eae8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1012c23d
mov ecx, dword [ebp + 0x194]
mov eax, dword [edi + ebp + 0x5eadc]
test ecx, ecx
je 0x1012c19b
cmp ecx, 0x3e8
jb 0x1012c17d
inc eax
cdq
sub eax, edx
mov esi, eax
and esi, 0xfffffffe
jmp 0x1012c19d
lea ecx, [eax + 5]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp + 0x194]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*2]
add esi, esi
jmp 0x1012c19d
mov esi, eax
mov edi, dword [edi + ebp + 0x5eae0]
test ecx, ecx
je 0x1012c1d5
cmp ecx, 0x3e8
jb 0x1012c1bd
lea eax, [edi + 1]
cdq
sub eax, edx
mov edx, eax
and edx, 0xfffffffe
jmp 0x1012c1d7
lea ecx, [edi + 5]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
jmp 0x1012c1d7
mov edx, edi
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebp + 0x5eadc]
cmp esi, eax
jle 0x1012c1ec
sub eax, esi
add dword [esp + 0x14], eax
cmp edx, edi
jle 0x1012c1f8
mov eax, edi
sub eax, edx
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
movzx ecx, word [ebp + 0x1a]
add ecx, dword [esp + 0x14]
add ecx, dword [eax + ebp + 0x5eadc]
movzx eax, word [ebp + 0x12]
cmp ecx, eax
jg 0x1012c23d
movzx ecx, word [ebp + 0x18]
add ecx, dword [esp + 0x10]
movzx eax, word [ebp + 0x10]
add ecx, edi
cmp ecx, eax
jg 0x1012c23d
add word [ebp + 0x1a], si
add word [ebp + 0x18], dx
mov eax, dword [esp + 0x14]
mov word [ebp + 0x16], ax
mov eax, dword [esp + 0x10]
mov word [ebp + 0x14], ax
test byte [ebp + 0x251e8], 1
jne 0x1012c287
imul eax, ebx, 0x4208
test byte [eax + ebp + 0x5a95c], 1
je 0x1012c25a
mov eax, ebx
jmp 0x1012c264
mov eax, dword [ebp + 0x5a95c]
and eax, 1
dec eax
test eax, eax
js 0x1012c287
imul eax, eax, 0x4208
push 0x30
add eax, 0x5a9d4
add eax, ebp
push eax
lea eax, [ebp + 0x25260]
push eax
call fcn.1026c9a0
add esp, 0xc
test byte [ebp + 0x25290], 1
jne 0x1012c2d1
imul eax, ebx, 0x4208
test byte [eax + ebp + 0x5aa04], 1
je 0x1012c2a4
mov eax, ebx
jmp 0x1012c2ae
mov eax, dword [ebp + 0x5aa04]
and eax, 1
dec eax
test eax, eax
js 0x1012c2d1
imul eax, eax, 0x4208
push 0x30
add eax, 0x5aa7c
add eax, ebp
push eax
lea eax, [ebp + 0x25308]
push eax
call fcn.1026c9a0
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 + 0x30], eax
sub ecx, ebp
mov dword [esp + 0x18], ecx
nop dword [eax]
test byte [edi], 4
je 0x1012c309
mov eax, ebx
jmp 0x1012c317
mov eax, dword [esi]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c343
imul eax, eax, 0x4208
add ecx, 0x5a9a4
push 0x30
add eax, ecx
add eax, esi
add eax, ebp
push eax
lea eax, [esi - 0x3572c]
push eax
call fcn.1026c9a0
mov ecx, dword [esp + 0x24]
add esp, 0xc
test byte [edi], 8
je 0x1012c34c
mov eax, ebx
jmp 0x1012c35a
mov eax, dword [esi]
and al, 8
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c382
imul eax, eax, 0x4208
add ecx, 0x5a964
push 0x40
add eax, ecx
add eax, esi
add eax, ebp
push eax
lea eax, [esi - 0x3576c]
push eax
call fcn.1026c9a0
add esp, 0xc
test byte [edi], 2
je 0x1012c38b
mov eax, ebx
jmp 0x1012c399
mov eax, dword [esi]
and al, 2
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
mov ecx, dword [esp + 0x18]
test eax, eax
js 0x1012c3ba
imul eax, eax, 0x4208
add eax, ecx
add eax, esi
mov ax, word [eax + ebp + 0x5a960]
mov word [esi - 0x35770], ax
add edi, 0xa8
add esi, 0xa8
sub dword [esp + 0x1c], 1
jne 0x1012c300
mov esi, dword [esp + 0x30]
test byte [esi + ebp + 0x5aaac], 0x10
je 0x1012c3e3
mov eax, ebx
jmp 0x1012c3f5
mov eax, dword [ebp + 0x5aaac]
and al, 0x10
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c418
imul eax, eax, 0x4208
push 0x10
add eax, 0x5eaf0
add eax, ebp
push eax
lea eax, [ebp + 0x2937c]
push eax
call fcn.1026c9a0
add esp, 0xc
test byte [esi + ebp + 0x5aaac], 0x40
je 0x1012c426
mov eax, ebx
jmp 0x1012c438
mov eax, dword [ebp + 0x5aaac]
and al, 0x40
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c45b
imul eax, eax, 0x4208
push 0x10
add eax, 0x5eacc
add eax, ebp
push eax
lea eax, [ebp + 0x29358]
push eax
call fcn.1026c9a0
add esp, 0xc
test byte [esi + ebp + 0x5aaac], 0x20
je 0x1012c469
mov eax, ebx
jmp 0x1012c47b
mov eax, dword [ebp + 0x5aaac]
and al, 0x20
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c4af
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.1026c9a0
add esp, 0xc
mov ecx, dword [esp + 0x24]
test ecx, ecx
js 0x1012c4f4
imul eax, ecx, 0x4208
test dword [eax + ebp + 0x5aaac], 0x800
jne 0x1012c4dd
mov ecx, dword [ebp + 0x5aaac]
and ecx, 0x800
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
test ecx, ecx
js 0x1012c4f4
imul eax, ecx, 0x4208
mov eax, dword [eax + ebp + 0x5eaec]
mov dword [ebp + 0x29378], eax
test byte [esi + ebp + 0x5aaac], 0x80
je 0x1012c502
mov eax, ebx
jmp 0x1012c514
mov eax, dword [ebp + 0x5aaac]
and al, 0x80
movzx eax, al
neg eax
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x1012c538
imul ecx, eax, 0x4208
mov eax, dword [ecx + ebp + 0x5a948]
mov dword [ebp + 0x54888], eax
mov eax, dword [ecx + ebp + 0x5a94c]
mov dword [ebp + 0x5488c], eax
test dword [esi + ebp + 0x5aaac], 0x100
jne 0x1012c558
mov ebx, dword [ebp + 0x5aaac]
and ebx, 0x100
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
test ebx, ebx
js 0x1012c5ce
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 + 0x30], ecx
mov dword [esp + 0x3c], eax
test ecx, ecx
jl 0x1012c5ce
jg 0x1012c589
test ebx, ebx
jb 0x1012c5ce
test eax, eax
jle 0x1012c5ce
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 + 0x34]
mov esi, edx
mov eax, dword [ecx]
push ebx
mov eax, dword [eax + 0xc]
call eax
push dword [esp + 0x3c]
mov ecx, ebp
call fcn.10155550
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
mov eax, dword [edx + 0x4404]
lea edx, [edx + 4]
mov dword [edx - 4], eax
sub ecx, 1
jne 0x1012c5f1
mov eax, dword [ebp + 0x83dac]
test eax, eax
je 0x1012cc48
cmp word [ebp + 0x14], 0x16
jb 0x1012cc48
cmp word [ebp + 0x16], 0x16
jb 0x1012cc48
cmp dword [ebp + 0x548a4], 0x10
jbe 0x1012c63a
cmp eax, 0x1016a070
jne 0x1012cc48
cmp dword [ebp + 0x548a0], 4
ja 0x1012cc48
mov esi, dword [ebp + 0x190]
cmp esi, 4
jg 0x1012cc48
cmp esi, 1
jl 0x1012cc48
movss xmm0, dword [0x102c7cac]
xor edx, edx
mov ecx, 1
cmp esi, 4
jl 0x1012c6c8
lea edi, [ebp + 0x24ff8]
nop dword [eax]
cmp edx, 4
jge 0x1012c6ea
xor eax, eax
comiss xmm0, dword [edi - 4]
cmovae ecx, eax
lea eax, [edx + 1]
cmp eax, 4
jge 0x1012c6ea
xor eax, eax
comiss xmm0, dword [edi]
cmovae ecx, eax
cmp edx, 2
jge 0x1012c6ea
comiss xmm0, dword [edi + 4]
cmovae ecx, eax
lea eax, [edx + 3]
cmp eax, 4
jge 0x1012c6ea
xor eax, eax
comiss xmm0, dword [edi + 8]
cmovae ecx, eax
add edx, 4
lea eax, [esi - 3]
add edi, 0x10
cmp edx, eax
jl 0x1012c680
cmp edx, esi
jge 0x1012c6ea
lea eax, [edx*4 + 0x24ff4]
add eax, ebp
cmp edx, 4
jge 0x1012c6ea
xor edi, edi
comiss xmm0, dword [eax]
cmovae ecx, edi
inc edx
add eax, 4
cmp edx, esi
jl 0x1012c6d5
test ecx, ecx
je 0x1012c8c3
movss xmm1, dword [ebp + 0x24ff4]
xor ecx, ecx
cvtps2pd xmm1, xmm1
cmp esi, 4
jl 0x1012c77e
lea edx, [ebp + 0x24ff8]
nop word [eax + eax]
cmp ecx, 4
jge 0x1012c7ad
movss xmm2, dword [edx - 4]
cvtps2pd xmm0, xmm2
comisd xmm0, xmm1
ja 0x1012c72a
cvtps2pd xmm1, xmm2
lea eax, [ecx + 1]
cmp eax, 4
jge 0x1012c7ad
movss xmm2, dword [edx]
cvtps2pd xmm0, xmm2
comisd xmm0, xmm1
ja 0x1012c742
cvtps2pd xmm1, xmm2
cmp ecx, 2
jge 0x1012c7ad
movss xmm2, dword [edx + 4]
cvtps2pd xmm0, xmm2
comisd xmm0, xmm1
ja 0x1012c758
cvtps2pd xmm1, xmm2
lea eax, [ecx + 3]
cmp eax, 4
jge 0x1012c7ad
movss xmm2, dword [edx + 8]
cvtps2pd xmm0, xmm2
comisd xmm0, xmm1
ja 0x1012c771
cvtps2pd xmm1, xmm2
add ecx, 4
lea eax, [esi - 3]
add edx, 0x10
cmp ecx, eax
jl 0x1012c710
cmp ecx, esi
jge 0x1012c7ad
lea eax, [ecx*4 + 0x24ff4]
add eax, ebp
nop dword [eax + eax]
cmp ecx, 4
jge 0x1012c7ad
movss xmm2, dword [eax]
cvtps2pd xmm0, xmm2
comisd xmm0, xmm1
ja 0x1012c7a5
cvtps2pd xmm1, xmm2
inc ecx
add eax, 4
cmp ecx, esi
jl 0x1012c790
xor ecx, ecx
cmp esi, 4
jl 0x1012c846
lea edx, [ebp + 0x24ff8]
nop
cmp ecx, 4
jge 0x1012c874
movss xmm0, dword [edx - 4]
lea eax, [ecx + 1]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0x9c], xmm0
cmp eax, 4
jge 0x1012c874
movss xmm0, dword [edx]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xa4], xmm0
cmp ecx, 2
jge 0x1012c874
movss xmm0, dword [edx + 4]
lea eax, [ecx + 3]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xac], xmm0
cmp eax, 4
jge 0x1012c874
movss xmm0, dword [edx + 8]
lea eax, [esi - 3]
cvtps2pd xmm0, xmm0
add edx, 0x10
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0xb4], xmm0
add ecx, 4
cmp ecx, eax
jl 0x1012c7c0
cmp ecx, esi
jge 0x1012c874
lea eax, [ecx*4 + 0x24ff4]
add eax, ebp
cmp ecx, 4
jge 0x1012c874
movss xmm0, dword [eax]
add eax, 4
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [esp + ecx*8 + 0x9c], xmm0
inc ecx
cmp ecx, esi
jl 0x1012c853
movsd xmm1, qword [esp + 0x9c]
xor eax, eax
movaps xmm2, xmm1
test esi, esi
jle 0x1012c8ab
cmp eax, 4
jge 0x1012c8ab
movsd xmm0, qword [esp + eax*8 + 0x9c]
comisd xmm0, xmm1
ja 0x1012c89d
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x1012c8a6
movaps xmm2, xmm0
inc eax
cmp eax, esi
jl 0x1012c886
movsd xmm0, qword [0x102c7d08]
comisd xmm0, xmm1
jae 0x1012c8c3
comisd xmm2, xmmword [0x103f9640]
jbe 0x1012c8d7
mov dword [ebp + 0x25000], 0
mov dword [ebp + 0x24ff4], 0
cmp dword [ebp + 0xe94], 0
jne 0x1012c8ee
cmp dword [ebp + 0x188], 0
mov eax, 2
je 0x1012c8f3
mov eax, 3
test dword [ebp + 0xe98], eax
je 0x1012c940
movss xmm0, dword [ebp + 0x25014]
comiss xmm0, dword [0x103f9318]
jbe 0x1012c940
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 0x1012c94d
push 0
jmp 0x1012c968
movss xmm1, dword [ebp + 0x250a4]
movsd xmm0, qword [0x102c7d10]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x1012c980
push 1
mov eax, dword [ebp]
lea ecx, [ebp + 0x104]
push ecx
lea ecx, [ebp + 0xc4]
push ecx
mov eax, dword [eax + 0x20]
mov ecx, ebp
call eax
cmp dword [ebp + 0x83dac], 0x10147580
jne 0x1012c9ab
cmp dword [ebp + 0x54834], 0
je 0x1012c9ab
mov eax, dword [ebp]
mov ecx, ebp
push 0
push str.Quicktake
push str.Apple
mov eax, dword [eax + 0x20]
call eax
cmp word [ebp + 0x5483e], 0
je 0x1012ca43
cmp dword [ebp + 0x188], 0
jne 0x1012c9d7
test dword [ebp + 0xf34], 0x10000
jne 0x1012c9d7
xor eax, eax
mov word [ebp + 0x5483e], ax
cmp word [ebp + 0x5483e], 0
je 0x1012ca43
mov dx, word [ebp + 0x16]
xor eax, eax
cmp dword [ebp + 0x5489c], eax
movsd xmm0, qword [0x103f94d8]
sete al
mov cx, ax
mov eax, 0x49494949
shr dx, cl
mov ecx, 0x94949494
mov word [ebp + 0x5483e], dx
test dl, 1
cmovne eax, ecx
mov dword [ebp + 0x194], eax
mov ax, word [ebp + 0x14]
mov cx, word [ebp + 0x5489c]
shr ax, cl
add ax, word [ebp + 0x5483e]
movzx eax, ax
mov word [ebp + 0x16], ax
dec eax
mov word [ebp + 0x14], ax
movsd qword [ebp + 0x28], xmm0
jmp 0x1012ca5f
movzx eax, word [ebp + 0x14]
cmp word [ebp + 0x10], ax
jae 0x1012ca51
mov word [ebp + 0x10], ax
movzx eax, word [ebp + 0x16]
cmp word [ebp + 0x12], ax
jae 0x1012ca5f
mov word [ebp + 0x12], ax
cmp dword [ebp + 0x548a4], 0
jne 0x1012ca72
mov dword [ebp + 0x548a4], 0xc
cmp dword [ebp + 0x24f58], 0
jne 0x1012cab5
mov ecx, dword [ebp + 0x548a4]
mov eax, 1
shl eax, cl
dec eax
mov dword [ebp + 0x24f58], eax
cmp eax, 0x10000
jae 0x1012cab5
movzx eax, word [ebp + eax*2 + 0xf38]
test ax, ax
je 0x1012cab5
cmp dword [ebp + 0x83dac], 0x1014a670
jne 0x1012cab5
mov dword [ebp + 0x24f58], eax
mov eax, dword [ebp + 0x83dac]
test eax, eax
je 0x1012caef
cmp word [ebp + 0x14], 0x16
jb 0x1012caef
cmp word [ebp + 0x16], 0x16
jb 0x1012caef
cmp dword [ebp + 0x548a4], 0x10
jbe 0x1012cadd
cmp eax, 0x1016a070
jne 0x1012caef
cmp dword [ebp + 0x548a0], 6
ja 0x1012caef
cmp dword [ebp + 0x190], 4
jle 0x1012caf9
mov dword [ebp + 0x184], 0
movzx eax, word [ebp + 0x12]
cmp eax, 0x16
jb 0x1012cb1a
mov ecx, 0xfa00
cmp ax, cx
ja 0x1012cb1a
movzx eax, word [ebp + 0x10]
cmp eax, 0x16
jb 0x1012cb1a
cmp ax, cx
jbe 0x1012cb24
mov dword [ebp + 0x184], 0
cmp dword [ebp + 0x83dac], 0x10142630
jne 0x1012cb44
mov dword [ebp + 0x184], 0
or dword [ebp + 0xf34], 0x800
mov eax, dword [ebp + 0x83dac]
cmp eax, 0x10147eb0
je 0x1012cb58
cmp eax, 0x10140d50
jne 0x1012cb69
mov dword [ebp + 0x184], 0
or dword [ebp + 0xf34], 0x10
cmp byte [ebp + 0x1e0], 0
lea edx, [ebp + 0x1e0]
jne 0x1012cb9e
cmp dword [ebp + 0x190], 3
mov ecx, str.RGBG
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 0x1012cb90
cmp word [ebp + 0x10], 0
jne 0x1012cbad
mov ax, word [ebp + 0x14]
mov word [ebp + 0x10], ax
cmp word [ebp + 0x12], 0
jne 0x1012cbbc
mov ax, word [ebp + 0x16]
mov word [ebp + 0x12], ax
mov edx, dword [ebp + 0x194]
cmp edx, 0x3e7
jbe 0x1012cbf7
cmp dword [ebp + 0x190], 3
jne 0x1012cbf7
mov ecx, edx
mov eax, edx
and ecx, 0xe2222222
shr eax, 2
shl ecx, 2
and eax, 0x22222222
or ecx, eax
lea eax, [edx + edx]
and ecx, eax
or ecx, edx
mov dword [ebp + 0x194], ecx
cmp dword [ebp + 0x30], 0xffffffff
jne 0x1012cc12
mov eax, dword [ebp + 0x5485c]
mov dword [ebp + 0x30], eax
cmp eax, 0xffffffff
jne 0x1012cc12
mov dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x30]
cmp eax, 0x59
jg 0x1012cc23
cmp eax, 0xffffffa7
jge 0x1012ccb4
add eax, 0xe10
mov ecx, 0x168
cdq
idiv ecx
sub edx, 0x5a
je 0x1012ccad
sub edx, 0x5a
je 0x1012cca4
sub edx, 0x5a
jne 0x1012ccb4
mov dword [ebp + 0x30], 5
jmp 0x1012ccb4
mov dword [ebp + 0x184], 0
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x1012ccd7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
je 0x1012ccd7
jmp 0x1012cd27
mov dword [ebp + 0x184], 0
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x1012ccd7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
je 0x1012ccd7
jmp 0x1012cd3e
mov dword [ebp + 0x30], 3
jmp 0x1012ccb4
mov dword [ebp + 0x30], 6
mov eax, dword [ebp + 0x83d64]
test eax, eax
je 0x1012ccd7
push 2
push 1
push 2
push dword [ebp + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x1012cd55
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2a38
ret
push 0x10404af8
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 5
push eax
call fcn.1026eb3b
push 0x10404af8
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 5
push eax
call fcn.1026eb3b
push 0x10404af8
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 5
push eax
call fcn.1026eb3b
push 0x10404af8
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 6
push eax
call fcn.1026eb3b
push 0x10404af8
lea eax, [esp + 0x58]
mov dword [esp + 0x58], 6
push eax
call fcn.1026eb3b
push 0x10404af8
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 6
push eax
call fcn.1026eb3b
test byte [eax + 0x12], ch
adc byte [ebx - 1576005016], dl
push 0x68ae1012
adc dl, byte [eax]
mov edx, 0xc6101268
push 1758597138
adc dl, byte [eax]
fisubr word [eax + 0x12]
adc dl, ch
push 0x68f61012
adc dl, byte [eax]
add ch, byte [ecx + 0x12]
adc byte [esi], cl
imul edx, dword [edx], 0x12691a10
adc byte [ebx + 0x75], dh
adc dl, byte [eax]
xor dh, byte [edi + 0x12]
adc byte [ecx + 119], al
adc dl, byte [eax]
mov bl, 0x77
adc dl, byte [eax]
int3