Function at 0x1400fd090
Capabilities:
Authenticate hmac
Encode data using xor
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
xor ebx, ebx
mov dword [rcx + 0x3d0], 0xffffffff
mov qword [rcx + 0x24628], 0xffffffffffffffff
mov word [rcx + 0x24598], bx
mov dword [rcx + 0x408], ebx
mov word [rcx + 0x4502], bx
mov qword [rcx + 0x44f0], rbx
mov dword [rcx + 0x44f8], ebx
mov dword [rcx + 0x4440], ebx
mov byte [rcx + 0x29d], bl
mov byte [rcx + 0x2dd], bl
mov byte [rcx + 0x1d], bl
mov byte [rcx + 0x18], bl
lea rsi, [rcx + 0x25d]
lea r12, [rcx + 0x21d]
mov byte [rsi], bl
mov byte [r12], bl
mov rdi, rcx
mov dword [rcx + 0x3d8], ebx
mov qword [rcx + 0x3b8], rbx
mov qword [rcx + 0x3b0], rbx
mov dword [rcx + 0x414], ebx
add rcx, 0x55998
xor edx, edx
mov r8d, 0x1e0
call fcn.1401c0040
mov r14d, 0x80
lea rcx, [rdi + 0x446c]
mov r8d, r14d
xor edx, edx
call fcn.1401c0040
lea rcx, [rdi + 0x428]
xor edx, edx
mov r8d, 0x4018
call fcn.1401c0040
lea rcx, [rdi + 0x4518]
mov r8d, r14d
xor edx, edx
call fcn.1401c0040
lea rcx, [rdi + 0x245a8]
mov r8d, r14d
xor edx, edx
call fcn.1401c0040
lea rax, [fcn.14016a580]
mov r13d, 1
mov qword [rdi + 0x44728], rax
movabs rax, 0x3ff0000000000000
mov dword [rdi + 0x4504], ebx
mov qword [rdi + 0x3f0], rbx
mov qword [rdi + 0x3e4], rbx
mov qword [rdi + 0x44730], rbx
mov qword [rdi + 0x24638], rax
mov qword [rdi + 0x44720], rbx
mov qword [rdi + 0x41c], rbx
mov dword [rdi + 0x3e0], ebx
mov dword [rdi + 0x44ec], ebx
mov qword [rdi + 0x4458], rbx
mov qword [rdi + 0x444c], rbx
mov qword [rdi + 0x3c8], rbx
mov dword [rdi + 0x424], ebx
mov dword [rdi + 0x418], ebx
mov qword [rdi + 0x3c0], rbx
mov qword [rdi + 0x4460], rbx
mov dword [rdi + 0x3f8], ebx
mov dword [rdi + 0x4444], ebx
mov dword [rdi + 0x4448], r13d
mov dword [rdi + 0x4454], r13d
mov dword [rdi + 0x4468], ebx
mov edx, ebx
lea rcx, [rdi + 0x246ac]
nop dword [rax]
cmp edx, r13d
mov eax, ebx
lea rcx, [rcx + 4]
sete al
cmp edx, 3
movd xmm0, eax
mov eax, ebx
setl al
test edx, edx
cvtdq2ps xmm0, xmm0
movss dword [rcx - 0x14], xmm0
movd xmm0, eax
mov eax, ebx
sete al
cmp edx, r13d
cvtdq2ps xmm0, xmm0
movss dword [rcx - 4], xmm0
movd xmm0, eax
mov dword [rcx + 0xc], ebx
mov dword [rcx + 0x1c], ebx
mov dword [rcx + 0x2c], ebx
mov eax, ebx
sete al
cmp edx, 2
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x3c], xmm0
movd xmm0, eax
mov eax, ebx
sete al
inc edx
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x4c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x5c], xmm0
cmp edx, 4
jl 0x1400fd260
mov eax, 3
lea rcx, [rdi + 0x4598]
mov dword [rdi + 0x24630], eax
mov eax, ebx
nop dword [rax + rax]
mov word [rcx], ax
inc eax
lea rcx, [rcx + 2]
cmp eax, 0x10000
jl 0x1400fd2f0
mov rcx, rdi
call fcn.1400fbbe0
mov rcx, rdi
mov word [rdi], ax
call fcn.1400fbc20
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
xor edx, edx
mov r14d, eax
call fcn.1401c1f88
mov r9, qword [rdi + 0x55ba0]
mov ebx, 0x20
lea rcx, [rbp + 0x1c0]
mov r8d, ebx
mov rdx, r13
call fcn.1401c1e14
mov rcx, qword [rdi + 0x55ba0]
lea r8d, [rbx - 0x1e]
xor edx, edx
call fcn.1401c1f88
mov rcx, qword [rdi + 0x55ba0]
call fcn.1401c2310
lea r9d, [rbx - 0x1c]
lea r8, str.MMMM
lea rcx, [rbp + 0x1c0]
mov edx, ebx
mov dword [rsp + 0x30], eax
call fcn.140106d90
mov r13d, 0x40
mov rbx, rax
test rax, rax
jne 0x1400fdce3
lea r9d, [rax + 4]
lea r8, str.IIII
lea edx, [rax + 0x20]
lea rcx, [rbp + 0x1c0]
call fcn.140106d90
mov rbx, rax
test rax, rax
jne 0x1400fdce3
movzx eax, word [rdi]
mov r10d, 0x4949
cmp ax, r10w
je 0x1400fdca1
mov ecx, 0x4d4d
cmp ax, cx
je 0x1400fdca1
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [0x140230bf4]
jne 0x1400fd457
mov eax, dword [rbp + 0x1c6]
cmp eax, dword [0x14020ea04]
jne 0x1400fd457
mov rcx, qword [rdi + 0x55ba0]
lea edx, [rbx + 4]
xor r8d, r8d
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbbe0
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
movzx edx, ax
add edx, 4
mov dword [rdi + 0x3e0], edx
call fcn.1401c1f88
mov rcx, qword [rdi + 0x55ba0]
call fcn.1401c3f28
cmp eax, 0xff
je 0x1400fd448
lea edx, [rbx + 0xc]
mov rcx, rdi
call fcn.14010e850
xor r14d, r14d
mov dword [rdi + 0x3e4], r14d
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1d9]
cmp eax, dword [str.ARECOYK]
jne 0x1400fd534
movzx eax, word [rbp + 0x1dd]
cmp ax, word [0x140230c04]
jne 0x1400fd534
movzx eax, byte [rbp + 0x1df]
cmp al, byte [0x140230c06]
jne 0x1400fd534
mov eax, dword [str.Contax]
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov dword [r12], eax
movzx eax, word [0x140230c0c]
lea edx, [r8 + 0x21]
mov word [r12 + 4], ax
movzx eax, byte [0x140230c0e]
mov byte [r12 + 6], al
movsd xmm0, qword [str.N_Digital]
movsd qword [rsi], xmm0
movzx eax, word [0x140230c18]
mov word [rsi + 8], ax
call fcn.1401c1f88
mov edx, 1
mov rcx, rdi
call fcn.1400fc010
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
lea edx, [r8 + 0x3c]
call fcn.1401c1f88
xor ebx, ebx
lea r14d, [rbx + 4]
mov rcx, rdi
call fcn.1400fbc20
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov rax, rbx
sar rax, 1
xor rax, rbx
inc rbx
movss dword [rdi + rax*4 + 0x2469c], xmm0
dec r14
jne 0x1400fd503
jmp 0x1400fdd18
xor r14d, r14d
lea rdx, [rbp + 0x1c0]
lea r8, [0x140230c1c]
mov ecx, r14d
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fd58d
cmp rcx, 4
jne 0x1400fd550
movsd xmm0, qword [str.Logitech]
movsd qword [r12], xmm0
movzx eax, byte [0x140230c28]
mov byte [r12 + 8], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [rsi], xmm0
jmp 0x1400fdd1b
mov rcx, r14
lea rdx, [rbp + 0x1c0]
lea r8, str.qktk
mov r9d, 5
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fd60d
cmp rcx, r9
jne 0x1400fd5b0
mov eax, dword [str.Apple]
mov dword [r12], eax
movzx eax, word [0x140230c4c]
mov word [r12 + 4], ax
movsd xmm0, qword [str.QuickTake_100]
movsd qword [rsi], xmm0
mov eax, dword [0x140230c58]
mov dword [rsi + 8], eax
movzx eax, word [0x140230c5c]
mov word [rsi + 0xc], ax
lea rax, [0x140113f10]
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1b
mov rcx, r14
lea rdx, [rbp + 0x1c0]
lea r8, str.qktn
nop
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fd67d
cmp rcx, r9
jne 0x1400fd620
mov eax, dword [str.Apple]
mov dword [r12], eax
movzx eax, word [0x140230c4c]
mov word [r12 + 4], ax
movsd xmm0, qword [str.QuickTake_150]
movsd qword [rsi], xmm0
mov eax, dword [0x140230c70]
mov dword [rsi + 8], eax
movzx eax, word [0x140230c74]
mov word [rsi + 0xc], ax
lea rax, [0x140102950]
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1b
mov rcx, qword [rbp + 0x1c0]
cmp rcx, qword [str.FUJIFILM]
jne 0x1400fd7b3
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
lea edx, [r8 + 0x54]
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov rcx, rdi
mov dword [rdi + 0x3e4], eax
call fcn.1400fbc20
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov dword [rdi + 0x3f0], eax
lea edx, [r8 + 0x5c]
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov rcx, rdi
mov edx, eax
call fcn.14010aa20
cmp dword [rdi + 0x3e4], 0x78
jle 0x1400fd733
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
lea edx, [r8 + 0x78]
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov ecx, r14d
test eax, eax
setne cl
add dword [rdi + 0x4454], ecx
cmp dword [rdi + 0x4454], 2
jne 0x1400fd733
cmp dword [rdi + 0x40c], r14d
je 0x1400fd733
mov edx, eax
mov rcx, rdi
call fcn.14010aa20
mov rcx, qword [rdi + 0x55ba0]
mov eax, r14d
cmp dword [rdi + 0x40c], eax
seta al
xor r8d, r8d
imul edx, eax, 0x1c
add edx, 0x64
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov rcx, rdi
mov edx, eax
mov dword [rdi + 0x3e0], eax
call fcn.14010e850
mov edx, dword [rdi + 0x3e4]
mov rcx, rdi
add edx, 0xc
call fcn.14010e850
mov rcx, rdi
call fcn.1400f1a60
mov ebx, dword [rsp + 0x30]
cmp qword [rdi + 0x44720], r14
jne 0x1400fdd1f
lea rax, [0x140118870]
mov dword [rdi + 0x41c], 0xe
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1f
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [str.RIFF]
jne 0x1400fd7df
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
xor edx, edx
call fcn.1401c1f88
mov rcx, rdi
call fcn.14010de70
jmp 0x1400fdd1b
mov rax, qword [rbp + 0x1c4]
cmp rax, qword [str.ftypcrx]
jne 0x1400fd813
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
xor edx, edx
call fcn.1401c1f88
mov ebx, dword [rsp + 0x30]
mov rcx, rdi
mov edx, ebx
call fcn.140109a00
jmp 0x1400fdd1f
cmp rax, qword [str.ftypqt]
jne 0x1400fd856
movzx eax, byte [rbp + 0x1cc]
cmp al, byte [0x140230c90]
jne 0x1400fd856
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
xor edx, edx
call fcn.1401c1f88
mov ebx, dword [rsp + 0x30]
mov rcx, rdi
mov edx, ebx
call fcn.14010dbb0
mov dword [rdi + 0x4454], r14d
jmp 0x1400fdd1f
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [0x140230c94]
jne 0x1400fd92b
movzx eax, word [rbp + 0x1c4]
cmp ax, word [0x140230c98]
jne 0x1400fd92b
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
lea edx, [r8 + 6]
call fcn.1401c1f88
mov r9, qword [rdi + 0x55ba0]
mov ebx, 1
lea r8d, [rbx + 7]
mov edx, ebx
mov rcx, r12
call fcn.1401c1e14
mov r9, qword [rdi + 0x55ba0]
lea r8d, [rbx + 7]
mov edx, ebx
mov rcx, rsi
call fcn.1401c1e14
mov r9, qword [rdi + 0x55ba0]
lea r8d, [rbx + 0xf]
lea rcx, [rdi + 0x29d]
mov edx, ebx
call fcn.1401c1e14
mov rcx, rdi
call fcn.1400fbbe0
mov rcx, rdi
movzx eax, ax
mov dword [rdi + 0x3e0], eax
call fcn.1400fbbe0
mov rcx, rdi
call fcn.1400fbbe0
mov rcx, rdi
mov word [rdi + 0x44f2], ax
call fcn.1400fbbe0
mov dword [rdi + 0x3d0], 0x61616161
mov word [rdi + 0x44f0], ax
lea rax, [0x1401078d0]
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1b
cmp rcx, qword [str.NOKIARAW]
jne 0x1400fda20
mov eax, dword [str.NOKIA]
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov dword [r12], eax
movzx eax, word [0x140230cb0]
mov edx, 0x12c
mov word [r12 + 4], ax
mov word [rdi], r10w
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov rcx, rdi
mov dword [rdi + 0x3e0], eax
call fcn.1400fbc20
mov rcx, rdi
mov ebx, eax
call fcn.1400fbbe0
mov rcx, rdi
mov word [rdi + 0x44f6], ax
call fcn.1400fbbe0
movzx r9d, word [rdi + 0x44f6]
movzx r8d, ax
lea eax, [rbx*8]
mov ecx, r8d
cdq
mov word [rdi + 0x44f4], r8w
imul ecx, r9d
idiv ecx
mov ecx, eax
mov dword [rdi + 0x41c], eax
cmp eax, 8
je 0x1400fd9d6
cmp eax, 0xa
jne 0x1400fd9e4
lea rax, [0x1401078d0]
jmp 0x1400fd9dd
lea rax, [0x1400f6b90]
mov qword [rdi + 0x44720], rax
imul ecx, r9d
xor edx, edx
mov eax, ebx
shr ecx, 3
div ecx
sub eax, r8d
add r8w, ax
mov word [rdi + 0x44f8], ax
mov word [rdi + 0x44f0], r8w
mov dword [rdi + 0x245b4], 1
mov dword [rdi + 0x3d0], 0x61616161
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [str.ARRI]
jne 0x1400fdada
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov word [rdi], r10w
lea edx, [r8 + 0x14]
call fcn.1401c1f88
mov rcx, rdi
call fcn.1400fbc20
mov rcx, rdi
mov word [rdi + 0x44f6], ax
call fcn.1400fbc20
mov rcx, qword [rdi + 0x55ba0]
mov word [rdi + 0x44f4], ax
mov eax, dword [str.ARRI]
xor r8d, r8d
mov dword [r12], eax
movzx eax, byte [0x140230cb8]
mov edx, 0x29c
mov byte [r12 + 4], al
call fcn.1401c1f88
mov r9, qword [rdi + 0x55ba0]
mov r8, r13
mov edx, 1
mov rcx, rsi
call fcn.1401c1e14
mov eax, 0x1000
mov dword [rdi + 0x44ec], 0x58
mov dword [rdi + 0x3e0], eax
lea rax, [0x1401080a0]
mov dword [rdi + 0x3d0], 0x61616161
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [str.XPDS]
jne 0x1400fdba4
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov edx, 0x800
mov word [rdi], r10w
call fcn.1401c1f88
mov r9, qword [rdi + 0x55ba0]
mov r14d, 1
mov r8d, 0x29
mov rcx, r12
mov edx, r14d
call fcn.1401c1e14
mov rcx, rdi
call fcn.1400fbbe0
mov rcx, rdi
mov word [rdi + 0x44f0], ax
call fcn.1400fbbe0
mov rcx, qword [rdi + 0x55ba0]
lea edx, [r14 + 0x37]
mov r8d, r14d
mov word [rdi + 0x44f2], ax
call fcn.1401c1f88
mov r9, qword [rdi + 0x55ba0]
lea r8d, [r14 + 0x1d]
mov edx, r14d
mov rcx, rsi
call fcn.1401c1e14
lea rax, [0x1400f3fc0]
mov r9d, r14d
movsd xmm2, qword [0x140231650]
xorps xmm1, xmm1
mov rcx, rdi
mov dword [rdi + 0x3e0], 0x10000
mov dword [rsp + 0x20], 0x3ff
mov qword [rdi + 0x44720], rax
call fcn.1400fb7e0
jmp 0x1400fdd18
mov eax, dword [rbp + 0x1c4]
cmp eax, dword [str.RED1]
jne 0x1400fdc0b
mov rcx, rdi
mov dword [r12], 0x646552
mov dword [rsi], 0x656e4f
call fcn.14010dcc0
lea rax, [fcn.14016a580]
mov r9d, 1
movsd xmm2, qword [0x140231660]
movsd xmm1, qword [0x140269a90]
mov rcx, rdi
mov dword [rsp + 0x20], 0xfff
mov qword [rdi + 0x44720], rax
call fcn.1400fb7e0
mov dword [rdi + 0x3d0], 0x49494949
jmp 0x1400fdd1b
cmp rcx, qword [str.DSC_Image]
jne 0x1400fdc30
movzx eax, byte [rbp + 0x1c8]
cmp al, byte [0x140230cd8]
jne 0x1400fdc30
mov rcx, rdi
call fcn.14010e100
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [str.PWAD]
jne 0x1400fdc4b
mov rcx, rdi
call fcn.14010e430
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [0x140230ce4]
jne 0x1400fdc68
xor edx, edx
mov rcx, rdi
call fcn.14010cf80
jmp 0x1400fdd1b
mov eax, dword [rbp + 0x1c0]
cmp eax, dword [str.FOVb]
jne 0x1400fdc83
mov rcx, rdi
call fcn.14010a3e0
jmp 0x1400fdd1b
movzx eax, word [rbp + 0x1c0]
cmp ax, word [0x140230cf4]
jne 0x1400fdd1b
mov rcx, rdi
call fcn.1401096c0
jmp 0x1400fdd1b
mov rax, qword [rbp + 0x1c6]
mov rcx, rdi
cmp rax, qword [str.HEAPCCDR]
jne 0x1400fdd05
mov ebx, dword [rsp + 0x30]
xor r9d, r9d
mov edx, r14d
mov r8d, ebx
mov dword [rdi + 0x3e0], r14d
sub r8d, r14d
call fcn.140108620
lea rax, [0x1400f3bf0]
xor r14d, r14d
mov qword [rdi + 0x44720], rax
jmp 0x1400fdd1f
lea rax, [rbp + 0x1c0]
mov edx, ebx
mov rcx, rdi
sub edx, eax
call fcn.14010d5f0
lea rax, [rbp + 0x1c0]
cmp rbx, rax
je 0x1400fdd18
mov rcx, rdi
xor edx, edx
call fcn.14010e850
test eax, eax
je 0x1400fdd18
mov rcx, rdi
call fcn.1400f1a60
xor r14d, r14d
mov ebx, dword [rsp + 0x30]
cmp byte [r12], 0
lea r10, [0x140000000]
mov r15d, r14d
jne 0x1400fe10d
mov rax, r14
mov r13d, 1
nop dword [rax]
lea r14, [rax + rax*2]
shl r14, 4
cmp ebx, dword [r14 + r10 + 0x22f840]
jne 0x1400fdfab
lea rcx, [r10 + 0x22f850]
mov rdx, r12
add rcx, r14
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400fdd70
lea rcx, [r10 + 0x22f85a]
mov rdx, rsi
add rcx, r14
sub rdx, rcx
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400fdd90
movzx eax, byte [r14 + r10 + 0x22f84f]
shr eax, 2
mov dword [rdi + 0x24628], eax
movzx eax, byte [r14 + r10 + 0x22f84f]
and eax, 2
mov dword [rdi + 0x444c], eax
movzx ebx, word [r14 + r10 + 0x22f86e]
mov dword [rdi + 0x3e0], ebx
movzx eax, word [r14 + r10 + 0x22f844]
mov word [rdi + 0x44f2], ax
movzx r9d, word [r14 + r10 + 0x22f846]
mov r11d, eax
mov word [rdi + 0x44f0], r9w
movzx edx, byte [r14 + r10 + 0x22f848]
movzx ecx, r11w
mov word [rdi + 0x44fa], dx
movzx r8d, byte [r14 + r10 + 0x22f849]
mov word [rdi + 0x44f8], r8w
movzx eax, byte [r14 + r10 + 0x22f84a]
mov r10d, r9d
sub cx, ax
sub cx, dx
lea rdx, [0x140000000]
mov word [rdi + 0x44f6], cx
movzx eax, byte [r14 + rdx + 0x22f84b]
movzx ecx, r9w
sub cx, ax
sub cx, r8w
mov word [rdi + 0x44f4], cx
movzx eax, byte [r14 + rdx + 0x22f84d]
imul ecx, eax, 0x1010101
mov eax, ecx
mov dword [rdi + 0x3d0], ecx
shr eax, 1
and eax, ecx
mov ecx, 0
test eax, 0x5555
mov eax, 4
sete cl
sub eax, ecx
mov dword [rdi + 0x24630], eax
movzx r9d, byte [r14 + rdx + 0x22f84c]
mov eax, dword [rsp + 0x30]
imul r10d, r11d
sub eax, ebx
mov dword [rdi + 0x44ec], r9d
shl eax, 3
cdq
idiv r10d
mov r8d, eax
mov dword [rdi + 0x41c], eax
cmp eax, 6
je 0x1400fdf71
cmp eax, 8
je 0x1400fdf68
lea ecx, [rax - 0xa]
test ecx, 0xfffffffd
je 0x1400fdf25
cmp eax, 0x10
jne 0x1400fdf7f
movzx eax, r9w
mov ecx, 0x404
and ax, r13w
imul ax, cx
mov ecx, 0x4949
or ax, cx
mov word [rdi], ax
mov eax, r9d
shr r9d, 1
shr eax, 4
and r9d, 7
sub r8d, eax
mov dword [rdi + 0x44ec], r9d
lea rax, [0x140118870]
mov dword [rdi + 0x41c], r8d
sub dword [rdi + 0x41c], r9d
jmp 0x1400fdf78
or dword [rdi + 0x44ec], 0x200
lea r8, [0x1401f6b68]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fdf5f
cmp rcx, 6
jne 0x1400fdf40
or dword [rdi + 0x44ec], 0x100
lea rax, [0x1401080a0]
jmp 0x1400fdf78
lea rax, [0x1400f6b90]
jmp 0x1400fdf78
lea rax, [0x140106a70]
mov qword [rdi + 0x44720], rax
mov ebx, dword [rsp + 0x30]
lea r10, [0x140000000]
mov edx, r13d
movzx ecx, byte [r14 + r10 + 0x22f84e]
mov eax, r13d
shl edx, cl
mov ecx, dword [rdi + 0x41c]
shl eax, cl
sub eax, edx
mov dword [rdi + 0x4440], eax
inc r15d
movsxd rax, r15d
cmp rax, 0x66
jb 0x1400fdd40
mov r15d, dword [rsp + 0x30]
xor r14d, r14d
mov r13d, 0x40
cmp byte [r12], r14b
jne 0x1400fe10d
mov r8d, r15d
xor edx, edx
mov rcx, rdi
call fcn.14010e670
cmp byte [r12], r14b
jne 0x1400fe10d
xor edx, edx
mov rcx, rdi
call fcn.14010ae60
mov ebx, 2
lea rdx, [0x140230cf8]
mov r8d, ebx
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x1400fe02a
lea r8d, [r13 - 0x3b]
lea rdx, str.RP_OV
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe106
mov rcx, qword [rdi + 0x55ba0]
mov r8d, ebx
mov edx, 0xff9e4800
call fcn.1401c1f88
test eax, eax
jne 0x1400fe106
mov r9, qword [rdi + 0x55ba0]
lea edx, [rax + 1]
lea r8d, [rax + 0x20]
lea rcx, [rbp + 0x1c0]
call fcn.1401c1e14
test rax, rax
je 0x1400fe106
mov rcx, r14
lea rdx, [rbp + 0x1c0]
lea r8, str.BRCMn
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe106
cmp rcx, 6
jne 0x1400fe080
movsd xmm0, qword [str.OmniVision]
mov rcx, qword [rdi + 0x55ba0]
movsd qword [r12], xmm0
movzx eax, word [0x1402218b0]
mov word [r12 + 8], ax
movzx eax, byte [0x1402218b2]
mov byte [r12 + 0xa], al
call fcn.1401c2310
mov dword [rdi + 0x3d0], 0x16161616
add eax, 0x7fe0
mov dword [rdi + 0x3e0], eax
movzx eax, word [rdi + 0x44f2]
mov word [rdi + 0x44f6], ax
mov eax, 0xa33
mov word [rdi + 0x44f2], ax
lea rax, [0x1401078d0]
mov qword [rdi + 0x44720], rax
jmp 0x1400fe10d
mov dword [rdi + 0x4454], r14d
xor ebx, ebx
lea rsi, [0x140000000]
nop word [rax + rax]
mov rdx, qword [rsi + rbx*8 + 0x2a1940]
mov rcx, r12
call fcn.140106e50
test rax, rax
je 0x1400fe15f
mov rcx, qword [rsi + rbx*8 + 0x2a1940]
mov rdx, r12
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x1400fe150
inc r14d
movsxd rbx, r14d
cmp rbx, 0x16
jb 0x1400fe120
xor edx, edx
lea r9, [0x140222c04]
lea rsi, [rdi + 0x25d]
lea ebx, [rdx + 6]
mov ecx, edx
movzx eax, byte [r12 + rcx]
inc rcx
lea r8, str.Leica
cmp al, byte [r9 + rcx - 1]
jne 0x1400fe19d
cmp rcx, rbx
jne 0x1400fe180
jmp 0x1400fe1b4
mov rcx, rdx
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe1df
cmp rcx, rbx
jne 0x1400fe1a0
lea rdx, str._DIGITAL_CAMERA
mov rcx, rsi
call fcn.140106e50
test rax, rax
jne 0x1400fe1dc
lea rdx, str.FILE_VERSION
mov rcx, rsi
call fcn.1401c2aac
test rax, rax
je 0x1400fe1df
mov byte [rax], 0
lea rdx, [0x1401f6b38]
mov r8, rbx
mov rcx, rsi
call fcn.1401c6390
test eax, eax
jne 0x1400fe218
mov eax, dword [0x1401f6b70]
mov dword [r12], eax
movzx eax, word [0x1401f6b74]
mov word [r12 + 4], ax
movzx eax, byte [0x1401f6b76]
mov byte [r12 + 6], al
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r12 + rax], 0
jne 0x1400fe220
add rax, 0x21c
add rax, rdi
cmp byte [rax], 0x20
jne 0x1400fe24d
nop dword [rax + rax]
mov byte [rax], 0
cmp byte [rax - 1], 0x20
lea rax, [rax - 1]
je 0x1400fe240
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x1400fe251
add rax, 0x25c
add rax, rdi
cmp byte [rax], 0x20
jne 0x1400fe27d
nop dword [rax + rax]
mov byte [rax], 0
cmp byte [rax - 1], 0x20
lea rax, [rax - 1]
je 0x1400fe270
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r12 + rbx], 0
jne 0x1400fe281
movsxd r14, ebx
mov rdx, r12
mov rcx, rsi
mov r8, r14
call fcn.1401c6390
test eax, eax
jne 0x1400fe2c8
inc ebx
cmp byte [r14 + rdi + 0x25d], 0x20
jne 0x1400fe2c8
sub r13d, ebx
movsxd rax, ebx
lea rdx, [rdi + 0x25d]
add rdx, rax
movsxd r8, r13d
mov rcx, rsi
call fcn.1401bd6e0
lea rdx, str.FinePix
mov r8d, 8
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe2ff
lea rcx, [rdi + 0x265]
mov rdx, rsi
sub rdx, rcx
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x1400fe2f0
lea rdx, str.Digital_Camera
mov r8d, 0xf
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe33f
lea rcx, [rdi + 0x26c]
mov rdx, rsi
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x1400fe330
mov byte [rdi + 0x2dc], 0
mov byte [rdi + 0x29c], 0
mov byte [rdi + 0x25c], 0
mov byte [rdi + 0x31c], 0
mov byte [rdi + 0x21c], 0
cmp dword [rdi + 0x4454], 0
je 0x1401019bd
cmp word [rdi + 0x44f4], 0
jne 0x1400fe387
movzx eax, word [rdi + 0x44f0]
mov word [rdi + 0x44f4], ax
cmp word [rdi + 0x44f6], 0
jne 0x1400fe39f
movzx eax, word [rdi + 0x44f2]
mov word [rdi + 0x44f6], ax
mov eax, 0xa40
cmp word [rdi + 0x44f4], ax
jne 0x1400fe3c5
mov eax, 0xf60
cmp word [rdi + 0x44f6], ax
jne 0x1400fe3c5
mov dword [rdi + 0x44f4], 0xf380a38
mov r9d, 0xc40
cmp word [rdi + 0x44f4], r9w
jne 0x1400fe3f7
mov eax, 0x1300
cmp word [rdi + 0x44f6], ax
jne 0x1400fe3f7
mov dword [rdi + 0x44f4], 0x12500c34
mov dword [rdi + 0x3d0], 0x16161616
movzx edx, word [rdi + 0x44f0]
mov eax, 0xb34
xor r13d, r13d
cmp dx, ax
jne 0x1400fe469
mov ecx, r13d
lea r8, [0x140230d50]
lea r10d, [r13 + 4]
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe435
cmp rcx, r10
jne 0x1400fe420
jmp 0x1400fe453
mov rcx, r13
lea r8, [0x140230d54]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe469
cmp rcx, r10
jne 0x1400fe440
mov eax, 0x10d5
mov dword [rdi + 0x3d0], 0x16161616
mov word [rdi + 0x44f6], ax
cmp dx, r9w
jne 0x1400fe4b4
mov rcx, r13
lea r8, [0x140230d58]
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe4b4
cmp rcx, 4
jne 0x1400fe480
mov eax, 2
mov dword [rdi + 0x44f4], 0x124c0c32
mov dword [rdi + 0x3d0], 0x16161616
mov word [rdi + 0x44f8], ax
mov eax, 0xcd4
mov ebx, 0x1356
mov r14d, 0xa
cmp dx, ax
jne 0x1400fe4f9
lea r8d, [r14 - 7]
lea rdx, [0x140230d5c]
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe4f9
mov word [rdi + 0x44fa], r14w
mov word [rdi + 0x44f6], bx
mov dword [rdi + 0x3d0], 0x16161616
mov eax, 0xce4
cmp word [rdi + 0x44f0], ax
jne 0x1400fe534
lea rdx, str.K_50
mov r8d, 4
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe534
mov dword [rdi + 0x44f4], 0x13580cd8
mov dword [rdi + 0x44f8], 0xc
mov eax, 0xe50
cmp word [rdi + 0x44f0], ax
jne 0x1400fe56f
lea rdx, [0x140230d68]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400fe56f
mov eax, 0x1574
mov word [rdi + 0x44fa], r13w
mov word [rdi + 0x44f6], ax
movzx edx, word [rdi + 0x44f0]
mov r9d, 0xfc0
cmp dx, r9w
jne 0x1400fe5b7
mov rcx, r13
lea r8, [0x140230d6c]
mov r10d, 4
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe5b7
cmp rcx, r10
jne 0x1400fe592
mov dword [rdi + 0x44f4], 0x17980fc0
mov word [rdi + 0x44fa], r10w
mov eax, 0xfdc
cmp dx, ax
jne 0x1400fe5f8
movzx eax, byte [rsi]
cmp al, byte [0x140230d70]
jne 0x1400fe5f8
movzx eax, byte [rsi + 1]
cmp al, byte [0x140230d71]
jne 0x1400fe5f8
movzx eax, byte [rsi + 2]
cmp al, byte [0x140230d72]
jne 0x1400fe5f8
mov dword [rdi + 0x44f4], 0x17900fc0
mov dword [rdi + 0x44f8], 0x34001c
mov r9d, 0x12
cmp dx, bx
jne 0x1400fe638
mov rcx, r13
lea r8, [0x140230d74]
lea r10d, [r9 - 0xe]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1400fe638
cmp rcx, r10
jne 0x1400fe611
mov dword [rdi + 0x44f4], 0x1cd41344
mov dword [rdi + 0x44f8], 0x40012
mov eax, 0x15b0
cmp dx, ax
jne 0x1400fe685
mov rcx, r13
lea rdx, str.645D
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fe685
mov eax, 5
cmp rcx, rax
jne 0x1400fe650
mov dword [rdi + 0x44f4], 0x1ca0157e
mov dword [rdi + 0x44f8], 0x30001d
mov dword [rdi + 0x3d0], 0x61616161
mov eax, 0xbc6
cmp word [rdi + 0x44f4], ax
jne 0x1400fe6ad
mov eax, 0x1000
cmp word [rdi + 0x44f6], ax
jne 0x1400fe6ad
mov eax, 0xfae
mov word [rdi + 0x44f6], ax
cmp dword [rdi + 0x4458], 0
mov r14d, 0x94949494
je 0x1400fe756
cmp dword [rdi + 0x3d0], 0xffffffff
jne 0x1400fe6d0
mov dword [rdi + 0x3d0], r13d
cmp dword [rdi + 0x3d0], 0
je 0x1400fe6ee
mov eax, dword [rdi + 0x4454]
imul eax, dword [rdi + 0x418]
mov dword [rdi + 0x4454], eax
jmp 0x1400fe6fa
mov eax, dword [rdi + 0x418]
mov dword [rdi + 0x24630], eax
mov eax, dword [rdi + 0x420]
cmp eax, 1
jbe 0x1400fe743
cmp eax, 7
je 0x1400fe730
cmp eax, 0x884c
jne 0x1400fe724
lea rax, [0x140106040]
mov qword [rdi + 0x44720], rax
jmp 0x140101758
mov qword [rdi + 0x44720], r13
jmp 0x140101758
lea rax, [0x140105b00]
mov qword [rdi + 0x44720], rax
jmp 0x140101758
lea rax, [0x140107f60]
mov qword [rdi + 0x44720], rax
jmp 0x140101758
mov rcx, r13
lea rdx, [0x1401f6b68]
movzx eax, byte [r12 + rcx]
inc rcx
lea r8, [0x140105e20]
cmp al, byte [rdx + rcx - 1]
jne 0x1400fe8c0
cmp rcx, 6
jne 0x1400fe760
test r15d, r15d
jne 0x1400fe8c0
cmp dword [rdi + 0x41c], 0xf
je 0x1400fe8c0
cmp qword [rdi + 0x44720], 0
jne 0x1400fe7a6
mov qword [rdi + 0x44720], r8
mov r10d, r13d
mov rax, r13
lea r11, [0x140000000]
movzx r9d, word [rdi + 0x44f2]
imul rdx, rax, 0x16
cmp r9w, word [rdx + r11 + 0x22e770]
jne 0x1400fe88c
movzx r8d, word [rdi + 0x44f0]
cmp r8w, word [rdx + r11 + 0x22e772]
jne 0x1400fe88c
movzx eax, word [rdx + r11 + 0x22e774]
sub r9w, word [rdx + r11 + 0x22e778]
movzx ecx, word [rdx + r11 + 0x22e776]
sub r8w, word [rdx + r11 + 0x22e77a]
mov word [rdi + 0x44fa], ax
sub r9w, ax
movzx eax, word [rdx + r11 + 0x22e77c]
mov word [rdi + 0x44f8], cx
mov word [rdi + 0x44f6], r9w
sub r8w, cx
mov word [rdi + 0x44f4], r8w
mov dword [rdi + 0x245ac], eax
movzx eax, word [rdx + r11 + 0x22e77e]
neg eax
mov dword [rdi + 0x245b4], eax
movzx eax, word [rdx + r11 + 0x22e780]
mov dword [rdi + 0x245bc], eax
movzx eax, word [rdx + r11 + 0x22e782]
neg eax
mov dword [rdi + 0x245c4], eax
movzx eax, word [rdx + r11 + 0x22e784]
test ax, ax
je 0x1400fe88c
movzx eax, ax
imul ecx, eax, 0x1010101
mov dword [rdi + 0x3d0], ecx
inc r10d
movsxd rax, r10d
cmp rax, 0x2e
jb 0x1400fe7b3
mov eax, dword [rdi + 0x3d8]
lea rdx, [0x1401f6b68]
bts eax, 0x11
cmp eax, 0x2720000
jne 0x1400fe8c7
mov dword [rdi + 0x44f8], 0x80010
jmp 0x1400fe8c7
lea r11, [0x140000000]
mov r14d, r13d
mov rax, r13
nop dword [rax]
imul rcx, rax, 0x16
movzx eax, word [rcx + r11 + 0x22eb70]
add eax, 0x80000000
cmp dword [rdi + 0x3d8], eax
jne 0x1400fe946
lea rbx, [rcx + 0x22eb72]
mov rcx, rdi
add rbx, r11
mov r8, rbx
call fcn.1400f0850
cmp byte [rdi + 0x261], 0x4b
jne 0x1400fe93f
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rsi + rax], 0
jne 0x1400fe910
cmp rax, 8
jne 0x1400fe93f
mov rcx, rsi
sub rcx, rbx
nop word [rax + rax]
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
mov byte [rcx + rbx - 1], al
test al, al
jne 0x1400fe930
lea r11, [0x140000000]
inc r14d
lea rdx, [0x1401f6b68]
movsxd rax, r14d
cmp rax, 0x33
jb 0x1400fe8d0
mov r8d, r13d
mov rax, r13
imul rcx, rax, 0x16
movzx eax, word [rcx + r11 + 0x22efe0]
cmp dword [rdi + 0x3d8], eax
jne 0x1400fe99f
lea rcx, [rcx + 0x22efe2]
mov rdx, rsi
add rcx, r11
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x1400fe990
inc r8d
movsxd rax, r8d
cmp rax, 0x43
jb 0x1400fe963
mov ebx, r13d
mov rax, r13
lea rcx, [rax + rax*2]
lea r8, [rcx*4 + 0x22f5b0]
add r8, r11
cmp byte [r8], 0x40
jne 0x1400fe9da
lea rax, [rcx*4 + 0x22f5b1]
add rax, r11
mov qword [0x1402ed4d8], rax
jmp 0x1400fea14
mov rax, rsi
sub r8, rsi
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400fe9f3
inc rax
test ecx, ecx
jne 0x1400fe9e0
test edx, edx
jne 0x1400fea14
mov r8, qword [0x1402ed4d8]
lea rdx, str.Panasonic
mov rcx, rdi
call fcn.1400f0850
lea r11, [0x140000000]
inc ebx
movsxd rax, ebx
cmp rax, 0x36
jb 0x1400fe9b1
mov rcx, r13
lea rdx, [0x1401f6b54]
nop dword [rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fea7a
cmp rcx, 6
jne 0x1400fea30
cmp qword [rdi + 0x44720], 0
jne 0x1400fea5c
lea rax, [0x1401080a0]
mov qword [rdi + 0x44720], rax
cmp byte [rsi], 0x45
jne 0x1400fea7a
cmp dword [rdi + 0x3e0], 0
mov eax, r13d
sete al
shl eax, 2
or eax, 2
or dword [rdi + 0x44ec], eax
lea rdx, str.KAI_0340
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400feae7
mov eax, 0x10
mov r9d, 0xf00
mov rcx, rdi
mov r8d, eax
mov edx, eax
mov dword [rsp + 0x20], 0x1400
call fcn.1400f7000
movss xmm1, dword [0x1402316d0]
comiss xmm1, xmm0
jbe 0x1400feae7
mov eax, 0x1e0
mov dword [rdi + 0x3d0], r13d
mov word [rdi + 0x44f8], r13w
mov word [rdi + 0x44f4], ax
mov eax, dword [str.C603]
mov dword [rsi], eax
movzx eax, byte [0x140230d90]
mov byte [rsi + 4], al
mov rcx, r13
lea rbx, str.Sony
mov r14d, 5
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
mov r8d, 0xf30
cmp al, byte [rbx + rcx - 1]
jne 0x1400feb39
cmp rcx, r14
jne 0x1400feb00
cmp word [rdi + 0x44f2], r8w
jbe 0x1400feb39
mov ecx, dword [rdi + 0x41c]
mov edx, 0x80
sub ecx, 0xc
shl edx, cl
mov dword [rdi + 0x424], edx
cmp dword [rdi + 0x445c], 0
je 0x1400feb95
movzx ecx, word [rdi + 0x44f4]
movzx edx, word [rdi + 0x44f6]
mov eax, ecx
add eax, eax
cmp eax, edx
jge 0x1400feb69
movabs rax, 0x3fe0000000000000
mov qword [rdi + 0x24638], rax
cmp cx, dx
jbe 0x1400feb7f
movabs rax, 0x4000000000000000
mov qword [rdi + 0x24638], rax
xor edx, edx
mov rcx, rdi
mov dword [rdi + 0x3d0], r13d
call fcn.140117050
jmp 0x1401016ca
mov rcx, r13
lea rdx, [0x1401f6b68]
nop
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fec98
cmp rcx, 6
jne 0x1400feba0
cmp dword [rdi + 0x41c], 0xf
jne 0x1400fec98
movzx eax, word [rdi + 0x44f6]
cmp eax, 0xd10
je 0x1400febdc
cmp eax, 0xf20
je 0x1400febe7
jmp 0x1400febf3
sub ax, 0x42
mov word [rdi + 0x44f6], ax
mov eax, 0xfffa
add word [rdi + 0x44f6], ax
movzx edx, word [rdi + 0x44f6]
movzx ecx, word [rdi + 0x44f4]
cmp cx, dx
jbe 0x1400fec48
add cx, dx
movzx eax, cx
sub ax, dx
movzx edx, word [rdi + 0x44f0]
sub cx, ax
mov word [rdi + 0x44f6], ax
movzx eax, word [rdi + 0x44f2]
add dx, ax
mov word [rdi + 0x44f4], cx
movzx ecx, dx
sub cx, ax
sub dx, cx
mov word [rdi + 0x44f2], cx
mov word [rdi + 0x44f0], dx
mov eax, 0x1c20
cmp word [rdi + 0x44f6], ax
jne 0x1400fec74
cmp word [rdi + 0x44f4], r8w
jne 0x1400fec74
mov dword [rdi + 0x44f4], 0x195010e0
mov dword [rdi + 0x44f0], 0x195010e0
mov eax, 3
mov dword [rdi + 0x3d0], r13d
mov dword [rdi + 0x24630], eax
mov dword [rdi + 0x418], eax
lea rax, [0x1400f4170]
jmp 0x1401016c3
lea rdx, str.PowerShot_600
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fece2
mov eax, 0x380
mov dword [rdi + 0x44f4], 0x3560265
mov dword [rdi + 0x3d0], 0xe1e4e1e4
mov word [rdi + 0x44f2], ax
mov eax, 4
mov dword [rdi + 0x24630], eax
lea rax, [0x1400f3950]
jmp 0x1401016c3
lea rdx, str.PowerShot_A5
mov rcx, rsi
call fcn.1401c3380
test eax, eax
je 0x14010166b
lea rdx, str.PowerShot_A5_Zoom
mov rcx, rsi
call fcn.1401c3380
test eax, eax
je 0x14010166b
lea rdx, str.PowerShot_A50
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fed48
mov eax, 0x528
mov dword [rdi + 0x44f4], 0x50a03c8
mov dword [rdi + 0x3d0], 0x1b4e4b1e
mov word [rdi + 0x44f2], ax
jmp 0x14010169c
lea rdx, str.PowerShot_Pro70
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fed74
mov dword [rdi + 0x44f4], 0x6100400
mov dword [rdi + 0x3d0], 0x1e4b4e1b
jmp 0x14010169c
lea rdx, str.PowerShot_Pro90_IS
mov rcx, rsi
call fcn.1401c3380
test eax, eax
je 0x140101654
lea rdx, str.PowerShot_G1
mov rcx, rsi
call fcn.1401c3380
test eax, eax
je 0x140101654
lea rdx, str.PowerShot_A610
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fedef
mov rcx, rdi
call fcn.1400f4110
mov ebx, 1
mov r14d, 0x94949494
test eax, eax
je 0x1401016d5
mov eax, dword [str.S2_IS]
mov dword [rdi + 0x267], eax
movzx eax, word [0x140230e2c]
mov word [rdi + 0x26b], ax
jmp 0x1401016d5
lea rdx, str.PowerShot_SX220_HS
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fee11
mov dword [rdi + 0x245c4], 0xfffffffc
jmp 0x1401016ca
lea rdx, str.EOS_D2000C
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1400fee40
mov dword [rdi + 0x3d0], 0x61616161
movzx eax, word [rdi + 0x4728]
mov dword [rdi + 0x424], eax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.EOS_80D
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fee80
mov eax, 8
cmp rcx, rax
jne 0x1400fee50
mov edx, 0xfffe
add word [rdi + 0x44f8], dx
add word [rdi + 0x44f4], 2
jmp 0x1401016ca
movzx eax, byte [rsi]
cmp al, byte [0x14021caa4]
jne 0x1400feee6
movzx eax, byte [rsi + 1]
cmp al, byte [0x14021caa5]
jne 0x1400feee6
movzx eax, byte [rsi + 2]
cmp al, byte [0x14021caa6]
jne 0x1400feee6
movss xmm0, dword [rdi + 0x2469c]
movss xmm1, dword [rdi + 0x246a4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [0x1402315b0]
mulsd xmm1, qword [0x1402315d8]
cvtpd2ps xmm0, xmm0
movss dword [rdi + 0x2469c], xmm0
cvtpd2ps xmm0, xmm1
movss dword [rdi + 0x246a4], xmm0
jmp 0x1401016ca
mov rcx, r13
lea rdx, [0x140230e60]
mov r9d, 4
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fef34
cmp rcx, r9
jne 0x1400fef00
mov eax, 0xfffc
add word [rdi + 0x44f6], ax
movabs rax, 0x3fe0000000000000
mov qword [rdi + 0x24638], rax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.D40X
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fef54
cmp rcx, r14
jne 0x1400fef40
jmp 0x1400fefc2
mov rcx, r13
lea rdx, [0x140230e6c]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fef74
cmp rcx, r9
jne 0x1400fef60
jmp 0x1400fefc2
mov rcx, r13
lea rdx, [0x140230e70]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fef94
cmp rcx, r9
jne 0x1400fef80
jmp 0x1400fefc2
mov rcx, r13
lea rdx, str.D3000
mov r8d, 6
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fefdf
cmp rcx, r8
jne 0x1400fefb0
mov eax, 0xfffd
add word [rdi + 0x44f4], ax
mov eax, 0xfffc
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
movzx eax, byte [rsi]
cmp al, byte [0x14021caac]
jne 0x1400ff002
movzx eax, byte [rsi + 1]
cmp al, byte [0x14021caad]
jne 0x1400ff002
movzx eax, byte [rsi + 2]
cmp al, byte [0x14021caae]
je 0x1400ff042
mov rcx, r13
lea rdx, [0x140230e7c]
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff024
cmp rcx, r9
jne 0x1400ff010
jmp 0x1400ff042
mov rcx, r13
lea rdx, str.D700
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff05f
cmp rcx, r14
jne 0x1400ff030
mov eax, 0xfffc
add word [rdi + 0x44f6], ax
mov eax, 2
mov word [rdi + 0x44fa], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.D3100
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff09b
cmp rcx, r8
jne 0x1400ff070
mov eax, 0xffe4
mov word [rdi + 0x44fa], r8w
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.D5000
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff0d3
cmp rcx, r8
jne 0x1400ff0b0
mov eax, 0xffd6
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, [0x140230e98]
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff103
cmp rcx, r9
jne 0x1400ff0e0
mov eax, 0xffd6
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.D5100
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff133
cmp rcx, r8
jne 0x1400ff110
mov eax, 0xffd4
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.D7000
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff163
cmp rcx, r8
jne 0x1400ff140
mov eax, 0xffd4
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
lea rdx, str.COOLPIX_A
mov rcx, rsi
call fcn.1401c3380
test eax, eax
je 0x1400ff122
mov rcx, r13
lea rdx, str.D3200
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff1a8
mov eax, 6
cmp rcx, rax
jne 0x1400ff180
mov eax, 0xffd2
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
lea rdx, [0x14021cab8]
mov r8d, 2
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x1400ff197
lea rdx, str.D800
mov r8d, 4
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x1400ff197
movzx eax, byte [rsi]
cmp al, byte [0x14021cab0]
jne 0x1400ff1fd
movzx eax, byte [rsi + 1]
cmp al, byte [0x14021cab1]
jne 0x1400ff1fd
movzx eax, byte [rsi + 2]
cmp al, byte [0x14021cab2]
je 0x1400ff220
movzx eax, byte [rsi]
cmp al, byte [0x140230ecc]
jne 0x1400ff22a
movzx eax, byte [rsi + 1]
cmp al, byte [0x140230ecd]
jne 0x1400ff22a
movzx eax, byte [rsi + 2]
cmp al, byte [0x140230ece]
jne 0x1400ff22a
mov eax, 0xffcc
jmp 0x1400ff047
lea rdx, [0x140230ed0]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x140101646
lea rdx, [0x1401f6394]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x140101646
lea rdx, [0x140230ed4]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x140101646
mov rcx, r13
lea rdx, str.D100
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff2db
cmp rcx, r14
jne 0x1400ff290
cmp dword [rdi + 0x44ec], 0
mov ebx, 1
mov r14d, 0x94949494
je 0x1401016d5
movzx eax, word [rdi + 0x44f6]
add eax, 3
mov word [rdi + 0x44f6], ax
add ax, 3
mov word [rdi + 0x44f2], ax
jmp 0x1401016d5
mov rcx, r13
lea rdx, str.D200
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff32c
cmp rcx, r14
jne 0x1400ff2f0
mov ebx, 1
mov eax, 0xfffc
mov r14d, 0x94949494
add word [rdi + 0x44f6], ax
mov word [rdi + 0x44fa], bx
mov dword [rdi + 0x3d0], r14d
jmp 0x1401016d5
lea rdx, [0x140230ee0]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff362
mov eax, 6
mov word [rdi + 0x44fa], ax
mov eax, 0xfff2
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
lea rdx, [0x140230ee4]
mov r8d, 3
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff3b8
movzx eax, word [rdi + 0x44f6]
mov ecx, 0xcc0
mov ebx, 1
mov r14d, 0x94949494
cmp ax, cx
jne 0x1400ff3a8
mov eax, 0xca0
mov word [rdi + 0x44f6], ax
jmp 0x1401016d5
sub ax, 8
mov word [rdi + 0x44f6], ax
jmp 0x1401016d5
lea rdx, str.D300
mov r8d, 4
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff3e2
mov eax, 0xffe0
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
lea rdx, str.COOLPIX_B
mov r8d, 9
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff40b
mov eax, 0x18
mov dword [rdi + 0x44ec], eax
jmp 0x1401016ca
lea rdx, str.COOLPIX_P
mov r8d, 9
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff47e
mov eax, 0xfc0
cmp word [rdi + 0x44f2], ax
je 0x1400ff47e
mov eax, 0x18
mov r14d, 0x94949494
mov dword [rdi + 0x44ec], eax
mov dword [rdi + 0x3d0], r14d
cmp byte [rdi + 0x266], 0x37
lea ebx, [rax - 0x17]
jne 0x1401016d5
movss xmm0, dword [rdi + 0x3b0]
comiss xmm0, dword [0x1402316f0]
jb 0x1401016d5
mov dword [rdi + 0x424], 0xff
jmp 0x1401016d5
lea rdx, [0x140230f0c]
mov r8d, 2
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1400ff4a8
mov edx, 0xfffe
add word [rdi + 0x44f4], dx
jmp 0x1401016ca
cmp r15d, 0x182004
jne 0x1400ff4e1
mov edx, 3
mov rcx, rdi
call fcn.140117050
mov dword [rdi + 0x246ac], 0x3f9ab021
mov dword [rdi + 0x246b0], 0x3f8c1206
mov dword [rdi + 0x246b8], 0x3f8e1e4f
jmp 0x1401016ca
cmp r15d, 0x308040
jne 0x1400ff51f
movss xmm0, dword [rdi + 0x2469c]
mulss xmm0, dword [0x140231688]
movss dword [rdi + 0x2469c], xmm0
movss xmm0, dword [rdi + 0x246a4]
mulss xmm0, dword [0x140231688]
movss dword [rdi + 0x246a4], xmm0
jmp 0x1401016ca
cmp r15d, 0x48d000
jne 0x1400ff5b1
cmp qword [rdi + 0x3c0], 0
jne 0x1400ff554
mov rcx, rdi
call fcn.140107060
test eax, eax
je 0x1400ff554
mov eax, dword [str.E995]
mov dword [rsi], eax
movzx eax, byte [0x140230f14]
mov byte [rsi + 4], al
mov rcx, r13
lea rdx, str.E995
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff577
cmp rcx, r14
jne 0x1400ff560
jmp 0x1401016ca
mov edx, 3
mov rcx, rdi
mov dword [rdi + 0x3d0], 0xb4b4b4b4
call fcn.140117050
mov dword [rdi + 0x246ac], 0x3f991687
mov dword [rdi + 0x246b0], 0x3f9f7cee
mov dword [rdi + 0x246b4], 0x3f824dd3
jmp 0x1401016ca
cmp r15d, 0x2ce000
jne 0x1400ff637
cmp qword [rdi + 0x3c0], 0
jne 0x1400ff5e3
mov rcx, rdi
call fcn.140106fa0
test eax, eax
jne 0x1400ff5e3
mov eax, dword [str.E2500]
mov dword [rsi], eax
movzx eax, word [0x140230f1c]
mov word [rsi + 4], ax
mov rcx, r13
lea rdx, str.E2500
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1401016ca
mov eax, 6
cmp rcx, rax
jne 0x1400ff5f0
mov dword [rdi + 0x44ec], eax
mov edx, 0xfffe
mov eax, 4
add word [rdi + 0x44f4], dx
mov dword [rdi + 0x24630], eax
mov dword [rdi + 0x3d0], 0x4b4b4b4b
jmp 0x1401016ca
cmp r15d, 0x48e000
jne 0x1400ff73d
cmp qword [rdi + 0x3c0], 0
jne 0x1400ff656
mov rcx, rdi
call fcn.140106eb0
cmp byte [rsi], 0x45
jne 0x1400ff678
lea rcx, [rdi + 0x25e]
call fcn.1401bee6c
cmp eax, 0xe74
jge 0x1400ff678
mov dword [rdi + 0x3d0], 0x49494949
lea rdx, str.Optio_33WR
mov rcx, rsi
call fcn.1401c3380
mov ebx, 1
test eax, eax
jne 0x1400ff6a0
mov dword [rdi + 0x24628], ebx
mov dword [rdi + 0x3d0], 0x16161616
cmp byte [r12], 0x4f
jne 0x1401016cf
mov r14d, 0x20
mov r15d, 0xc
mov r9d, 0x122400
mov rcx, rdi
mov r8d, r14d
mov edx, r15d
mov dword [rsp + 0x20], 0x369400
call fcn.1400f7000
mov r9d, 0x246030
mov r8d, r14d
mov edx, r15d
mov rcx, rdi
cvttss2si ebx, xmm0
mov dword [rsp + 0x20], 0x246c48
call fcn.1400f7000
cvttss2si r8d, xmm0
mov eax, r8d
cdq
mov ecx, eax
mov eax, ebx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jge 0x1400ff71b
mov eax, 0x18
mov ebx, r8d
mov dword [rdi + 0x44ec], eax
test ebx, ebx
mov r14d, 0x94949494
mov ebx, 1
jns 0x1401016d5
mov dword [rdi + 0x3d0], 0x61616161
jmp 0x1401016d5
cmp r15d, 0x599000
jne 0x1400ff79e
cmp qword [rdi + 0x3c0], 0
jne 0x1400ff77e
mov rcx, rdi
call fcn.140106c80
test eax, eax
je 0x1400ff77e
mov rax, qword [str.Minolta]
mov qword [r12], rax
movsd xmm0, qword [str.DiMAGE_Z2]
movsd qword [rsi], xmm0
movzx eax, word [0x140230f38]
mov word [rsi + 8], ax
cmp byte [r12], 0x4d
mov eax, r13d
sete al
lea eax, [rax + rax*2]
lea eax, [rax*8 + 6]
mov dword [rdi + 0x44ec], eax
jmp 0x1401016ca
cmp r15d, 0x600000
jne 0x1400ff820
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov edx, 0x300000
call fcn.1401c1f88
mov edx, 0x10000
mov rcx, rdi
call fcn.1400fc490
mov ecx, 0x4d4d
mov ebx, 1
mov word [rdi], ax
mov r14d, 0x94949494
cmp ax, cx
jne 0x1401016d5
mov eax, 0xfff0
mov dword [rdi + 0x44f8], 0x1c0010
mov dword [rdi + 0x4440], 0xf5c0
add word [rdi + 0x44f4], ax
mov eax, 0xffe4
mov dword [r12], 0x475349
add word [rdi + 0x44f6], ax
mov byte [rsi], 0
jmp 0x1401016d5
lea rdx, str.Fujifilm
mov rcx, r12
call fcn.1401c3380
mov rcx, r13
test eax, eax
jne 0x1400ffa69
lea rdx, str.S2Pro
lea r8d, [rax + 6]
nop word [rax + rax]
movzx eax, byte [rdi + rcx + 0x264]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ff88a
cmp rcx, r8
jne 0x1400ff850
mov eax, dword [str.S2Pro]
mov dword [rsi], eax
movzx eax, word [0x140230f40]
mov dword [rdi + 0x44f4], 0xb400860
mov word [rsi + 4], ax
mov dword [rdi + 0x24628], r8d
movzx eax, word [rdi + 0x44f4]
movzx ecx, word [rdi + 0x44f0]
movzx r8d, word [rdi + 0x44f2]
sub ecx, eax
mov edx, 0xfffe
mov eax, r8d
sar ecx, 1
and cx, dx
mov word [rdi + 0x44f8], cx
movzx ecx, word [rdi + 0x44f6]
sub eax, ecx
sar eax, 1
and ax, dx
mov word [rdi + 0x44fa], ax
mov eax, 0xb20
cmp cx, ax
je 0x1400ff8df
mov eax, 0xe50
cmp cx, ax
jne 0x1400ff8e9
mov dword [rdi + 0x3d0], 0x16161616
mov eax, 0xfc0
cmp cx, ax
je 0x1400ff911
mov eax, 0x1358
cmp cx, ax
je 0x1400ff911
mov eax, 0x1790
cmp cx, ax
je 0x1400ff911
mov eax, 0x2058
cmp cx, ax
jne 0x1400ff919
mov word [rdi + 0x44fa], r13w
mov eax, 0xd00
cmp cx, ax
jne 0x1400ff93e
lea eax, [rcx - 0x42]
mov word [rdi + 0x44f6], ax
test ax, ax
je 0x1400ff93e
mov eax, 0x22
mov word [rdi + 0x44fa], ax
movzx edx, word [rdi + 0x44f6]
mov eax, 0x1348
cmp dx, ax
jne 0x1400ff95b
mov eax, 4
mov word [rdi + 0x44fa], ax
mov rcx, r13
lea r9, str.HS50EXR
mov r10d, 8
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x1400ff985
cmp rcx, r10
jne 0x1400ff970
jmp 0x1400ff9a3
mov rcx, r13
lea r9, str.F900EXR
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x1400ff9c0
cmp rcx, r10
jne 0x1400ff990
add dx, 2
mov word [rdi + 0x44fa], r13w
mov dword [rdi + 0x3d0], 0x16161616
mov word [rdi + 0x44f6], dx
cmp dword [rdi + 0x408], 0
je 0x1400ff9dc
movzx eax, word [rdi + 0x4454]
imul ax, r8w
mov word [rdi + 0x44f2], ax
cmp dword [rdi + 0x3d0], 9
jne 0x1401016ca
mov r9d, r13d
lea r10, [rdi + 0x35d]
mov eax, 0xaaaaaaab
lea r10, [r10 + 1]
mul r9d
movzx eax, word [rdi + 0x44f8]
mov ecx, edx
shr ecx, 2
add ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
movsxd rax, ecx
movzx ecx, word [rdi + 0x44fa]
lea r8, [rax + rax*2]
add ecx, r9d
mov eax, 0x2aaaaaab
inc r9d
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
movsxd rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2 + 0x381]
mov byte [r10 - 1], al
cmp r9d, 0x24
jl 0x1400ff9f3
jmp 0x1401016ca
lea rdx, str.KD_400Z
mov r15d, 8
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffaaa
cmp rcx, r15
jne 0x1400ffa80
mov eax, 0x920
mov dword [rdi + 0x44f4], 0x90806b0
mov word [rdi + 0x44f2], ax
jmp 0x1400ffaf9
mov rcx, r13
lea rdx, str.KD_510Z
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffb1e
cmp rcx, r15
jne 0x1400ffac0
mov eax, 0xa40
mov dword [rdi + 0x44f4], 0xa2f07a4
mov word [rdi + 0x44f2], ax
add dword [rdi + 0x3e0], 0xe
mov dword [rdi + 0x3d0], 0x61616161
lea rax, [0x140118870]
mov dword [rdi + 0x4440], 0x3df
mov qword [rdi + 0x44720], rax
mov eax, 0x4d4d
mov word [rdi], ax
jmp 0x1401016ca
lea rdx, str.Minolta
mov rcx, r12
call fcn.14005a590
test eax, eax
jne 0x1400ffc6a
cmp qword [rdi + 0x44720], 0
jne 0x1400ffb57
lea rax, [0x140118870]
mov dword [rdi + 0x4440], 0xfff
mov qword [rdi + 0x44720], rax
lea rdx, str.DiMAGE_A
mov r8, r15
mov rcx, rsi
call fcn.1401c25f0
mov rcx, rsi
test eax, eax
jne 0x1400ffb94
lea rdx, str.DiMAGE_A200
call fcn.1401c3380
test eax, eax
jne 0x1400ffb8a
mov dword [rdi + 0x3d0], 0x49494949
mov eax, 0xc
jmp 0x1401016b6
lea rdx, str.ALPHA
mov r8, r14
call fcn.1401c25f0
test eax, eax
je 0x1400ffc2d
lea rdx, str.DYNAX
mov r8, r14
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x1400ffc2d
lea rdx, str.MAXXUM
mov r8d, 6
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
je 0x1400ffc2d
lea rdx, str.DiMAGE_G
mov r8, r15
mov rcx, rsi
call fcn.1401c25f0
test eax, eax
jne 0x1401016ca
movzx eax, byte [rdi + 0x265]
cmp al, 0x34
jne 0x1400ffc0e
mov dword [rdi + 0x44f4], 0x90006b4
jmp 0x1400ffae8
cmp al, 0x35
je 0x1400ffad2
cmp al, 0x36
jne 0x1400ffae8
mov dword [rdi + 0x44f4], 0xb200858
jmp 0x1400ffae8
cmp byte [rsi], 0x4d
mov rax, r13
lea r8, [rdi + 0x263]
sete al
lea rdx, str.DYNAX___10s
lea rcx, [rdi + 0x271]
add r8, rax
call fcn.1401bea4c
lea r8, [rdi + 0x271]
mov rdx, r12
mov rcx, rdi
call fcn.1400f0850
jmp 0x1401016bc
mov rcx, r13
lea rdx, str.ist_D
mov r15d, 7
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffca8
cmp rcx, r15
jne 0x1400ffc80
lea rax, [0x140118870]
mov dword [rdi + 0x4460], 0xffffffff
jmp 0x1401016c3
mov rcx, r13
lea rdx, str.ist_DS
mov r8d, 8
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffce3
cmp rcx, r8
jne 0x1400ffcc0
mov edx, 0xfffe
add word [rdi + 0x44f4], dx
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.Samsung
nop dword [rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffd42
cmp rcx, r8
jne 0x1400ffcf0
mov eax, 0x1260
cmp word [rdi + 0x44f2], ax
jne 0x1400ffd42
mov eax, 0xfff8
mov dword [rdi + 0x44f8], 0x80008
mov dword [rdi + 0x44ec], 0x100
add word [rdi + 0x44f4], ax
mov eax, 0xfff0
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffdcd
cmp rcx, r8
jne 0x1400ffd50
mov eax, 0xe82
cmp word [rdi + 0x44f0], ax
jne 0x1400ffdcd
movzx ecx, word [rdi + 0x44f2]
mov eax, 0xffee
mov edx, 0x15a0
add word [rdi + 0x44f4], ax
movzx eax, cx
mov dword [rdi + 0x44f6], 0x1215a0
sub ax, dx
mov word [rdi + 0x44fa], ax
mov eax, 0x15e0
cmp cx, ax
je 0x1400ffdb4
mov dword [rdi + 0x44f8], 0
mov dword [rdi + 0x3d0], 0x61616161
mov dword [rdi + 0x24630], 3
jmp 0x1401016ca
mov rcx, r13
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffe57
cmp rcx, r8
jne 0x1400ffdd0
mov eax, 0x1600
cmp word [rdi + 0x44f2], ax
jne 0x1400ffe57
mov ecx, dword [rdi + 0x41c]
mov eax, 0x4949
mov ebx, 1
mov word [rdi], ax
add ecx, 0x20
mov eax, 0xe6e
mov word [rdi + 0x44f4], ax
mov eax, 2
mov word [rdi + 0x44fa], cx
mov word [rdi + 0x44f8], ax
mov eax, 0x15c6
mov r14d, 0x94949494
sub ax, cx
cmp dword [rdi + 0x41c], 0xc
mov word [rdi + 0x44f6], ax
jne 0x1401016d5
mov dword [rdi + 0x44ec], 0x50
jmp 0x1401016d5
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400ffeb2
cmp rcx, r8
jne 0x1400ffe60
mov eax, 0x1620
cmp word [rdi + 0x44f2], ax
jne 0x1400ffeb2
mov eax, 0xffef
mov dword [rdi + 0x44f8], 0x600011
mov dword [rdi + 0x3d0], 0x49494949
add word [rdi + 0x44f4], ax
mov eax, 0x15a8
mov word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fff08
cmp rcx, r8
jne 0x1400ffec0
mov eax, 0x1960
cmp word [rdi + 0x44f2], ax
jne 0x1400fff08
mov ecx, dword [rdi + 0x41c]
mov ebx, 1
mov dword [rdi + 0x3d0], 0x61616161
sub ecx, r15d
mov edx, ebx
shl edx, cl
mov dword [rdi + 0x424], edx
jmp 0x1401016cf
mov rcx, r13
lea rdx, [0x140230fac]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400fffa3
mov eax, 4
cmp rcx, rax
jne 0x1400fff12
mov eax, 0x4949
mov edx, 0xe62
mov ebx, 1
mov word [rdi], ax
movzx eax, word [rdi + 0x44f4]
mov r14d, 0x94949494
sub ax, 0x14
movzx ecx, ax
mov word [rdi + 0x44f4], ax
mov eax, 2
mov word [rdi + 0x44f8], ax
movzx eax, word [rdi + 0x44f6]
add eax, 0xfffffffa
mov word [rdi + 0x44f6], ax
cmp ax, dx
jbe 0x1401016d5
sub cx, 0xa
sub ax, 0x2e
mov word [rdi + 0x44f8], r8w
mov word [rdi + 0x44f6], ax
mov word [rdi + 0x44f4], cx
jmp 0x1401016d5
mov rcx, r13
lea rdx, str.WB2000
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100038
cmp rcx, r15
jne 0x1400fffb0
mov eax, 0x4949
mov edx, 0xe86
mov ebx, 1
mov word [rdi], ax
movzx eax, word [rdi + 0x44f4]
mov r14d, 0x94949494
sub ax, 3
movzx ecx, ax
mov word [rdi + 0x44f4], ax
mov eax, 2
mov word [rdi + 0x44f8], ax
movzx eax, word [rdi + 0x44f6]
add eax, 0xfffffff6
mov word [rdi + 0x44f6], ax
cmp ax, dx
jbe 0x1401016d5
sub cx, 0x1c
sub ax, 0x38
mov word [rdi + 0x44f8], r8w
mov word [rdi + 0x44f6], ax
mov word [rdi + 0x44f4], cx
jmp 0x1401016d5
lea rdx, str.WB550
mov rcx, rsi
call fcn.1401c2aac
test rax, rax
je 0x140100064
mov eax, dword [str.WB550]
mov dword [rsi], eax
movzx eax, word [0x140230fbc]
mov word [rsi + 4], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.EX2F
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1401000b6
cmp rcx, r14
jne 0x140100070
mov eax, 3
mov dword [rdi + 0x44f4], 0xfe60be5
mov dword [rdi + 0x3d0], 0x49494949
mov word [rdi + 0x44f8], ax
mov eax, 0x4949
mov word [rdi], ax
lea rax, [0x140118870]
jmp 0x1401016c3
lea rdx, str.STV680_VGA
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x1401000d9
mov eax, 0x10
mov dword [rdi + 0x424], eax
jmp 0x1401016ca
mov rcx, r13
lea rdx, [0x140230fd4]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010011d
mov eax, 4
cmp rcx, rax
jne 0x1401000e3
mov eax, 2
mov word [rdi + 0x44f8], ax
movzx eax, word [rdi + 0x44f0]
sub ax, 2
mov word [rdi + 0x44f4], ax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.640x480
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100174
mov eax, 8
cmp rcx, rax
jne 0x140100130
movsd xmm2, qword [0x140231630]
movsd xmm1, qword [0x1402315a8]
mov ebx, 1
mov rcx, rdi
mov r9d, ebx
mov dword [rsp + 0x20], 0xff
call fcn.1400fb7e0
jmp 0x1401016cf
lea rdx, str.Hasselblad
mov rcx, r12
call fcn.1401c3380
test eax, eax
jne 0x1401002fa
lea rax, [0x140105e20]
cmp qword [rdi + 0x44720], rax
jne 0x1401001a9
lea rax, [0x1400fc5e0]
mov qword [rdi + 0x44720], rax
movzx eax, word [rdi + 0x44f2]
mov ecx, 0x1c5e
cmp ax, cx
jne 0x1401001d3
mov dword [rdi + 0x44f4], 0x1c501544
mov dword [rdi + 0x44f8], 0x70004
jmp 0x1401002a8
mov ecx, 0x1cf2
cmp ax, cx
je 0x140100286
mov ecx, 0x205a
cmp ax, cx
je 0x140100286
mov ecx, 0x20c0
cmp ax, cx
jne 0x140100212
mov dword [rdi + 0x44f4], 0x20581840
mov dword [rdi + 0x44f8], 0x2e0060
jmp 0x1401002b2
mov ecx, 0x2354
cmp ax, cx
jne 0x14010024d
mov eax, 0x100
mov dword [rdi + 0x44f4], 0x23041a3c
mov dword [rdi + 0x44f8], 0x280008
add dword [rdi + 0x424], eax
mov dword [rdi + 0x44ec], eax
mov dword [rdi + 0x4440], 0x8101
jmp 0x1401002b2
mov ecx, 0xffa
cmp ax, cx
jne 0x1401002b2
mov eax, dword [str.V96C]
mov dword [rsi], eax
movzx eax, byte [0x140230fdc]
mov dword [rdi + 0x44f8], 0x30006
mov byte [rsi + 4], al
mov eax, 0xfffa
add word [rdi + 0x44f4], ax
mov eax, 0xfff6
jmp 0x1401002a1
mov eax, 0xffac
mov dword [rdi + 0x44f8], 0x290004
add word [rdi + 0x44f4], ax
mov eax, 0xffae
add word [rdi + 0x44f6], ax
mov dword [rdi + 0x3d0], 0x61616161
mov eax, dword [rdi + 0x418]
cmp eax, 1
jbe 0x1401016ca
inc eax
cmp dword [rdi + 0x40c], 0
mov dword [rdi + 0x4454], eax
jne 0x1401016ca
cmp dword [rdi + 0x24658], 0
mov ebx, 1
mov r14d, 0x94949494
jne 0x1401016d5
mov dword [rdi + 0x3d0], r13d
jmp 0x1401016d5
mov rcx, r13
lea rdx, [0x14022e1fc]
mov r8d, 6
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010036c
cmp rcx, r8
jne 0x140100310
cmp qword [rdi + 0x44720], 0
jne 0x14010033b
lea rax, [0x140118870]
mov qword [rdi + 0x44720], rax
cmp dword [rdi + 0x4454], 1
jbe 0x14010035d
cmp dword [rdi + 0x40c], 0
jne 0x14010035d
cmp dword [rdi + 0x24658], 0
jne 0x14010035d
mov dword [rdi + 0x3d0], r13d
mov dword [rdi + 0x4440], 0x3fff
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.Leaf
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100601
cmp rcx, r14
jne 0x140100380
mov edx, dword [rdi + 0x3e0]
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
mov dword [rdi + 0x4440], 0x3fff
call fcn.1401c1f88
mov ebx, 1
lea rdx, [rsp + 0x40]
mov r8d, ebx
mov rcx, rdi
call fcn.140104c00
test eax, eax
je 0x1401003e0
cmp dword [rsp + 0x44], 0xf
jne 0x1401003e0
mov dword [rdi + 0x4440], 0x1fff
mov ecx, dword [rdi + 0x418]
cmp ecx, ebx
jbe 0x1401003f3
mov dword [rdi + 0x3d0], r13d
jmp 0x140100402
movzx eax, word [rdi + 0x44f0]
cmp dword [rdi + 0x4468], eax
jae 0x14010041e
lea rax, [0x140103a30]
mov qword [rdi + 0x44720], rax
movzx eax, word [rdi + 0x4464]
mov word [rdi + 0x44f2], ax
movzx r8d, word [rdi + 0x44f4]
movzx edx, word [rdi + 0x44f6]
mov r9d, 0x800
movzx eax, r8w
or ax, dx
cmp ax, r9w
jne 0x1401004cc
mov r14d, 0x94949494
cmp ecx, ebx
jne 0x1401004a1
mov dword [rdi + 0x3d0], ebx
mov eax, dword [str.RBTG]
mov dword [rdi + 0x18], eax
movzx eax, byte [0x140230fe4]
mov byte [rdi + 0x1c], al
movsd xmm0, qword [str.CatchLight]
movsd qword [rsi], xmm0
movzx eax, word [0x140230ff0]
mov word [rsi + 8], ax
movzx eax, byte [0x140230ff2]
mov dword [rdi + 0x44f8], 0x120008
mov byte [rsi + 0xa], al
mov dword [rdi + 0x44f4], 0x7e007f0
jmp 0x1401016d5
mov eax, dword [0x140222874]
mov dword [rsi], eax
movzx eax, byte [0x140222878]
mov dword [rdi + 0x44f8], 0x10000a
mov byte [rsi + 4], al
mov dword [rdi + 0x44f4], 0x7e607ec
jmp 0x1401016d5
movzx ecx, r8w
movzx eax, dx
add ecx, eax
cmp ecx, 0x1454
jne 0x140100572
cmp byte [rsi], 0
jne 0x1401004f0
mov rax, qword [str.Cantare]
mov qword [rsi], rax
movzx eax, word [rdi + 0x44f4]
cmp word [rdi + 0x44f6], ax
jbe 0x140100520
mov dword [rdi + 0x44f8], 0x200006
mov dword [rdi + 0x44f4], 0xc000800
mov dword [rdi + 0x3d0], 0x61616161
jmp 0x14010053e
mov dword [rdi + 0x44f8], 0x60020
mov dword [rdi + 0x44f4], 0x8000c00
mov dword [rdi + 0x3d0], 0x16161616
movss xmm1, dword [rdi + 0x2469c]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jp 0x140100550
je 0x140100566
cmp byte [rsi], 0x56
je 0x140100566
mov eax, dword [rdi + 0x418]
mov dword [rdi + 0x4454], eax
jmp 0x1401016cf
mov dword [rdi + 0x3d0], r13d
jmp 0x1401016cf
mov eax, 0x844
cmp dx, ax
jne 0x1401005b7
mov rax, qword [str.Valeo_6]
mov qword [rsi], rax
mov eax, 0xffc4
mov dword [rdi + 0x44f8], 0x37001e
add word [rdi + 0x44f4], ax
mov eax, 0xff92
mov dword [rdi + 0x3d0], 0x49494949
add word [rdi + 0x44f6], ax
jmp 0x1401016cf
mov eax, 0xc63
mov r14d, 0x94949494
cmp dx, ax
jne 0x1401016d5
mov rax, qword [str.Valeo_6]
mov ecx, 0xffd0
mov qword [rsi], rax
add word [rdi + 0x44f4], cx
add word [rdi + 0x44f6], cx
mov dword [rdi + 0x44f8], 0x180018
mov dword [rdi + 0x3d0], 0x16161616
jmp 0x1401016d5
mov rcx, r13
lea rdx, str.Leica
nop dword [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100788
cmp rcx, r8
jne 0x140100610
movzx r10d, word [rdi + 0x44f2]
mov r11d, dword [rsp + 0x30]
movzx r9d, word [rdi + 0x44f0]
sub r11d, dword [rdi + 0x3e0]
lea ecx, [r10*8]
mov eax, 0x92492493
imul ecx
lea r8d, [rcx + rdx]
mov eax, r11d
sar r8d, 2
cdq
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
idiv r8d
cmp eax, r9d
jne 0x14010067d
lea rax, [0x140108430]
mov qword [rdi + 0x44720], rax
cmp qword [rdi + 0x44720], 0
jne 0x1401006a0
lea rax, [0x140118870]
mov qword [rdi + 0x44720], rax
mov eax, 4
mov dword [rdi + 0x44ec], eax
movzx eax, word [rdi + 0x44f4]
mov ebx, 1
mov edx, r13d
add eax, 0xc
mov dword [rdi + 0x444c], ebx
lea r8, [0x140000000]
cmp ax, r9w
cmova ax, r9w
mov word [rdi + 0x44f4], ax
mov rax, r13
nop dword [rax]
nop word [rax + rax]
lea rcx, [rax + rax*2]
movsx eax, word [r8 + rcx*4 + 0x22e650]
cmp r10d, eax
jne 0x140100740
movsx eax, word [r8 + rcx*4 + 0x22e652]
cmp r9d, eax
jne 0x140100740
movzx eax, word [r8 + rcx*4 + 0x22e654]
mov word [rdi + 0x44fa], ax
movzx eax, word [r8 + rcx*4 + 0x22e656]
mov word [rdi + 0x44f8], ax
movzx eax, word [r8 + rcx*4 + 0x22e658]
add word [rdi + 0x44f6], ax
movzx eax, word [r8 + rcx*4 + 0x22e65a]
add word [rdi + 0x44f4], ax
inc edx
movsxd rax, edx
cmp rax, 0x17
jb 0x1401006e0
mov eax, dword [rdi + 0x3d0]
movzx ecx, word [rdi + 0x44f8]
dec eax
add ecx, ecx
xor rcx, rax
movzx eax, word [rdi + 0x44fa]
and eax, ebx
and ecx, 3
xor rcx, rax
movzx eax, byte [rcx + r8 + 0x230ff4]
imul ecx, eax, 0x1010101
mov dword [rdi + 0x3d0], ecx
jmp 0x1401016cf
lea rdx, str.Panasonic
mov rcx, r12
call fcn.1401c3380
test eax, eax
je 0x140100627
mov rcx, r13
lea rdx, str.C770UZ
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1401007f4
cmp rcx, r15
jne 0x1401007b0
lea rax, [0x1401080a0]
mov dword [rdi + 0x44f4], 0x90006b6
mov dword [rdi + 0x3d0], 0x16161616
mov qword [rdi + 0x44720], rax
mov eax, 0x1e
mov dword [rdi + 0x44ec], eax
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.Olympus
mov r10d, 8
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100a47
cmp rcx, r10
jne 0x140100804
movzx eax, word [rdi + 0x44f4]
movzx ecx, ax
and cx, 1
add cx, ax
mov word [rdi + 0x44f4], cx
mov eax, dword [rdi + 0x3d4]
test eax, eax
je 0x140100843
mov dword [rdi + 0x3d0], eax
mov eax, 0x1004
cmp word [rdi + 0x44f6], ax
jne 0x14010085d
mov eax, 0x1000
mov word [rdi + 0x44f6], ax
mov eax, 0xff0
cmp word [rdi + 0x44f6], ax
jne 0x140100877
mov eax, 0xfd8
mov word [rdi + 0x44f6], ax
mov eax, 0x2440
cmp word [rdi + 0x44f6], ax
jne 0x14010089c
mov eax, 0x243a
sub cx, 6
mov word [rdi + 0x44f6], ax
mov word [rdi + 0x44f4], cx
mov r8, qword [rdi + 0x44720]
lea r11, [0x140118870]
cmp r8, r11
jne 0x1401008ba
mov eax, 4
mov dword [rdi + 0x44ec], eax
mov eax, 0xc
mov rcx, r13
lea rdx, str.E_300
lea r9d, [rax - 6]
mov dword [rdi + 0x41c], eax
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1401008e7
lea rdx, str.N_Digital
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x140100a7d
mov dword [rdi + 0x44f4], 0xc0007ff
mov dword [rdi + 0x3d0], 0x61616161
mov dword [rdi + 0x3e0], 0x1a00
jmp 0x1401016bc
lea rdx, str.DSC_F828
mov rcx, rsi
call fcn.1401c3380
test eax, eax
jne 0x140100af3
mov word [rdi + 0x44fa], r14w
mov eax, 0xcd8
mov word [rdi + 0x44f6], ax
mov dword [rdi + 0x245c4], 0xffffffef
lea rax, [0x140117e40]
mov qword [rdi + 0x44720], rax
mov eax, 4
mov dword [rdi + 0x3e0], 0xd27c0
mov dword [rdi + 0x24630], eax
mov dword [rdi + 0x3d0], 0x9c9c9c9c
mov eax, dword [str.RGBE]
mov dword [rdi + 0x18], eax
movzx eax, byte [0x140231048]
mov byte [rdi + 0x1c], al
jmp 0x1401016ca
mov rcx, r13
lea rdx, str.DSC_V3
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140100b4a
cmp rcx, r15
jne 0x140100b00
mov eax, 0xc25
mov word [rdi + 0x44f6], ax
mov eax, 0x3b
mov word [rdi + 0x44fa], ax
mov dword [rdi + 0x245ac], 9
mov dword [rdi + 0x3e0], 0xc03c0
lea rax, [0x140117e40]
jmp 0x1401016c3
mov rcx, r13
nop dword [rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140100b8a
cmp rcx, r14
jne 0x140100b50
mov eax, 0xf90
cmp word [rdi + 0x44f2], ax
jne 0x140100b8a
mov eax, 0xf55
mov word [rdi + 0x44f6], ax
mov eax, 0x4d4d
mov word [rdi], ax
jmp 0x1401016ca
mov rcx, r13
nop dword [rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140100bc2
cmp rcx, r14
jne 0x140100b90
mov eax, 0x10c0
cmp word [rdi + 0x44f2], ax
jne 0x140100bc2
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140100c1c
cmp rcx, r14
jne 0x140100bd0
mov rcx, r13
nop
movzx eax, byte [r12 + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140100c6f
mov eax, 0xffff
add word [rdi + 0x44f6], ax
jmp 0x1401016ca
mov eax, 4
mov dword [rdi + 0x3d0], 0xb4b4b4b4
mov dword [rdi + 0x24630], eax
jmp 0x1401016ca
mov eax, 0x3e0
mov dword [rdi + 0x44f4], 0x3c00305
mov dword [rdi + 0x3d0], 0x1e4e1e4e
mov word [rdi + 0x44f2], ax
movabs rax, 0x3ff16e0689427379
mov qword [rdi + 0x24638], rax
mov eax, 4
mov dword [rdi + 0x44ec], 0x108
mov dword [rdi + 0x24630], eax
mov eax, 0xa
mov dword [rdi + 0x41c], eax
lea rax, [0x1401080a0]
mov qword [rdi + 0x44720], rax
mov ebx, 1
mov r14d, 0x94949494
cmp byte [rsi], 0
jne 0x1401016f9
movzx r9d, word [rdi + 0x44f4]
movzx r8d, word [rdi + 0x44f6]
lea rdx, str._dx_d
mov rcx, rsi
call fcn.1401bea4c
cmp dword [rdi + 0x3d0], 0xffffffff
jne 0x140101709
mov dword [rdi + 0x3d0], r14d
mov edx, dword [rdi + 0x3e4]
test edx, edx
je 0x140101758
cmp word [rdi + 0x4506], 0
jne 0x140101758
mov rcx, qword [rdi + 0x55ba0]
xor r8d, r8d
call fcn.1401c1f88
lea rdx, [rsp + 0x40]
mov r8d, ebx
mov rcx, rdi
call fcn.140104c00
test eax, eax
je 0x140101758
movzx eax, word [rsp + 0x4c]
mov word [rdi + 0x4504], ax
movzx eax, word [rsp + 0x48]
mov word [rdi + 0x4506], ax
cmp dword [rdi + 0x24670], 0
jne 0x140101774
cmp dword [rdi + 0x4458], 0
jne 0x140101774
mov eax, r13d
mov ebx, 1
jmp 0x14010177b
mov ebx, 1
mov eax, ebx
test dword [rdi + 0x24674], eax
je 0x1401017c5
movss xmm0, dword [rdi + 0x246bc]
comiss xmm0, dword [0x140231514]
jbe 0x1401017c5
movups xmm0, xmmword [rdi + 0x246bc]
movups xmmword [rdi + 0x246ec], xmm0
movups xmm1, xmmword [rdi + 0x246cc]
movups xmmword [rdi + 0x246fc], xmm1
movups xmm0, xmmword [rdi + 0x246dc]
movups xmmword [rdi + 0x2470c], xmm0
mov dword [rdi + 0x4448], r13d
cmp dword [rdi + 0x4448], 0
je 0x1401017dc
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call fcn.1400f0850
lea rax, [0x140102950]
cmp qword [rdi + 0x44720], rax
jne 0x14010180b
cmp dword [rdi + 0x4448], 0
je 0x14010180b
lea r8, str.Quicktake
lea rdx, str.Apple
mov rcx, rdi
call fcn.1400f0850
cmp word [rdi + 0x4502], 0
je 0x14010187a
cmp dword [rdi + 0x408], 0
movzx edx, word [rdi + 0x44f6]
mov eax, 0x49494949
sete cl
shr dx, cl
movzx ecx, word [rdi + 0x408]
test dl, 1
mov word [rdi + 0x4502], dx
cmovne eax, r14d
mov dword [rdi + 0x3d0], eax
movzx eax, word [rdi + 0x44f4]
shr ax, cl
add ax, dx
mov word [rdi + 0x44f6], ax
dec ax
mov word [rdi + 0x44f4], ax
movabs rax, 0x3ff0000000000000
mov qword [rdi + 0x24638], rax
jmp 0x1401018a8
movzx eax, word [rdi + 0x44f4]
cmp word [rdi + 0x44f0], ax
jae 0x140101891
mov word [rdi + 0x44f0], ax
movzx eax, word [rdi + 0x44f6]
cmp word [rdi + 0x44f2], ax
jae 0x1401018a8
mov word [rdi + 0x44f2], ax
cmp dword [rdi + 0x41c], 0
jne 0x1401018bc
mov eax, 0xc
mov dword [rdi + 0x41c], eax
cmp dword [rdi + 0x4440], 0
jne 0x1401018d5
mov ecx, dword [rdi + 0x41c]
shl ebx, cl
dec ebx
mov dword [rdi + 0x4440], ebx
cmp qword [rdi + 0x44720], 0
je 0x14010190e
cmp word [rdi + 0x44f4], 0x16
jb 0x14010190e
cmp word [rdi + 0x44f6], 0x16
jb 0x14010190e
cmp dword [rdi + 0x41c], 0x10
ja 0x14010190e
cmp dword [rdi + 0x418], 6
ja 0x14010190e
cmp dword [rdi + 0x24630], 4
jle 0x140101915
mov dword [rdi + 0x4454], r13d
cmp byte [rdi + 0x18], 0
lea rdx, [rdi + 0x18]
jne 0x140101952
cmp dword [rdi + 0x24630], 3
lea rax, str.RGBG
lea rcx, str.GMCY
cmove rcx, rax
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rdx, [rdx + 1]
lea rcx, [rcx + 1]
mov byte [rdx - 1], al
test al, al
jne 0x140101940
cmp word [rdi + 0x44f0], 0
jne 0x14010196a
movzx eax, word [rdi + 0x44f4]
mov word [rdi + 0x44f0], ax
cmp word [rdi + 0x44f2], 0
jne 0x140101982
movzx eax, word [rdi + 0x44f6]
mov word [rdi + 0x44f2], ax
mov edx, dword [rdi + 0x3d0]
cmp edx, 0x3e7
jbe 0x1401019bd
cmp dword [rdi + 0x24630], 3
jne 0x1401019bd
mov ecx, edx
mov eax, edx
and ecx, 0xe2222222
shr eax, 2
shl ecx, 2
and eax, 0x22222222
or ecx, eax
lea eax, [rdx + rdx]
and ecx, eax
or ecx, edx
mov dword [rdi + 0x3d0], ecx
cmp dword [rdi + 0x24628], 0xffffffff
jne 0x1401019df
mov eax, dword [rdi + 0x2462c]
mov dword [rdi + 0x24628], eax
cmp eax, 0xffffffff
jne 0x1401019df
xor eax, eax
mov dword [rdi + 0x24628], eax
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1401bd600
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret