Function at 0x10129db0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x374
movaps xmm0, xmmword [0x1039cbe0]
xor eax, eax
movups xmmword [esp + 0xd4], xmm0
xor edx, edx
mov dword [esp + 0x38], eax
movaps xmm0, xmmword [0x1039cbe0]
movups xmmword [esp + 0xe4], xmm0
mov dword [esp + 0x44], eax
xorps xmm0, xmm0
mov dword [esp + 0x40], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x5c], 0x10
movups xmmword [esp + 0xb8], xmm0
push esi
movups xmmword [esp + 0xcc], xmm0
mov eax, dword [ebx + 0x492d0]
movaps xmm0, xmmword [0x1039cbe0]
push edi
movups xmmword [esp + 0x98], xmm0
xor edi, edi
mov dword [esp + 0x40], ebx
movsd xmm0, qword [0x1039c208]
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], edx
mov dword [esp + 0x3c], 0x3020100
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0xfff
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], eax
cmp eax, 0xa
jb 0x10129e93
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc eax
lea edx, [esp + 0x1a0]
mov dword [ebx + 0x492d0], eax
xor esi, esi
xor ecx, ecx
xor eax, eax
cmp ecx, esi
sete al
inc ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [edx], xmm0
add edx, 8
cmp ecx, 4
jl 0x10129ea5
inc esi
cmp esi, 4
jl 0x10129ea3
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
cmp eax, 0x200
ja 0x10129e85
test eax, eax
je 0x1012c105
mov edi, dword [ebp + 8]
dec eax
mov ecx, ebx
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x80]
push eax
push edi
call fcn.10122e70
cmp dword [ebx + 0x4f5c4], 0
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], esi
je 0x10129f89
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push dword [ebx + 0x49280]
mov edi, eax
movsx eax, word [ebx + 0x492d8]
push eax
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x58]
push dword [esp + 0x6c]
neg eax
sbb eax, eax
and eax, 0x30000
or eax, esi
push eax
push dword [ebx + 0x4f5c8]
mov eax, dword [ebx + 0x4f5c4]
call eax
mov ecx, dword [ebx + 0x49280]
add esp, 0x18
mov eax, edi
cdq
mov esi, dword [ecx]
push 0
push edx
push eax
call dword [esi + 0xc]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
cmp esi, 0x100
ja 0x1012a206
je case.0x1012bc3f.61441
lea eax, [esi - 1]
cmp eax, 0x2d
ja case.0x1012be67.64773
movzx eax, byte [eax + 0x1012c2f0]
jmp dword [eax*4 + 0x1012c2b0]
cmp edx, 4
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov dword [esp + 0x4c], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov word [ebx + 0x16], ax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov word [ebx + 0x14], ax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
add word [ebx + 0x16], ax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx ecx, ax
test ecx, ecx
je 0x1012a012
mov dword [ebx + 0x188], ecx
cmp dword [esp + 0x4c], 0
je case.0x1012be67.64773
cmp dword [esp + 0x14], 1
jne case.0x1012be67.64773
mov esi, dword [esp + 0x10]
cmp edi, 3
mov edi, dword [ebp + 8]
jne 0x1012c063
add dword [ebx + 0x492ac], ecx
jmp 0x1012c063
cmp dword [esp + 0x4c], 0
je case.0x1012be67.64773
cmp edx, 1
jne case.0x1012be67.64773
cmp edi, 3
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
add dword [ebx + 0x492ac], eax
jmp case.0x1012be67.64773
cmp edi, 3
jne case.0x1012be67.64773
cmp edx, 1
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c78]
cvtpd2ps xmm0, xmm0
movss dword [ebx + esi*8 + 0x24784], xmm0
jmp case.0x1012be67.64773
cmp edi, 3
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x24a58], xmm0
jmp case.0x1012be67.64773
cmp dword [esp + 0x4c], 0
je 0x1012a101
cmp edx, 1
jne 0x1012a101
cmp edi, 3
jne 0x1012a101
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
mov dword [ebx + esi*4 + 0x49230], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
mov dword [ebx + esi*4 + 0x206f8], eax
mov eax, dword [ebx + 0x2076c]
mov dword [ebx + 0x20774], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + esi*4 + 0x2477c], xmm0
jmp case.0x1012be67.64773
cmp edx, 0x32
jb case.0x1012be67.64773
movss xmm0, dword [ebx + 0x2480c]
lea esi, [ebx + 0x2480c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
push 1
push 0
push 0xc
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, 3
nop
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
lea esi, [esi + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
sub edi, 1
jne 0x1012a180
jmp case.0x1012be67.64773
cmp edi, 7
jne case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xff
jne case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xd8
jne case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
sub eax, 2
mov dword [ebx + 0x49298], eax
mov eax, dword [esp + 0x14]
sbb edx, 0
mov dword [ebx + 0x4929c], edx
mov dword [ebx + 0x24d70], eax
jmp case.0x1012be67.64773
cmp esi, 0x201
ja 0x1012a7a6
je case.0x1012bc3f.61447
add esi, 0xfffffeff
cmp esi, 0x8f
ja case.0x1012be67.64773
movzx eax, byte [esi + 0x1012c37c]
jmp dword [eax*4 + 0x1012c320]
push edi
mov ecx, ebx
call fcn.10117960
mov esi, dword [esp + 0x18]
lea ecx, [esi + esi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f354], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov esi, dword [esp + 0x18]
movzx ecx, ax
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebx + eax*8 + 0x4f358], ecx
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
lea eax, [ebx + 0x24b24]
push 1
push 0x200
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp case.0x1012be67.64773
lea eax, [ebx + 0xb8]
jmp 0x1012c04e
lea eax, [ebx + 0xf8]
jmp 0x1012c04e
cmp edi, 4
jne case.0x1012be67.64773
mov dword [ebx + 0x4f5d8], 0x1011e9f0
mov dword [ebx + 0x49330], 0x2008
mov ecx, ebx
call fcn.10114f90
mov esi, dword [esp + 0x18]
mov edx, dword [ebp + 8]
add edx, eax
lea eax, [esi + 0x1a67]
lea eax, [eax + eax*2]
lea edi, [esi + esi*2]
shl eax, 4
add edi, edi
mov dword [esp + 0x20], eax
cmp dword [eax + ebx], 0
mov dword [ebx + edi*8 + 0x4f35c], edx
jne case.0x1012be67.64773
test edx, edx
jle case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, edx
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 1
lea eax, [esp + 0x144]
mov ecx, ebx
push eax
call fcn.10119420
test eax, eax
je case.0x1012be67.64773
cmp dword [esp + 0x150], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
mov dword [ebx + edi*8 + 0x4f34c], eax
mov eax, dword [esp + 0x140]
mov dword [ecx + ebx], eax
mov eax, dword [esp + 0x14c]
mov dword [ebx + edi*8 + 0x4f354], 6
mov dword [ebx + edi*8 + 0x4f348], edx
mov dword [ebx + edi*8 + 0x4f364], eax
jne 0x1012a389
test al, 1
jne 0x1012a389
imul eax, edx
mov dword [ebx + edi*8 + 0x4f348], eax
mov eax, dword [ebx + edi*8 + 0x4f35c]
mov ecx, ebx
movsx esi, word [ebx + 0x492d8]
add eax, 0xc
push eax
call fcn.1012c7a0
mov word [ebx + 0x492d8], si
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov esi, dword [esp + 0x18]
and eax, 7
movsx ecx, byte [eax + str.50132467]
lea eax, [esi + esi*2]
sub ecx, 0x30
add eax, eax
mov dword [ebx + eax*8 + 0x4f360], ecx
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 7
lea eax, [eax + eax*2]
add eax, eax
mov dword [ebx + eax*8 + 0x4f364], ecx
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
lea esi, [ebx + 0x138]
push 0x40
push esi
mov eax, dword [ecx]
call dword [eax + 0x1c]
push 5
push str.Adobe
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012a48f
push 5
push str.dcraw
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012a48f
push 5
push str.UFRaw
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012a48f
push 6
push str.Bibble
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012a48f
mov eax, str.Digital_Photo_Professional
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x1012a482
test cl, cl
je 0x1012a47e
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x1012a482
add esi, 2
add eax, 2
test cl, cl
jne 0x1012a462
xor eax, eax
jmp 0x1012a487
sbb eax, eax
or eax, 1
test eax, eax
jne case.0x1012be67.64773
mov dword [ebx + 0x178], 0
jmp case.0x1012be67.64773
push 0
mov ecx, ebx
call fcn.1012dbd0
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
lea eax, [ebx + 0x24d24]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov edi, dword [esp + 0x18]
lea ecx, [edi + edi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f370], eax
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov edi, dword [esp + 0x18]
lea ecx, [edi + edi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f374], eax
jmp case.0x1012be67.64773
cmp edx, 1
jbe 0x1012a519
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x24], edx
jmp 0x1012a528
mov ecx, ebx
call fcn.10114f90
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov edi, dword [ebp + 8]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f35c], eax
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x1012a55f
mov dword [ebx + ecx*8 + 0x4f374], 0
mov dword [ebx + ecx*8 + 0x4f370], 0
jmp 0x1012c05f
mov esi, dword [esp + 0x10]
cmp eax, 4
jne 0x1012c063
mov dword [ebx + 0x4f5d8], 0x1011ce80
mov dword [ebx + 0x178], 5
jmp 0x1012c063
mov edi, dword [esp + 0x18]
lea esi, [edi + edi*2]
add esi, esi
mov dword [ebx + esi*8 + 0x4f36c], 0
test edx, edx
je case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
cmp eax, dword [ebx + esi*8 + 0x4f36c]
jle 0x1012a5b8
mov dword [ebx + esi*8 + 0x4f36c], eax
sub dword [esp + 0x14], 1
jne 0x1012a5a1
jmp case.0x1012be67.64773
mov ecx, 0x10267774
lea eax, [ebx + 0xf8]
nop
mov bl, byte [eax]
cmp bl, byte [ecx]
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0x40]
jne 0x1012a606
cmp byte [esp + 0x14], 0
je 0x1012a602
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0x40]
jne 0x1012a606
add eax, 2
add ecx, 2
cmp byte [esp + 0x14], 0
jne 0x1012a5d0
xor eax, eax
jmp 0x1012a60b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012a655
mov esi, dword [esp + 0x18]
lea eax, [esi + esi*2]
add eax, eax
cmp dword [ebx + eax*8 + 0x4f348], 0xf20
jne 0x1012a655
mov ecx, ebx
mov dword [ebx + 0x4f5d8], 0x10121c60
call fcn.10114f90
mov edi, dword [ebp + 8]
add eax, edi
inc esi
mov dword [ebx + 0x492f8], eax
mov dword [ebx + 0x492fc], 0
mov dword [esp + 0x18], esi
jmp 0x1012c05f
mov ecx, str.Hasselblad
lea eax, [ebx + 0xb8]
mov bl, byte [eax]
cmp bl, byte [ecx]
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0x40]
jne 0x1012a696
cmp byte [esp + 0x14], 0
je 0x1012a692
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0x40]
jne 0x1012a696
add eax, 2
add ecx, 2
cmp byte [esp + 0x14], 0
jne 0x1012a660
xor eax, eax
jmp 0x1012a69b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012a6f0
cmp dword [ebx + 0x49338], eax
je 0x1012a6f0
mov esi, dword [ebx + 0x49280]
mov ecx, esi
push eax
mov edi, dword [esi]
mov eax, dword [edi + 0x10]
call eax
add eax, 4
mov ecx, esi
adc edx, 0
push edx
push eax
call dword [edi + 0xc]
mov esi, dword [ebx + 0x49280]
mov ecx, ebx
push 0
mov edi, dword [esi]
call fcn.10114f90
add eax, dword [ebp + 8]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.10129db0
jmp 0x1012c05f
cmp edx, 0x3e8
jbe 0x1012a6ff
mov edx, 0x3e8
jmp 0x1012a703
test edx, edx
je 0x1012a774
mov ecx, dword [ebx + 0x49280]
dec edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x58], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, dword [ebx + 0x49280]
mov ecx, ebx
push 0
mov dword [esp + 0x34], eax
mov edi, dword [esi]
call fcn.10114f90
add eax, dword [ebp + 8]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.10129db0
test eax, eax
jne 0x1012c05f
mov ecx, dword [ebx + 0x49280]
push eax
mov eax, dword [esp + 0x34]
add eax, 4
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x1012a703
dec edx
mov dword [esp + 0x58], edx
jmp 0x1012c05f
mov edi, dword [ebp + 8]
dec edx
mov dword [esp + 0x58], edx
jmp 0x1012c05f
mov eax, dword [str.Sarnoff]
mov dword [ebx + 0xb8], eax
mov eax, dword [0x10267bc8]
mov dword [ebx + 0xbc], eax
mov dword [ebx + 0x24788], 0xfff
jmp case.0x1012be67.64773
cmp esi, 0xc51a
ja 0x1012b356
je 0x1012b315
cmp esi, 0x8603
ja 0x1012ad14
je 0x1012ac2d
cmp esi, 0x7313
ja 0x1012aa9b
je 0x1012a9f9
cmp esi, 0x7201
ja 0x1012a91f
je 0x1012a90a
cmp esi, 0x7010
ja 0x1012a8ee
je 0x1012a875
cmp esi, 0x202
je case.0x1012bc3f.61448
cmp esi, 0x2bc
jne case.0x1012be67.64773
cmp edi, 1
je 0x1012a82c
cmp edi, 2
je 0x1012a82c
cmp edi, 6
je 0x1012a82c
cmp edi, 7
jne case.0x1012be67.64773
lea eax, [edx - 2]
cmp eax, 0x4dd1dd
ja case.0x1012be67.64773
lea eax, [edx + 1]
mov ecx, ebx
push eax
mov dword [ebx + 0x1dc], eax
call fcn.10135620
mov ecx, dword [ebx + 0x49280]
mov edx, eax
mov esi, dword [esp + 0x14]
push 1
mov dword [ebx + 0x1e0], edx
mov eax, dword [ecx]
push esi
push edx
call dword [eax + 8]
mov eax, dword [ebx + 0x1e0]
mov byte [esi + eax], 0
jmp case.0x1012be67.64773
xor esi, esi
mov ecx, ebx
call fcn.101178d0
shr eax, 2
and eax, 0xfff
mov dword [esp + esi*4 + 0x84], eax
inc esi
cmp esi, 4
jl 0x1012a877
xor edi, edi
nop word [eax + eax]
mov eax, dword [esp + edi*4 + 0x80]
mov edx, dword [esp + edi*4 + 0x84]
inc eax
cmp eax, edx
ja 0x1012a8e3
mov ecx, edi
mov esi, 1
shl si, cl
sub edx, eax
lea ecx, [eax + 0x3b4]
inc edx
lea ecx, [ebx + ecx*2]
nop dword [eax]
mov ax, word [ecx - 2]
lea ecx, [ecx + 2]
add ax, si
mov word [ecx - 2], ax
sub edx, 1
jne 0x1012a8d0
inc edi
cmp edi, 5
jl 0x1012a8a0
jmp case.0x1012be67.64773
cmp esi, 0x7200
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov dword [esp + 0x44], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov esi, eax
mov dword [esp + 0x10], esi
mov edi, dword [ebp + 8]
jmp 0x1012c063
add esi, 0xffff8ddf
cmp esi, 0xef
ja case.0x1012be67.64773
movzx eax, byte [esi + 0x1012c420]
jmp dword [eax*4 + 0x1012c40c]
mov ecx, ebx
call fcn.10114f90
mov dword [esp + 0x50], eax
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, ebx
call fcn.10122890
xor eax, eax
mov word [ebx + 0x12], ax
jmp case.0x1012be67.64773
xor esi, esi
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
movd xmm0, eax
xor eax, eax
cmp esi, 2
cvtdq2ps xmm0, xmm0
setl al
xor eax, esi
inc esi
movss dword [ebx + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x1012a971
jmp case.0x1012be67.64773
xor esi, esi
mov ecx, ebx
call fcn.101178d0
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [ebx + eax*4 + 0x20768], ecx
cmp esi, 4
jl 0x1012a9a2
mov ecx, dword [ebx + 0x20774]
lea edx, [ebx + 0x20768]
mov esi, edx
mov edi, 3
cmp ecx, dword [esi]
cmova ecx, dword [esi]
lea esi, [esi + 4]
sub edi, 1
jne 0x1012a9d2
mov eax, 4
sub dword [edx], ecx
lea edx, [edx + 4]
sub eax, 1
jne 0x1012a9e4
mov dword [ebx + 0x24780], ecx
jmp case.0x1012be67.64773
lea esi, [ebx + 0x2480c]
mov edi, 4
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
lea esi, [esi + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi - 4], xmm0
sub edi, 1
jne 0x1012aa04
movss xmm0, dword [ebx + 0x24810]
movss xmm1, dword [0x102579dc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012aa51
movss xmm0, dword [ebx + 0x24814]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1012aa51
lea eax, [edi + 2]
jmp 0x1012aa53
xor eax, eax
movss xmm1, dword [ebx + eax*4 + 0x2480c]
addss xmm1, dword [ebx + eax*4 + 0x24810]
movss dword [ebx + eax*4 + 0x2480c], xmm1
subss xmm1, dword [ebx + eax*4 + 0x24810]
movss xmm0, dword [ebx + eax*4 + 0x2480c]
subss xmm0, xmm1
movss dword [ebx + eax*4 + 0x24810], xmm1
movss dword [ebx + eax*4 + 0x2480c], xmm0
jmp case.0x1012be67.64773
cmp esi, 0x8290
ja 0x1012ab9f
je case.0x1012be67.65024
cmp esi, 0x828d
ja 0x1012ab5f
je 0x1012ab27
cmp esi, 0x7800
je 0x1012aace
cmp esi, 0x827d
jmp 0x1012c046
lea eax, [ebx + 0x2482c]
mov dword [esp + 0x14], 3
mov dword [esp + 0x1c], eax
mov esi, eax
mov edi, 3
mov ecx, ebx
call fcn.101178d0
cwde
lea esi, [esi + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10273c70]
cvtpd2ps xmm0, xmm0
movss dword [esi - 4], xmm0
sub edi, 1
jne 0x1012aae7
mov eax, dword [esp + 0x1c]
add eax, 0x10
sub dword [esp + 0x14], 1
mov dword [esp + 0x1c], eax
jne 0x1012aae0
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
cmp ax, 6
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
cmp ax, 6
jne 0x1012c063
mov dword [ebx + 0x188], 9
jmp 0x1012c063
cmp esi, 0x828e
jne case.0x1012be67.64773
cmp dword [ebx + 0x188], 9
jne case.0x1012be67.64777
xor esi, esi
nop word [eax + eax]
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
and al, 3
mov byte [ebx + esi + 0x18c], al
inc esi
cmp esi, 0x24
jl 0x1012ab80
jmp case.0x1012be67.64773
cmp esi, 0x85ff
ja 0x1012abe4
je 0x1012ad9b
sub esi, 0x829a
je 0x1012abd1
sub esi, 3
jne case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x24a60]
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x24a5c]
jmp case.0x1012be67.64773
cmp esi, 0x8602
jne case.0x1012be67.64773
xor esi, esi
mov ecx, ebx
call fcn.101178d0
movsd xmm1, qword [0x10273d70]
movzx eax, ax
movd xmm0, eax
mov eax, esi
cvtdq2pd xmm0, xmm0
xor eax, 1
inc esi
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebx + eax*4 + 0x2480c], xmm0
cmp esi, 4
jl 0x1012abf2
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
lea esi, [ebx + 0x138]
push 7
push 1
push esi
mov eax, dword [ecx]
call dword [eax + 8]
push 6
push str.MATRIX
push esi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne case.0x1012be67.64773
mov dword [ebx + 0x492b4], eax
xor edi, edi
lea eax, [ebx + 0x2485c]
mov dword [ebx + 0x184], 4
mov dword [esp + 0x14], eax
nop word [eax + eax]
xor esi, esi
mov ecx, dword [ebx + 0x49280]
mov eax, esi
xor eax, 1
add eax, 0x9217
add eax, edi
mov edx, dword [ecx]
lea eax, [ebx + eax*4]
push eax
push 0x10393ff4
call dword [edx + 0x20]
inc esi
cmp esi, 4
jl 0x1012ac82
cmp dword [ebx + 0x684], 0
mov edx, dword [esp + 0x14]
je 0x1012acfc
xorps xmm1, xmm1
mov eax, edx
mov ecx, 4
nop
movss xmm0, dword [eax]
add eax, 4
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
sub ecx, 1
jne 0x1012acc0
mov eax, edx
mov ecx, 4
nop word [eax + eax]
movss xmm0, dword [eax]
lea eax, [eax + 4]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax - 4], xmm0
sub ecx, 1
jne 0x1012ace0
add edi, 4
add edx, 0x10
mov dword [esp + 0x14], edx
cmp edi, 0xc
jl 0x1012ac80
jmp case.0x1012be67.64773
cmp esi, 0xa010
ja 0x1012af63
je 0x1012aef3
cmp esi, 0x9102
ja 0x1012ae16
je 0x1012ae04
cmp esi, 0x8773
ja 0x1012adb6
je case.0x1012b47b.50831
cmp esi, 0x8606
je 0x1012ad86
cmp esi, 0x8769
jne case.0x1012be67.64773
mov esi, dword [ebx + 0x49280]
mov ecx, ebx
push 0
mov edi, dword [esi]
call fcn.10114f90
add eax, dword [ebp + 8]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.101294e0
jmp 0x1012c05f
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, ebx
call fcn.1012d520
mov eax, dword [str.Leaf]
mov dword [ebx + 0xb8], eax
mov al, byte [0x10267bdc]
mov byte [ebx + 0xbc], al
jmp case.0x1012be67.64773
cmp esi, 0x8825
jne case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov ecx, dword [ebx + 0x49280]
mov edi, dword [ebp + 8]
push 0
push 0
mov edx, dword [ecx]
lea esi, [edi + eax]
push esi
call dword [edx + 0xc]
push edi
mov ecx, ebx
call fcn.1012d130
mov ecx, dword [ebx + 0x49280]
push 0
push 0
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
push edi
mov ecx, ebx
call fcn.1012d280
jmp 0x1012c05f
mov ecx, ebx
call fcn.10114f90
mov dword [ebx + 0x492e8], eax
jmp case.0x1012be67.64773
add esi, 0xffff6dfb
cmp esi, 0x13
ja case.0x1012be67.64773
movzx eax, byte [esi + 0x1012c524]
jmp dword [eax*4 + 0x1012c510]
push edi
mov ecx, ebx
call fcn.10117990
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
sub esp, 8
mulsd xmm0, qword [0x1039c168]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x40000000
call fcn.1012f3f0
fstp dword [ebx + 0x1f8]
add esp, 8
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x24a64]
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov dword [ebx + 0x24a70], eax
jmp case.0x1012be67.64773
lea esi, [ebx + 0x2485c]
mov dword [ebx + 0x492b4], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], 3
push edi
mov ecx, ebx
call fcn.10117990
fstp st(0)
mov dword [esp + 0x1c], 3
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [esi]
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x1012aec8
mov esi, dword [esp + 0x14]
add esi, 0x10
sub dword [esp + 0x2c], 1
mov dword [esp + 0x14], esi
jne 0x1012aeb6
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x492f0], eax
mov dword [ebx + 0x492f4], 0
lea eax, [esi + esi*2]
add eax, eax
mov eax, dword [ebx + eax*8 + 0x4f354]
sub eax, 0x8002
je 0x1012af54
mov edi, dword [ebp + 8]
sub eax, 2
je 0x1012af45
mov esi, dword [esp + 0x10]
sub eax, 1
jne 0x1012c063
mov dword [ebx + 0x4f5d8], 0x10122520
jmp 0x1012c063
mov dword [ebx + 0x4f5d8], 0x10122400
jmp 0x1012c05f
mov dword [ebx + 0x4f5d8], 0x10122120
jmp case.0x1012be67.64773
cmp esi, 0xb4c2
ja 0x1012b016
je 0x1012b098
add esi, 0xffff5bfb
cmp esi, 0x2f
ja case.0x1012be67.64773
movzx eax, byte [esi + 0x1012c54c]
jmp dword [eax*4 + 0x1012c538]
mov ecx, ebx
call fcn.101178d0
mov word [ebx + 0x2fc], ax
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, 0x80
cmp dword [esp + 0x14], eax
push 1
cmovb eax, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
lea eax, [ebx + 0x1fc]
push eax
call dword [edx + 8]
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
lea edi, [ebx + 0x27c]
mov eax, 0x80
cmp dword [esp + 0x14], eax
push 1
cmovb eax, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
push edi
call dword [edx + 8]
push 4
push 0x102678ec
push edi
call fcn.101e8e00
mov esi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x1012a917
mov byte [edi], al
mov edi, dword [ebp + 8]
jmp 0x1012c063
cmp esi, 0xb4c7
ja 0x1012b274
je 0x1012b079
cmp esi, 0xb4c3
jne case.0x1012be67.64773
mov eax, dword [str.Imacon]
mov ecx, dword [ebx + 0x49280]
mov dword [ebx + 0xb8], eax
mov ax, word [0x10267be4]
mov word [ebx + 0xbc], ax
mov al, byte [0x10267be6]
mov byte [ebx + 0xbe], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, dword [esp + 0x14]
mov dword [ebx + 0x492f8], eax
mov dword [ebx + 0x492fc], edx
mov dword [esp + 0x54], esi
jmp case.0x1012be67.64773
mov esi, dword [esp + 0x54]
test esi, esi
je case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
push 1
push 0
push 0x26
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x1012b09c
mov esi, dword [esp + 0x54]
mov ecx, dword [ebx + 0x49280]
push 1
push 0
push 0x28
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebx
call fcn.10114f90
mov ecx, ebx
mov word [ebx + 0x12], ax
call fcn.10114f90
mov ecx, ebx
mov word [ebx + 0x10], ax
call fcn.10114f90
and eax, 7
mov ecx, ebx
mov word [ebx + 0x1a], ax
call fcn.10114f90
movzx ecx, word [ebx + 0x12]
and eax, 7
sub cx, ax
sub cx, word [ebx + 0x1a]
mov word [ebx + 0x16], cx
mov ecx, ebx
call fcn.10114f90
and eax, 7
mov ecx, ebx
mov word [ebx + 0x18], ax
call fcn.10114f90
movzx ecx, word [ebx + 0x10]
and eax, 7
sub cx, ax
movzx eax, word [ebx + 0x12]
sub cx, word [ebx + 0x18]
mov word [ebx + 0x14], cx
mov ecx, 0x1c5e
cmp ax, cx
jne 0x1012b14f
cmp esi, 0xdf76880
jne 0x1012b13a
mov dword [ebx + 0x14], 0x1c301524
mov dword [ebx + 0x188], 0
jmp 0x1012b146
cmp ax, cx
jne 0x1012b14f
mov dword [ebx + 0x14], 0x1c4c1544
mov eax, 7
mov word [ebx + 0x1a], ax
mov ecx, dword [ebx + 0x49280]
push 1
push 0
push 0x34
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [ebx + 0x2480c]
mov edi, 3
nop dword [eax + eax]
push 0xb
mov ecx, ebx
call fcn.10117990
fstp dword [esi]
add esi, 4
sub edi, 1
jne 0x1012b170
mov ecx, dword [ebx + 0x49280]
push 1
push edi
push 0x72
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebx
call fcn.101178d0
movzx ecx, word [ebx + 0x16]
movzx edx, word [ebx + 0x14]
imul edx, ecx
movzx eax, ax
shr eax, 7
imul eax, eax, 0x5a
lea ecx, [edx + edx*2]
mov dword [ebx + 0x30], eax
add ecx, ecx
cmp ecx, dword [esp + 0x54]
jne 0x1012b207
cdq
mov ecx, 0xb4
idiv ecx
cmp edx, 0x5a
jne 0x1012b1e1
movzx eax, word [ebx + 0x14]
add word [ebx + 0x16], ax
mov ax, word [ebx + 0x16]
sub ax, word [ebx + 0x14]
sub word [ebx + 0x16], ax
mov word [ebx + 0x14], ax
movzx eax, word [ebx + 0x16]
mov word [ebx + 0x12], ax
movzx eax, word [ebx + 0x14]
mov word [ebx + 0x10], ax
xor eax, eax
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x188], 0
mov dword [ebx + 0x18], eax
movzx eax, word [ebx + 0x16]
movzx ecx, word [ebx + 0x14]
imul ecx, eax
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea eax, [ebx + 0xf8]
push str.Ixpress__d_Mp
push eax
call fcn.10006ef0
add esp, 0xc
mov dword [ebx + 0x4f5d8], 0x1011d090
cmp dword [ebx + 0x188], 0
je 0x1012b265
test byte [ebx + 0x1a], 1
je 0x1012b25b
mov dword [ebx + 0x188], 0x61616161
mov dword [ebx + 0x4f5d8], fcn.1011d650
mov dword [ebx + 0x24788], 0xffff
jmp case.0x1012be67.64773
lea eax, [esi - 0xc516]
cmp eax, 1
ja case.0x1012be67.64773
push edx
mov ecx, ebx
call fcn.10135620
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
je case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov esi, dword [esp + 0x14]
push esi
push 1
mov edx, dword [ecx]
push edi
call dword [edx + 8]
add edi, 0xffffffff
je 0x1012b305
add esi, dword [esp + 0x2c]
cmp edi, esi
jae 0x1012b305
push 8
inc edi
push str.Neutral
push edi
call fcn.101e8e00
add esp, 0xc
test eax, eax
jne 0x1012b2f4
lea eax, [ebx + 0x24814]
push eax
lea eax, [ebx + 0x24810]
push eax
lea eax, [ebx + 0x2480c]
push eax
lea eax, [edi + 8]
push 0x10267c04
push eax
call fcn.10019550
add esp, 0x14
push 0xa
push edi
call fcn.101df780
mov edi, eax
add esp, 8
test edi, edi
jne 0x1012b2b5
push dword [esp + 0x2c]
mov ecx, ebx
call fcn.10135700
jmp case.0x1012be67.64773
cmp byte [ebx + 0xb8], 0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
jne 0x1012c063
movq xmm0, qword [str.Hasselblad]
movq qword [ebx + 0xb8], xmm0
mov ax, word [0x1026775c]
mov word [ebx + 0xc0], ax
mov al, byte [0x1026775e]
mov byte [ebx + 0xc2], al
jmp 0x1012c063
cmp esi, 0xc612
ja 0x1012b453
je 0x1012b408
cmp esi, 0xc51b
jne case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
movsx eax, word [ebx + 0x492d8]
mov dword [esp + 0x5c], eax
mov dword [ebx + 0x49338], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov esi, dword [esp + 0x40]
mov ebx, eax
mov ecx, esi
mov eax, dword [esi + 0x492d0]
mov dword [esp + 0x30], eax
call fcn.101178d0
mov ecx, esi
mov word [esi + 0x492d8], ax
call fcn.101178d0
mov esi, dword [esi + 0x49280]
mov ecx, dword [esp + 0x40]
push 0
mov edi, dword [esi]
call fcn.10114f90
add eax, ebx
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
push ebx
mov ebx, dword [esp + 0x44]
mov ecx, ebx
call fcn.10129db0
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x492d0], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x24788], 0xffff
mov word [ebx + 0x492d8], ax
jmp case.0x1012be67.64773
mov esi, 4
nop dword [eax]
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebx + 0x17c]
shl ecx, 8
add eax, ecx
mov dword [ebx + 0x17c], eax
sub esi, 1
jne 0x1012b410
cmp byte [ebx + 0xb8], 0
jne 0x1012b444
mov dword [ebx + 0xb8], 0x474e44
mov dword [ebx + 0x178], 1
jmp case.0x1012be67.64773
cmp esi, 0xc741
ja 0x1012bc1e
je 0x1012bc00
lea eax, [esi - 0xc616]
cmp eax, 0x79
ja case.0x1012be67.64773
movzx eax, byte [eax + 0x1012c5d8]
jmp dword [eax*4 + 0x1012c57c]
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x1e8]
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x1ec]
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x1f0]
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x1f4]
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [ebx + 0x49290], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x49294], edx
mov dword [ebx + 0x2492c], eax
jmp case.0x1012be67.64773
cmp dword [ebx + 0x188], 9
je case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
cmp edx, 4
mov eax, 4
cmova edx, eax
push edx
mov dword [ebx + 0x184], edx
mov eax, dword [ecx]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x40]
push 1
push edx
call dword [eax + 8]
jmp 0x1012bf45
mov ecx, ebx
call fcn.101178d0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
cmp ax, 2
jne 0x1012c063
mov eax, 1
mov dword [ebx + 0x188], 0x49494949
mov word [ebx + 0x492be], ax
jmp 0x1012c063
push edx
mov ecx, ebx
call fcn.10129a60
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
movzx eax, ax
mov ecx, ebx
mov dword [ebx + 0x20778], eax
call fcn.101178d0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
movzx ecx, ax
mov eax, dword [ebx + 0x20778]
imul eax, ecx
mov dword [ebx + 0x2077c], ecx
cmp eax, 0x1000
jbe 0x1012c063
mov dword [ebx + 0x2077c], 1
mov dword [ebx + 0x20778], 1
jmp 0x1012c063
xor esi, esi
xorps xmm0, xmm0
movsd qword [esp + 0x20], xmm0
test edx, edx
je 0x1012b5f5
fld qword [esp + 0x20]
fstp qword [esp + 0x30]
nop dword [eax]
cmp esi, 0x10000
jge 0x1012b5f5
push edi
mov ecx, ebx
call fcn.10117990
fadd qword [esp + 0x30]
mov edx, dword [esp + 0x14]
inc esi
fst qword [esp + 0x30]
fstp qword [esp + 0x20]
cmp esi, edx
jb 0x1012b5d0
movsd xmm2, qword [esp + 0x20]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
mov eax, dword [ebx + 0x24780]
movd xmm1, eax
addsd xmm0, qword [edx*8 + 0x1039cc50]
shr eax, 0x1f
divsd xmm2, xmm0
cvtdq2pd xmm0, xmm1
addsd xmm2, qword [0x1039c168]
addsd xmm0, qword [eax*8 + 0x1039cc50]
addsd xmm0, xmm2
call fcn.101dd4f1
mov dword [ebx + 0x24780], eax
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov dword [ebx + 0x24788], eax
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fst qword [esp + 0x30]
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
mov ecx, ebx
push edi
movsd qword [ebx + 0x28], xmm0
call fcn.10117990
fdivr qword [esp + 0x30]
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
comisd xmm0, xmmword [0x10273cd0]
movsd qword [ebx + 0x28], xmm0
jbe case.0x1012be67.64773
movsd xmm1, qword [0x10273cd8]
comisd xmm1, xmm0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
jbe 0x1012c063
movsd xmm0, qword [0x1039c208]
movsd qword [ebx + 0x28], xmm0
jmp 0x1012c063
mov ecx, ebx
call fcn.101178d0
mov word [ebx + 0x24950], ax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.101178d0
mov word [ebx + 0x249c4], ax
jmp case.0x1012be67.64773
xor eax, eax
mov dword [esp + 0x1c], 0
cmp esi, 0xc621
setne al
cmp dword [ebx + 0x184], 0
jle 0x1012b774
imul eax, eax, 0x74
lea esi, [esp + 0x220]
add eax, 0x24994
add eax, ebx
nop
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], 3
nop dword [eax]
push edi
mov ecx, ebx
call fcn.10117990
mov eax, dword [esp + 0x2c]
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
movsd qword [esi], xmm0
add esi, 8
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
add eax, 4
sub dword [esp + 0x48], 1
mov dword [esp + 0x2c], eax
jne 0x1012b730
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [ebx + 0x184]
jl 0x1012b720
mov dword [esp + 0x48], 1
jmp case.0x1012be67.64773
xor eax, eax
cmp esi, 0xc623
setne al
xor edx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edx
cmp dword [ebx + 0x184], edx
jle case.0x1012be67.64773
xor ecx, ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x5c], eax
nop dword [eax]
nop word [eax + eax]
cmp dword [ebx + 0x184], 0
mov dword [esp + 0x2c], 0
jle 0x1012b82f
mov esi, eax
imul eax, dword [esp + 0x20], 0x74
add eax, 0x24954
add eax, ecx
add eax, ebx
mov dword [esp + 0x1c], eax
push edi
mov ecx, ebx
call fcn.10117990
mov eax, dword [esp + 0x1c]
lea esi, [esi + 8]
mov ecx, dword [esp + 0x2c]
fstp qword [esp + 0x68]
movsd xmm0, qword [esp + 0x68]
inc ecx
movsd qword [esi - 8], xmm0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x2c], ecx
movss dword [eax], xmm0
add eax, 4
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x184]
jl 0x1012b7e5
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x14]
inc edx
add eax, 0x20
add ecx, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], ecx
cmp edx, dword [ebx + 0x184]
jl 0x1012b7c0
jmp case.0x1012be67.64773
xor esi, esi
cmp dword [ebx + 0x184], esi
jle case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp qword [esp + esi*8 + 0xe0]
inc esi
cmp esi, dword [ebx + 0x184]
jl 0x1012b861
jmp case.0x1012be67.64773
xor esi, esi
cmp dword [ebx + 0x184], esi
jle case.0x1012be67.64773
nop dword [eax]
push edi
mov ecx, ebx
call fcn.10117990
fstp qword [esp + esi*8 + 0xc0]
inc esi
cmp esi, dword [ebx + 0x184]
jl 0x1012b890
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp qword [esp + 0x98]
push edi
mov ecx, ebx
call fcn.10117990
movsd xmm0, qword [0x1039c208]
lea eax, [esp + 0x98]
subsd xmm0, qword [esp + 0x98]
fstp qword [esp + 0xa0]
mov ecx, 0x10275ea8
subsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0xa8], xmm0
nop word [eax + eax]
movss xmm0, dword [ecx]
lea eax, [eax + 8]
movsd xmm1, qword [eax - 8]
add ecx, 4
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [eax - 8], xmm1
cmp ecx, 0x10275eb4
jl 0x1012b900
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117990
fstp dword [ebx + 0x24a48]
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [ebx + 0x49280]
mov edi, eax
movsx eax, word [ebx + 0x492d8]
push 6
mov dword [esp + 0x24], eax
lea eax, [esp + 0x104]
mov edx, dword [ecx]
push 1
push eax
mov dword [esp + 0x3c], edi
call dword [edx + 8]
mov ecx, str.Adobe
lea eax, [esp + 0x100]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1012b9a0
test dl, dl
je 0x1012b99c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1012b9a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1012b980
xor eax, eax
jmp 0x1012b9a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1012ba63
mov esi, dword [esp + 0x14]
lea ecx, [edi + 6]
mov dword [esp + 0x1c], ecx
mov eax, 0x4d4d
mov word [ebx + 0x492d8], ax
cmp esi, 0xe
jb 0x1012bae9
mov edi, ecx
sub edi, dword [esp + 0x30]
add edi, 8
nop word [eax + eax]
mov ecx, dword [ebx + 0x49280]
lea edx, [esp + 0x100]
push 4
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
add dword [esp + 0x1c], 8
lea eax, [esp + 0x100]
push 4
push str.MakN
push eax
add edi, 8
call fcn.101e8e00
add esp, 0xc
test eax, eax
je 0x1012ba27
cmp edi, esi
jbe 0x1012b9e0
mov edi, dword [esp + 0x30]
jmp 0x1012bae9
mov ecx, ebx
call fcn.10114f90
mov ecx, ebx
call fcn.101178d0
mov ecx, ebx
movzx esi, ax
call fcn.10114f90
mov ecx, dword [esp + 0x1c]
push 2
sub ecx, eax
mov word [ebx + 0x492d8], si
add ecx, 6
push 0
push ecx
mov ecx, ebx
call fcn.101271d0
mov edi, dword [ebp + 8]
jmp 0x1012bb1d
mov ecx, dword [ebx + 0x49280]
lea edx, [esp + 0x106]
push 2
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, 0x102676dc
lea eax, [esp + 0x100]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1012baa6
test dl, dl
je 0x1012baa2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1012baa6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1012ba86
xor eax, eax
jmp 0x1012baab
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012bafe
mov ecx, str.SAMSUNG
lea eax, [esp + 0x100]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1012bae0
test dl, dl
je 0x1012badc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1012bae0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1012bac0
xor eax, eax
jmp 0x1012bae5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1012bafe
mov ecx, dword [ebx + 0x49280]
push 0
push 0
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, dword [ebp + 8]
jmp 0x1012bb1d
mov ecx, dword [ebx + 0x49280]
push 0
push 0
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push 1
push 0
push edi
call fcn.101271d0
cmp dword [ebx + 0x17c], 0
mov eax, dword [esp + 0x20]
mov word [ebx + 0x492d8], ax
jne 0x1012c05f
mov ecx, ebx
call fcn.10114f90
mov edi, dword [ebp + 8]
mov ecx, ebx
add edi, eax
push edi
call fcn.10122890
mov ecx, dword [ebx + 0x49280]
mov eax, edi
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.10129db0
jmp 0x1012c05f
push 3
lea eax, [ebx + 0x492e2]
mov ecx, ebx
push eax
call fcn.10117bc0
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
push edi
mov ecx, ebx
mov word [ebx + 0x18], ax
call fcn.10117960
push edi
mov ecx, ebx
mov word [ebx + 0x1a], ax
call fcn.10117960
sub ax, word [ebx + 0x18]
mov ecx, ebx
push edi
mov word [ebx + 0x14], ax
call fcn.10117960
sub ax, word [ebx + 0x1a]
mov word [ebx + 0x16], ax
jmp case.0x1012be67.64773
xor esi, esi
test edx, edx
je 0x1012bbf1
lea eax, [ebx + 0x34]
mov dword [esp + 0x30], eax
nop word [eax + eax]
cmp esi, 0x20
jge 0x1012bbf1
push edi
mov ecx, ebx
call fcn.10117960
mov ecx, dword [esp + 0x30]
inc esi
mov dword [ecx], eax
add ecx, 4
mov dword [esp + 0x30], ecx
cmp esi, dword [esp + 0x14]
jb 0x1012bbd0
mov dword [ebx + 0x24780], 0
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [ebx + 0x49300], eax
mov dword [ebx + 0x49304], edx
jmp case.0x1012be67.64773
cmp esi, 0xf00e
ja 0x1012be4e
je 0x1012be09
add esi, 0xffff1000
cmp esi, 0xa
ja case.0x1012be67.64773
jmp dword [esi*4 + 0x1012c654]
push edi
mov ecx, ebx
call fcn.10117960
mov esi, dword [esp + 0x18]
lea ecx, [esi + esi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f348], eax
jmp case.0x1012be67.64773
push edi
mov ecx, ebx
call fcn.10117960
mov esi, dword [esp + 0x18]
lea ecx, [esi + esi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f34c], eax
jmp case.0x1012be67.64773
mov esi, dword [esp + 0x18]
and edx, 7
push edi
mov ecx, ebx
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebx + eax*8 + 0x4f364], edx
call fcn.10117960
add esi, 0x1a67
lea ecx, [esi + esi*2]
add ecx, ecx
mov dword [ebx + ecx*8], eax
jmp case.0x1012be67.64773
xor eax, eax
mov word [ebx + 0x10], ax
mov eax, dword [esp + 0x18]
add eax, 0x1a67
lea eax, [eax + eax*2]
add eax, eax
cmp dword [ebx + eax*8], 0xc
jg case.0x1012be67.64773
mov ecx, ebx
mov dword [ebx + 0x4f5d8], 0x1011d150
call fcn.10114f90
neg eax
sbb eax, eax
and eax, 0xffffffc8
add eax, 0x50
mov dword [ebx + 0x49330], eax
jmp case.0x1012be67.64773
mov ecx, ebx
call fcn.10114f90
mov esi, dword [esp + 0x18]
lea ecx, [esi + esi*2]
add ecx, ecx
mov dword [ebx + ecx*8 + 0x4f368], eax
jmp case.0x1012be67.64773
movd xmm0, edx
mov eax, edx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
call fcn.101f0ba0
minsd xmm0, qword [0x10273d40]
call fcn.101dd4f1
mov dword [ebx + 0x2077c], eax
mov dword [ebx + 0x20778], eax
mov ecx, dword [ebx + 0x20778]
imul ecx, dword [ebx + 0x2077c]
mov eax, dword [esp + 0x14]
cmp ecx, 2
jae 0x1012bd92
cmp eax, 1
jne 0x1012bd92
push edi
mov ecx, ebx
call fcn.10117990
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x24780], eax
fldcw word [esp + 0x14]
jmp case.0x1012be67.64773
cmp ecx, eax
ja case.0x1012be67.64773
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x1012bbf1
lea esi, [ebx + 0x20780]
push edi
mov ecx, ebx
call fcn.10117990
mov ecx, dword [esp + 0x30]
lea esi, [esi + 4]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
inc ecx
or eax, 0xc00
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [esi - 4], eax
mov eax, dword [ebx + 0x20778]
imul eax, dword [ebx + 0x2077c]
fldcw word [esp + 0x14]
cmp ecx, eax
jb 0x1012bdb0
mov dword [ebx + 0x24780], 0
jmp case.0x1012be67.64773
mov esi, 4
nop
push edi
mov ecx, ebx
call fcn.10117960
mov ecx, 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1039cc50]
mov eax, esi
dec esi
cdq
idiv ecx
cvtpd2ps xmm0, xmm0
movss dword [ebx + edx*4 + 0x2480c], xmm0
cmp esi, 1
jg 0x1012be10
jmp case.0x1012be67.64773
add esi, 0xffff02fc
cmp esi, 0xfe
ja case.0x1012be67.64773
movzx eax, byte [esi + 0x1012c694]
jmp dword [eax*4 + 0x1012c680]
cmp edx, 0x24
jne 0x1012beaf
mov dword [ebx + 0x188], 9
xor esi, esi
mov dword [ebx + 0x184], 3
nop dword [eax]
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x18]
and al, 3
mov byte [ebx + esi + 0x18c], al
inc esi
cmp esi, 0x24
jl 0x1012be90
jmp case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
cmp edx, 0x10
mov edi, edx
mov eax, 0x10
cmova edi, eax
lea edx, [esp + 0xb0]
push edi
mov eax, dword [ecx]
push 1
push edx
mov dword [esp + 0x70], edi
call dword [eax + 8]
xor edx, edx
xor esi, esi
mov dword [ebx + 0x184], edx
test edi, edi
je 0x1012bf45
mov edi, dword [ebx + 0x184]
cmp edi, 4
jge 0x1012bf17
movzx ecx, byte [esp + esi + 0xb0]
mov eax, 1
shl eax, cl
and eax, edx
neg eax
sbb eax, eax
inc esi
inc eax
bts edx, ecx
add eax, edi
mov dword [ebx + 0x184], eax
cmp esi, dword [esp + 0x64]
jb 0x1012bee4
cmp edx, 0x38
jne 0x1012bf32
mov ax, word [0x10267bcc]
mov word [esp + 0x3c], ax
mov al, byte [0x10267bce]
mov byte [esp + 0x3e], al
jmp 0x1012bf45
mov eax, dword [esp + 0x3c]
cmp edx, 0x3a
mov ecx, 0x1040305
cmove eax, ecx
mov dword [esp + 0x3c], eax
mov edx, dword [ebx + 0x184]
xor ecx, ecx
test edx, edx
jle 0x1012bf62
movzx eax, byte [esp + ecx + 0x3c]
mov byte [esp + eax + 0x280], cl
inc ecx
cmp ecx, edx
jl 0x1012bf51
mov byte [ecx + ebx + 0x1d4], 0
mov esi, 0x10
mov edi, dword [ebx + 0x188]
mov ebx, dword [esp + 0x64]
nop dword [eax]
dec esi
lea edi, [edi*4]
xor edx, edx
mov eax, esi
div ebx
movzx eax, byte [esp + edx + 0xb0]
movzx ecx, byte [esp + eax + 0x280]
or edi, ecx
test esi, esi
jne 0x1012bf80
mov ebx, dword [esp + 0x40]
xor eax, eax
test edi, edi
sete al
sub edi, eax
mov dword [ebx + 0x188], edi
jmp case.0x1012be67.64773
mov esi, dword [ebx + 0x49280]
mov ecx, ebx
push 0
mov edi, dword [esi]
call fcn.10114f90
add eax, dword [ebp + 8]
mov ecx, esi
push 0
push eax
call dword [edi + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push edi
call fcn.10129ae0
jmp 0x1012c05f
cmp edx, 0xd
jb case.0x1012be67.64773
mov ecx, dword [ebx + 0x49280]
push 1
push 0
push 0x10
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, ebx
call fcn.10114f90
mov ecx, dword [ebx + 0x49280]
push 1
mov dword [ebx + 0x492f8], eax
mov dword [ebx + 0x492fc], 0
mov eax, dword [ecx]
push 0
push 0x1c
call dword [eax + 0xc]
mov ecx, ebx
call fcn.10114f90
add dword [ebx + 0x492f8], eax
mov dword [ebx + 0x4f5d8], 0x1011d150
adc dword [ebx + 0x492fc], 0
jmp case.0x1012be67.64773
cmp edi, 2
jne case.0x1012be67.64773
lea eax, [ebx + 0x248e8]
mov ecx, dword [ebx + 0x49280]
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 0x49280]
push 0
push 0
push dword [esp + 0x80]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x10129ee3
test esi, esi
je 0x1012c105
push esi
mov ecx, ebx
call fcn.10135620
mov esi, eax
test esi, esi
je 0x1012c105
mov ecx, dword [ebx + 0x49280]
mov eax, dword [esp + 0x44]
push 0
push 0
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov ecx, dword [ebx + 0x49280]
mov edi, dword [esp + 0x10]
push 1
push edi
mov eax, dword [ecx]
push esi
call dword [eax + 8]
mov eax, dword [esp + 0x50]
mov ecx, ebx
push eax
push 1
mov eax, edi
shr eax, 2
push eax
push esi
call fcn.10121930
mov ecx, dword [ebx + 0x49280]
push edi
push esi
mov eax, dword [ecx]
call dword [eax + 0x44]
test eax, eax
jne 0x1012c0fd
mov eax, dword [esp + 0x44]
mov ecx, ebx
neg eax
push eax
call fcn.10129db0
mov ecx, dword [ebx + 0x49280]
mov eax, dword [ecx]
call dword [eax + 0x48]
push esi
mov ecx, ebx
call fcn.10135700
mov esi, dword [ebx + 0x184]
xor edx, edx
test esi, esi
jle 0x1012c14d
lea edi, [esp + 0x1a0]
nop dword [eax + eax]
movsd xmm1, qword [esp + edx*8 + 0xe0]
mov eax, edi
mov ecx, esi
nop dword [eax]
lea eax, [eax + 8]
movaps xmm0, xmm1
mulsd xmm0, qword [eax - 8]
movsd qword [eax - 8], xmm0
sub ecx, 1
jne 0x1012c130
inc edx
add edi, 0x20
cmp edx, esi
jl 0x1012c120
mov edx, dword [esp + 0x48]
test edx, edx
je 0x1012c20c
test esi, esi
jle 0x1012c1f2
lea eax, [esp + 0x1a0]
mov dword [esp + 0x50], esi
mov dword [esp + 0x44], eax
lea edx, [esp + 0x140]
nop word [eax + eax]
xor edi, edi
nop dword [eax]
nop word [eax + eax]
movsd xmm1, qword [esp + edi + 0x98]
lea ecx, [esp + 0x220]
xorps xmm0, xmm0
add ecx, edi
movsd qword [edx], xmm0
nop dword [eax]
movsd xmm0, qword [ecx]
add ecx, 0x18
mulsd xmm0, qword [eax]
add eax, 8
mulsd xmm0, xmm1
addsd xmm0, qword [edx]
movsd qword [edx], xmm0
sub esi, 1
jne 0x1012c1b0
mov esi, dword [ebx + 0x184]
add edi, 8
mov eax, dword [esp + 0x44]
add edx, 8
cmp edi, 0x18
jl 0x1012c190
add eax, 0x20
sub dword [esp + 0x50], 1
mov dword [esp + 0x44], eax
jne 0x1012c180
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [ebx + 0x2482c]
push eax
call fcn.10107e80
mov edx, dword [esp + 0x48]
movsd xmm0, qword [esp + 0xc0]
ucomisd xmm0, qword [0x1039bf08]
lahf
test ah, 0x44
jnp 0x1012c266
xor eax, eax
mov dword [ebx + 0x24818], 0
cmp dword [ebx + 0x184], eax
jle 0x1012c266
lea ecx, [ebx + 0x2480c]
nop dword [eax]
movsd xmm0, qword [0x1039c208]
lea ecx, [ecx + 4]
divsd xmm0, qword [esp + eax*8 + 0xc0]
inc eax
cvtpd2ps xmm0, xmm0
movss dword [ecx - 4], xmm0
cmp eax, dword [ebx + 0x184]
jl 0x1012c240
test edx, edx
jne 0x1012c2a5
xor ecx, ecx
cmp dword [ebx + 0x184], ecx
jle 0x1012c2a5
lea edx, [esp + 0x1a0]
lea eax, [ebx + 0x2481c]
movss xmm0, dword [eax]
lea eax, [eax + 4]
cvtps2pd xmm0, xmm0
inc ecx
lea edx, [edx + 0x28]
divsd xmm0, qword [edx - 0x28]
cvtpd2ps xmm0, xmm0
movss dword [eax - 4], xmm0
cmp ecx, dword [ebx + 0x184]
jl 0x1012c281
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4