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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2a88]
mov eax, 0x2b88
call fcn.1400496c0
sub rsp, rax
mov r9, qword [rcx + 0xf48]
lea r8, [rbp + 0x3a0]
mov r13d, 0x40
mov r15d, 1
mov edx, r13d
mov dword [rbp + 0x2ae0], r15d
mov rdi, rcx
call fcn.1400fb4f0
xor ebx, ebx
lea r10, [0x140000000]
mov r9d, ebx
mov r14d, eax
movsxd rcx, r9d
lea r8, [rcx + rcx*2]
add r8, r8
lea ecx, [r9 + r14]
lea rax, [rcx + rcx*2]
inc r9d
add rax, rax
movups xmm0, xmmword [r10 + r8*8 + 0x3856b0]
movups xmm1, xmmword [r10 + r8*8 + 0x3856c0]
movups xmmword [rbp + rax*8 + 0x3a0], xmm0
movups xmm0, xmmword [r10 + r8*8 + 0x3856d0]
movups xmmword [rbp + rax*8 + 0x3b0], xmm1
movups xmmword [rbp + rax*8 + 0x3c0], xmm0
cmp r9d, 0x8d
jb 0x140107cb1
mov dword [rdi + 0x194], 0xffffffff
lea rsi, [rdi + 0x104]
mov rax, 0xffffffffffffffff
lea r12, [rdi + 0xc4]
mov dword [rdi + 0x30], eax
lea rcx, [rdi + 0x60978]
mov dword [rdi + 0x548d4], eax
add r14d, 0x8d
mov word [rdi + 0x548e2], bx
xor edx, edx
mov dword [rdi + 0x54914], ebx
mov r8d, 0x294a0
mov word [rdi + 0x548ae], bx
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0x18], ebx
mov dword [rdi + 0x24f78], ebx
mov byte [rdi + 0x25120], bl
mov byte [rsi], bl
mov byte [r12], bl
mov byte [rdi + 0x2abcc], bl
mov byte [rdi + 0x2a9cc], bl
mov byte [rdi + 0x1e0], bl
mov dword [rdi + 0x548c4], ebx
mov qword [rdi + 0x2a908], rbx
mov qword [rdi + 0x2a900], rbx
mov dword [rdi + 0x548d0], ebx
mov dword [rbp + 0x2ad8], r14d
mov qword [rbp - 0x58], rax
call fcn.1402d1c50
mov dword [rdi + 0x2ac2c], 0xc47a0000
lea rcx, [rdi + 0x609e8]
mov dword [rdi + 0x2ac28], 0xc47a0000
lea rax, [rdi + 0x64b7c]
mov dword [rdi + 0x2ac24], 0xc47a0000
mov edx, 0xa
mov dword [rdi + 0x2ac20], 0xc47a0000
mov r8d, 0xffff
mov dword [rdi + 0x2ac1c], 0xc47a0000
mov dword [rdi + 0x2ac18], 0xc47a0000
mov dword [rdi + 0x2ac14], 0xc47a0000
nop dword [rax + rax]
mov word [rcx + 0xa8], r8w
lea rax, [rax + 0x4210]
mov word [rcx], r8w
lea rcx, [rcx + 0x4210]
mov dword [rax - 0x4214], 0x3f800000
mov dword [rax - 0x4210], 0x3f800000
mov dword [rax - 0x420c], 0x3f800000
mov dword [rax - 0x4208], 0x3f800000
sub rdx, r15
jne 0x140107e10
xorps xmm0, xmm0
lea rcx, [rdi + 0x20f58]
movups xmmword [rdi + 0x2a91c], xmm0
mov r8d, 0x4018
movups xmmword [rdi + 0x2a92c], xmm0
movups xmmword [rdi + 0x2a93c], xmm0
movups xmmword [rdi + 0x2a94c], xmm0
movups xmmword [rdi + 0x2a95c], xmm0
movups xmmword [rdi + 0x2a96c], xmm0
movups xmmword [rdi + 0x2a97c], xmm0
movups xmmword [rdi + 0x2a98c], xmm0
call fcn.1402d1c50
xorps xmm0, xmm0
lea rax, [0x140117c30]
movups xmmword [rdi + 0x24f94], xmm0
mov edx, ebx
lea rcx, [rdi + 0x25024]
movups xmmword [rdi + 0x24fa4], xmm0
movups xmmword [rdi + 0x24fb4], xmm0
movups xmmword [rdi + 0x24fc4], xmm0
movups xmmword [rdi + 0x24fd4], xmm0
movups xmmword [rdi + 0x24fe4], xmm0
movups xmmword [rdi + 0x24ff4], xmm0
movups xmmword [rdi + 0x25004], xmm0
xorps xmm1, xmm1
movups xmmword [rdi + 0x34], xmm1
movups xmmword [rdi + 0x44], xmm1
movups xmmword [rdi + 0x54], xmm1
movups xmmword [rdi + 0x64], xmm1
movups xmmword [rdi + 0x74], xmm1
movups xmmword [rdi + 0x84], xmm1
movups xmmword [rdi + 0x94], xmm1
movups xmmword [rdi + 0xa4], xmm1
mov qword [rdi + 0x2ac4c], rbx
mov qword [rdi + 0x54888], rbx
mov qword [rdi + 0x89ee0], rbx
mov qword [rdi + 0x89ed8], rbx
mov qword [rdi + 0x89ec8], rax
movabs rax, 0x3ff0000000000000
mov qword [rdi + 0x5491c], rbx
mov dword [rdi + 0x5490c], ebx
mov qword [rdi + 0x54900], rbx
mov qword [rdi + 0x548f8], rbx
mov qword [rdi + 0x54930], rbx
mov qword [rdi + 0x188], rbx
mov qword [rdi + 0x54924], rbx
mov dword [rdi + 0x548e8], ebx
mov dword [rdi + 0x24f70], ebx
mov dword [rdi + 0x54918], ebx
mov dword [rdi + 0x2a918], ebx
mov qword [rdi + 0x2a910], rbx
mov qword [rdi + 0x548a4], r15
mov dword [rdi + 0x251e8], ebx
mov dword [rdi + 0x548a0], ebx
mov dword [rdi + 0x184], r15d
mov qword [rdi + 0x28], rax
mov dword [rdi + 0x5492c], ebx
nop dword [rax + rax]
cmp edx, r15d
lea rcx, [rcx + 4]
mov eax, ebx
sete al
cmp edx, 3
movd xmm0, eax
mov eax, ebx
cvtdq2ps xmm0, xmm0
setb al
test edx, edx
movss dword [rcx - 0x14], xmm0
movd xmm0, eax
mov eax, ebx
cvtdq2ps xmm0, xmm0
sete al
cmp edx, r15d
movss dword [rcx - 4], xmm0
mov dword [rcx + 0xc], ebx
movd xmm0, eax
mov eax, ebx
cvtdq2ps xmm0, xmm0
sete al
mov dword [rcx + 0x1c], ebx
mov dword [rcx + 0x2c], ebx
cmp edx, 2
movss dword [rcx + 0x6c], xmm0
movd xmm0, eax
mov eax, ebx
cvtdq2ps xmm0, xmm0
sete al
inc edx
movss dword [rcx + 0x7c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x8c], xmm0
cmp edx, 4
jl 0x140107fc0
mov eax, 3
lea rcx, [rdi + 0xf58]
mov dword [rdi + 0x190], eax
mov eax, ebx
nop
mov word [rcx], ax
lea rcx, [rcx + 2]
inc eax
cmp eax, 0x10000
jl 0x140108050
mov rcx, rdi
call fcn.140120ef0
mov rcx, rdi
mov word [rdi + 0x548d8], ax
call fcn.1401182f0
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x38], eax
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x54860]
lea rdx, [rsp + 0x60]
mov r9, r13
mov r8, r15
mov r10, qword [rcx]
call qword [r10 + 0x10]
cmp eax, r13d
jl 0x14010edae
mov qword [rdi + 0x54940], rbx
xor edx, edx
mov dword [rdi + 0x54948], ebx
mov rcx, qword [rdi + 0x54860]
movaps xmmword [rsp + 0x2b30], xmm10
movaps xmmword [rsp + 0x2b20], xmm11
lea r8d, [rdx + 2]
movaps xmmword [rsp + 0x2b10], xmm12
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
lea rbx, [rsp + 0x60]
movaps xmmword [rsp + 0x2b70], xmm6
mov r8, rax
mov qword [rsp + 0x30], rax
nop dword [rax]
cmp dword [rbx], 0x4d4d4d4d
mov edx, 0x63
movss xmm12, dword [0x140373dd4]
mov ecx, 0x4949
mov r11d, 0x4d4d
xorps xmm10, xmm10
xorps xmm11, xmm11
lea r15d, [rdx - 0x5e]
lea r9d, [rdx - 0x5f]
lea r13d, [rdx - 0x5b]
je 0x140108154
inc rbx
lea rax, [rsp + 0x7c]
cmp rbx, rax
jbe 0x140108110
jmp 0x14010815d
test rbx, rbx
jne 0x140108d10
lea rbx, [rsp + 0x60]
cmp dword [rbx], 0x49494949
je 0x140108179
inc rbx
lea rax, [rsp + 0x7c]
cmp rbx, rax
jbe 0x140108162
jmp 0x140108182
test rbx, rbx
jne 0x140108d10
movzx eax, word [rdi + 0x548d8]
cmp ax, cx
je 0x140108cc5
cmp ax, r11w
je 0x140108cc5
mov rdx, qword [rsp + 0x60]
cmp edx, 0xe1ffd8ff
jne 0x14010821b
cmp dword [rsp + 0x66], 0x66697845
jne 0x14010821b
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rdx, r9
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.140120ef0
movzx edx, ax
xor r8d, r8d
add rdx, 4
mov qword [rdi + 0x548f8], rdx
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp eax, 0xff
je 0x14010820d
mov edx, ntohs
mov rcx, rdi
call fcn.140145ce0
xor ebx, ebx
mov qword [rdi + 0x54888], rbx
jmp 0x140108d43
cmp dword [rsp + 0x79], 0x43455241
jne 0x140108571
cmp word [rsp + 0x7d], 0x594f
jne 0x140108571
cmp byte [rsp + 0x7f], 0x4b
jne 0x140108571
mov eax, dword [str.Contax]
xor r8d, r8d
mov dword [r12], eax
movzx eax, word [0x140387150]
mov word [r12 + 4], ax
movzx eax, byte [0x140387152]
lea edx, [r8 + 0x21]
mov byte [r12 + 6], al
movsd xmm0, qword [str.N_Digital]
movsd qword [rsi], xmm0
movzx eax, word [0x140387160]
mov word [rsi + 8], ax
mov rcx, qword [rdi + 0x54860]
movaps xmmword [rsp + 0x2b60], xmm7
movaps xmmword [rsp + 0x2b50], xmm8
movaps xmmword [rsp + 0x2b40], xmm9
mov rax, qword [rcx]
call qword [rax + 0x18]
mov edx, 1
mov rcx, rdi
call fcn.140147970
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x34]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
add eax, 0xfffffff9
cmp eax, 0xc
ja case.default.0x1401082ef
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x10ee48]
add rcx, rdx
jmp rcx
mov dword [rdi + 0x2a900], 0x41c80000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42000000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42200000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42480000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42800000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42a00000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42c80000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x42fa0000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x43200000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x43480000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x437a0000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x43a00000
jmp case.default.0x1401082ef
mov dword [rdi + 0x2a900], 0x43c80000
mov rcx, rdi
call fcn.1401182f0
movss xmm8, dword [0x140387ccc]
xorps xmm1, xmm1
movss xmm7, dword [0x140373e5c]
movss xmm6, dword [0x140387cf8]
mov eax, eax
cvtsi2ss xmm1, rax
mulss xmm1, xmm12
comiss xmm1, xmm8
ja 0x1401083d6
comiss xmm6, xmm1
ja 0x1401083d6
movaps xmm0, xmm7
call fcn.1402eccb0
jmp 0x1401083da
movaps xmm0, xmm10
divss xmm0, dword [0x140387ce4]
xor ebx, ebx
lea r14d, [rbx + 4]
movss dword [rdi + 0x2a904], xmm0
mov rcx, rdi
call fcn.1401182f0
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 + 0x25014], xmm0
sub r14, 1
jne 0x1401083f0
mov rcx, qword [rdi + 0x54860]
lea edx, [r14 + 0x58]
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
movss xmm9, dword [0x140387ae4]
xorps xmm1, xmm1
mov eax, eax
cvtsi2ss xmm1, rax
mulss xmm1, xmm9
comiss xmm1, xmm8
ja 0x140108466
comiss xmm6, xmm1
ja 0x140108466
movaps xmm0, xmm7
call fcn.1402eccb0
jmp 0x14010846a
movaps xmm0, xmm10
movss dword [rdi + 0x2a908], xmm0
xor r8d, r8d
mov rcx, qword [rdi + 0x54860]
lea edx, [r8 + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov eax, eax
xorps xmm0, xmm0
xor r8d, r8d
cvtsi2ss xmm0, rax
lea edx, [r8 + 0x68]
movss dword [rdi + 0x2a90c], xmm0
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
xorps xmm1, xmm1
mov eax, eax
cvtsi2ss xmm1, rax
mulss xmm1, xmm9
movaps xmm9, xmmword [rsp + 0x2b40]
comiss xmm1, xmm8
movaps xmm8, xmmword [rsp + 0x2b50]
ja 0x1401084f2
comiss xmm6, xmm1
ja 0x1401084f2
movaps xmm0, xmm7
call fcn.1402eccb0
jmp 0x1401084f6
movaps xmm0, xmm10
movss dword [rdi + 0x550], xmm0
xor r8d, r8d
mov rcx, qword [rdi + 0x54860]
lea edx, [r8 + 0x7c]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
lea rdx, [rdi + 0x430]
mov r9d, 1
mov rax, qword [rcx]
lea r8d, [r9 + 0x1f]
call qword [rax + 0x10]
movaps xmm7, xmmword [rsp + 0x2b60]
mov eax, 0x15
mov r14d, dword [rbp + 0x2ad8]
xor ebx, ebx
mov r8, qword [rsp + 0x30]
mov byte [rdi + 0x44f], 0
mov word [rdi + 0x4c2], ax
cmp byte [rdi + 0x430], bl
je 0x140108d48
mov word [rdi + 0x4b2], ax
jmp 0x140108d48
xor ebx, ebx
lea r11, [rsp + 0x60]
mov ecx, ebx
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
lea r10, [0x140387164]
inc rcx
cmp al, byte [r10 + rcx - 1]
mov r10d, 6
jne 0x1401085ca
cmp rcx, r9
jne 0x140108580
movsd xmm0, qword [str.Logitech]
movsd qword [r12], xmm0
movzx eax, byte [0x140387170]
mov byte [r12 + 8], al
movups xmm0, xmmword [str.Fotoman_Pixtura]
movups xmmword [rsi], xmm0
jmp 0x140108d48
mov rcx, rbx
lea r9, [rsp + 0x60]
lea r11, str.qktk
nop dword [rax]
movzx eax, byte [r9 + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x14010863e
cmp rcx, r15
jne 0x1401085e0
mov eax, dword [str.Apple]
mov dword [r12], eax
movzx eax, word [0x140387194]
mov word [r12 + 4], ax
movsd xmm0, qword [str.QuickTake_100]
movsd qword [rsi], xmm0
mov eax, dword [0x1403871a0]
mov dword [rsi + 8], eax
movzx eax, word [0x1403871a4]
mov word [rsi + 0xc], ax
lea rax, [0x14012d2d0]
mov qword [rdi + 0x89ed8], rax
jmp 0x140108d48
mov rcx, rbx
lea r9, [rsp + 0x60]
lea r11, str.qktn
nop dword [rax]
movzx eax, byte [r9 + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x1401086ae
cmp rcx, r15
jne 0x140108650
mov eax, dword [str.Apple]
mov dword [r12], eax
movzx eax, word [0x140387194]
mov word [r12 + 4], ax
movsd xmm0, qword [str.QuickTake_150]
movsd qword [rsi], xmm0
mov eax, dword [0x1403871b8]
mov dword [rsi + 8], eax
movzx eax, word [0x1403871bc]
mov word [rsi + 0xc], ax
lea rax, [0x14012da20]
mov qword [rdi + 0x89ed8], rax
jmp 0x140108d48
movabs rax, 0x4d4c4946494a5546
cmp rdx, rax
jne 0x1401087fc
mov r8d, 0x20
lea rdx, [rsp + 0x7c]
mov rcx, rsi
call fcn.1402e0010
mov byte [rdi + 0x124], bl
xor r8d, r8d
mov eax, dword [rbp - 0x64]
mov dword [rdi + 0x25120], eax
mov byte [rdi + 0x25124], bl
mov rcx, qword [rdi + 0x54860]
lea edx, [r8 + 0x54]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov eax, eax
mov rcx, rdi
mov qword [rdi + 0x54888], rax
call fcn.1401182f0
mov dword [rdi + 0x2ac50], eax
xor r8d, r8d
mov rcx, qword [rdi + 0x54860]
lea edx, [r8 + 0x5c]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov edx, eax
mov rcx, rdi
call fcn.140126f80
cmp qword [rdi + 0x54888], 0x78
jle 0x140108790
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x78]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
test eax, eax
mov ecx, ebx
setne cl
add dword [rdi + 0x184], ecx
cmp dword [rdi + 0x184], 2
jne 0x140108790
cmp dword [rdi + 0xe80], ebx
je 0x140108790
mov edx, eax
mov rcx, rdi
call fcn.140126f80
mov r8d, 0x80
lea rax, [fcn.14012a420]
mov qword [rdi + 0x89ed8], rax
mov edx, 0x64
mov rcx, qword [rdi + 0x54860]
cmp dword [rdi + 0xe80], ebx
cmova edx, r8d
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov eax, eax
mov rcx, rdi
mov edx, eax
mov qword [rdi + 0x548f8], rax
call fcn.140145ce0
mov edx, dword [rdi + 0x54888]
mov rcx, rdi
add edx, 0xc
call fcn.140145ce0
mov rcx, rdi
call fcn.140145da0
jmp 0x140108d43
cmp edx, 0x46464952
jne 0x140108823
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.14012f720
jmp 0x140108d43
mov rax, qword [rsp + 0x64]
movabs rcx, 0x2020747170797466
cmp rax, rcx
jne 0x140108868
cmp byte [rsp + 0x6c], 0x20
jne 0x140108868
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140147850
mov dword [rdi + 0x184], ebx
jmp 0x140108d43
cmp edx, 0x1000100
jne 0x140108930
cmp ax, 0x4000
jne 0x140108930
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rdx, r10
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov r9, r13
mov r8d, 1
mov rdx, r12
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x54860]
mov r9, r13
mov r8d, 1
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x54860]
lea rdx, [rdi + 0x25120]
mov r9d, 0x10
mov rax, qword [rcx]
lea r8d, [r9 - 0xf]
call qword [rax + 0x10]
mov rcx, rdi
call fcn.140120ef0
movzx eax, ax
mov rcx, rdi
mov qword [rdi + 0x548f8], rax
call fcn.140120ef0
mov rcx, rdi
call fcn.140120ef0
mov rcx, rdi
mov word [rdi + 0x12], ax
call fcn.140120ef0
mov word [rdi + 0x10], ax
lea rax, [0x14012b920]
mov qword [rdi + 0x89ed8], rax
mov dword [rdi + 0x194], 0x61616161
jmp 0x140108d43
movabs rcx, 0x57415241494b4f4e
cmp rdx, rcx
jne 0x140108a61
mov eax, dword [str.NOKIA]
xor r8d, r8d
mov dword [r12], eax
mov edx, 0x12c
movzx eax, word [0x1403871c4]
mov word [r12 + 4], ax
mov eax, 0x4949
mov word [rdi + 0x548d8], ax
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov eax, eax
mov rcx, rdi
mov qword [rdi + 0x548f8], rax
call fcn.1401182f0
mov rcx, rdi
mov ebx, eax
call fcn.140120ef0
mov rcx, rdi
mov word [rdi + 0x16], ax
call fcn.140120ef0
movzx r8d, ax
mov edx, 0x3e7f
mov word [rdi + 0x14], r8w
movzx eax, word [rdi + 0x16]
lea ecx, [rax - 1]
cmp cx, dx
ja 0x14010ede6
lea ecx, [r8 - 1]
cmp cx, dx
ja 0x14010ede6
mov ecx, r8d
mov r9d, eax
imul ecx, eax
cmp ebx, ecx
jl 0x14010ede6
lea eax, [rcx + rcx]
cmp ebx, eax
jg 0x14010ede6
lea eax, [rbx*8]
cdq
idiv ecx
mov dword [rdi + 0x5491c], eax
mov ecx, eax
test eax, eax
je 0x14010edcf
cmp eax, r13d
je 0x140108a1e
cmp eax, 0xa
jne 0x140108a2c
lea rax, [0x14012b920]
jmp 0x140108a25
lea rax, [0x14012ec80]
mov qword [rdi + 0x89ed8], rax
imul ecx, r9d
xor edx, edx
mov eax, ebx
shr ecx, 3
div ecx
sub ax, r8w
mov word [rdi + 0x18], ax
add r8w, ax
mov word [rdi + 0x10], r8w
mov eax, 1
mov dword [rdi + 0x40], eax
mov dword [rdi + 0x194], 0x61616161
jmp 0x140108d41
cmp edx, 0x49525241
jne 0x140108b1d
mov eax, 0x4949
xor r8d, r8d
mov word [rdi + 0x548d8], ax
mov rcx, qword [rdi + 0x54860]
lea edx, [r8 + 0x14]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1401182f0
mov rcx, rdi
mov word [rdi + 0x16], ax
call fcn.1401182f0
mov word [rdi + 0x14], ax
xor r8d, r8d
mov eax, dword [str.ARRI]
mov edx, 0x29c
mov dword [r12], eax
movzx eax, byte [0x1403871cc]
mov byte [r12 + 4], al
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov r9d, 0x40
mov rdx, rsi
mov rax, qword [rcx]
lea r8d, [r9 - 0x3f]
call qword [rax + 0x10]
mov eax, 0x1000
mov qword [rdi + 0x548f8], rax
lea rax, [0x140129d10]
mov qword [rdi + 0x89ed8], rax
mov dword [rdi + 0x54930], 0x58
mov dword [rdi + 0x194], 0x61616161
jmp 0x140108d43
cmp edx, 0x53445058
jne 0x140108bec
mov eax, 0x4949
xor r8d, r8d
mov word [rdi + 0x548d8], ax
mov edx, 0x800
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov r9d, 0x29
mov rdx, r12
mov rax, qword [rcx]
lea r8d, [r9 - 0x28]
call qword [rax + 0x10]
mov rcx, rdi
call fcn.140120ef0
mov rcx, rdi
mov word [rdi + 0x10], ax
call fcn.140120ef0
mov word [rdi + 0x12], ax
mov edx, 0x38
mov rcx, qword [rdi + 0x54860]
lea r8d, [rdx - 0x37]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov r9d, 0x1e
mov rdx, rsi
mov rax, qword [rcx]
lea r8d, [r9 - 0x1d]
call qword [rax + 0x10]
movsd xmm2, qword [0x140387c30]
lea rax, [0x14012c000]
mov qword [rdi + 0x548f8], 0x10000
mov r9d, 1
movaps xmm1, xmm11
mov qword [rdi + 0x89ed8], rax
mov rcx, rdi
mov dword [rsp + 0x20], 0x3ff
call fcn.1401183f0
jmp 0x140108d43
cmp eax, 0x31444552
jne 0x140108c4c
mov dword [r12], 0x646552
mov rcx, rdi
mov dword [rsi], 0x656e4f
call fcn.140127c00
movsd xmm2, qword [0x140387c38]
lea rax, [0x140127db0]
movsd xmm1, qword [0x140387b80]
mov r9d, 1
mov rcx, rdi
mov qword [rdi + 0x89ed8], rax
mov dword [rsp + 0x20], 0xfff
call fcn.1401183f0
mov dword [rdi + 0x194], 0x49494949
jmp 0x140108d43
movabs rax, 0x67616d492d435344
cmp rdx, rax
jne 0x140108c6f
cmp byte [rsp + 0x68], 0x65
jne 0x140108c6f
mov rcx, rdi
call fcn.140127f90
jmp 0x140108d43
cmp edx, 0x44415750
jne 0x140108c84
mov rcx, rdi
call fcn.14012a690
jmp 0x140108d43
cmp edx, 0x4d524d00
jne 0x140108c9b
xor edx, edx
mov rcx, rdi
call fcn.140133f80
jmp 0x140108d43
cmp edx, 0x62564f46
jne 0x140108cb0
mov rcx, rdi
call fcn.1400fcb30
jmp 0x140108d43
cmp dx, 0x4943
jne 0x140108d48
mov rcx, rdi
call fcn.14012f9b0
jmp 0x140108d43
movabs rax, 0x5244434350414548
cmp qword [rsp + 0x66], rax
jne 0x140108d2b
movsxd rcx, dword [rsp + 0x38]
xor r9d, r9d
mov qword [rdi + 0x548f8], rcx
sub r8d, ecx
mov word [rdi + 0x4c2], dx
mov word [rdi + 0x4b2], dx
mov edx, ecx
mov rcx, rdi
call fcn.1401222d0
lea rax, [0x140124a10]
mov qword [rdi + 0x89ed8], rax
jmp 0x140108d41
lea rax, [rsp + 0x60]
mov edx, ebx
sub edx, eax
mov rcx, rdi
call fcn.14012a8f0
lea rax, [rsp + 0x60]
cmp rbx, rax
je 0x140108d41
xor edx, edx
mov rcx, rdi
call fcn.140145ce0
test eax, eax
je 0x140108d41
mov rcx, rdi
call fcn.140145da0
xor ebx, ebx
mov r8, qword [rsp + 0x30]
cmp byte [r12], 0
jne 0x140109049
mov dword [rbp + 0x2ae0], ebx
mov eax, ebx
test r14d, r14d
je 0x140109049
mov ecx, dword [rbp + 0x2ad8]
nop word [rax + rax]
movsxd r14, eax
lea rbx, [r14 + r14*2]
shl rbx, 4
cmp r8d, dword [rbp + rbx + 0x3a0]
je 0x140108d90
inc eax
cmp eax, ecx
jb 0x140108d70
jmp 0x140109049
lea rcx, [rbp + 0x3b0]
mov rdx, r12
add rcx, rbx
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140108da0
mov r8, r15
lea rdx, [0x140322c64]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x140108dd7
mov eax, 0x63
mov word [rdi + 0x4c2], ax
mov word [rdi + 0x4b2], ax
lea rcx, [rbp + 0x3ba]
mov rdx, rsi
add rcx, rbx
lea rax, [rbp + 0x3ba]
lea rbx, [r14 + r14*2]
shl rbx, 4
sub rdx, rbx
sub rdx, rax
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140108e00
movzx eax, byte [rbp + rbx + 0x3af]
shr eax, 2
mov dword [rdi + 0x30], eax
movzx eax, byte [rbp + rbx + 0x3af]
and eax, 2
mov dword [rdi + 0x548a8], eax
test byte [rbp + rbx + 0x3af], 1
je 0x140108e3f
mov rcx, rdi
call fcn.140147a80
movzx eax, word [rbp + rbx + 0x3ce]
xor r11d, r11d
mov ecx, 0xffff
mov r10d, r11d
cmp ax, cx
cmovne r10d, eax
mov qword [rdi + 0x548f8], r10
movzx r8d, word [rbp + rbx + 0x3a4]
mov word [rdi + 0x12], r8w
movzx r9d, word [rbp + rbx + 0x3a6]
mov word [rdi + 0x10], r9w
movzx ecx, byte [rbp + rbx + 0x3a8]
mov word [rdi + 0x1a], cx
movzx edx, byte [rbp + rbx + 0x3a9]
mov word [rdi + 0x18], dx
movzx eax, byte [rbp + rbx + 0x3aa]
sub r8w, ax
sub r8w, cx
mov word [rdi + 0x16], r8w
movzx eax, byte [rbp + rbx + 0x3ab]
sub r9w, ax
sub r9w, dx
mov rdx, qword [rsp + 0x30]
mov word [rdi + 0x14], r9w
movzx eax, byte [rbp + rbx + 0x3ad]
imul ecx, eax, 0x1010101
mov dword [rdi + 0x194], ecx
mov eax, ecx
shr eax, 1
and eax, ecx
test eax, 0x5555
mov eax, r11d
movsxd r11, edx
setne al
sub r11, r10
add eax, 3
mov dword [rdi + 0x190], eax
movzx r9d, byte [rbp + rbx + 0x3ac]
mov dword [rdi + 0x54930], r9d
movzx eax, word [rdi + 0x10]
movzx r14d, word [rdi + 0x12]
mov dword [rbp + 0x2ad8], eax
imul eax, r14d
movsxd rcx, eax
lea rax, [r11*8]
cqo
idiv rcx
mov r8, rax
mov dword [rdi + 0x5491c], r8d
cmp eax, 6
je 0x14010901d
cmp r8d, r13d
je 0x140109014
cmp r8d, 0xa
je 0x140108fc6
mov eax, r9d
cmp r8d, 0xc
je 0x140109001
cmp r8d, 0x10
jne 0x14010902b
movzx ecx, r9w
mov eax, 0x404
cwde
and cx, 1
movsx edx, cx
lea rcx, [0x14012a570]
imul edx, eax
mov eax, 0x4949
or dx, ax
mov eax, r9d
shr eax, 1
and eax, 7
mov word [rdi + 0x548d8], dx
mov dword [rdi + 0x54930], eax
mov edx, 0xffff
shr r9d, 4
sub r8d, r9d
sub r8d, eax
lea rax, [fcn.14012a420]
mov dword [rdi + 0x5491c], r8d
cmp word [rbp + rbx + 0x3ce], dx
cmove rax, rcx
jmp 0x140109024
movzx ecx, word [rbp + 0x2ad8]
mov rax, r11
cqo
idiv rcx
lea ecx, [r14*4]
lea rdx, [rax + rax*2]
cmp rdx, rcx
jl 0x140108fef
lea rax, [0x14012bc20]
jmp 0x140109024
mov eax, r9d
test r9b, 1
je 0x140109001
lea rax, [0x14012be50]
jmp 0x140109024
bts eax, 7
mov dword [rdi + 0x54930], eax
lea rax, [0x140129d10]
jmp 0x140109024
lea rax, [0x14012ec80]
jmp 0x140109024
lea rax, [0x14012d0f0]
mov qword [rdi + 0x89ed8], rax
movzx ecx, byte [rbp + rbx + 0x3ae]
mov eax, 1
mov edx, eax
shl edx, cl
mov ecx, r8d
shl eax, cl
sub eax, edx
mov dword [rdi + 0x24f78], eax
mov r14, qword [rsp + 0x30]
xor eax, eax
cmp dword [rbp + 0x2ae0], eax
cmove eax, r14d
cmp byte [r12], 0
mov dword [rbp + 0x2ad8], eax
jne 0x140109466
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 2]
call qword [rax + 0x18]
mov eax, 0x4949
mov word [rdi + 0x548d8], ax
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov ebx, eax
cmp eax, 6
jne 0x1401090b4
mov rcx, qword [rdi + 0x54860]
lea r8d, [rax - 5]
mov rdx, r15
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov rcx, rdi
call fcn.1401182f0
cmp eax, r14d
jne 0x140109151
cmp ebx, 6
jle 0x1401090db
mov rcx, rdi
call fcn.1401182f0
mov eax, eax
mov qword [rdi + 0x548f8], rax
mov rcx, rdi
call fcn.140120ef0
mov word [rdi + 0x14], ax
mov rcx, rdi
mov word [rdi + 0x10], ax
call fcn.140120ef0
mov word [rdi + 0x16], ax
lea rdx, str.v_d__dx_d
mov word [rdi + 0x12], ax
mov r8d, ebx
mov eax, dword [str.SMaL]
mov rcx, rsi
mov dword [r12], eax
movzx eax, byte [0x1403773c4]
mov byte [r12 + 4], al
movzx eax, word [rdi + 0x14]
movzx r9d, word [rdi + 0x16]
mov dword [rsp + 0x20], eax
call fcn.140019570
cmp ebx, 6
jne 0x14010913e
lea rax, [0x14012f2d0]
jmp 0x14010914a
cmp ebx, 9
jne 0x140109151
lea rax, [0x14012f5d0]
mov qword [rdi + 0x89ed8], rax
cmp byte [r12], 0
jne 0x140109466
xor edx, edx
mov rcx, rdi
call fcn.14012fe20
mov rcx, qword [rdi + 0x54860]
mov r14d, 2
mov r8d, r14d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
lea r8d, [r14 + 7]
mov rcx, rsi
lea rdx, str.RP_imx219
mov rbx, rax
call fcn.1402ec490
test eax, eax
jne 0x1401092c1
cmp ebx, 0x9cb600
jl 0x1401092c1
mov rcx, qword [rdi + 0x54860]
mov r8d, r14d
mov rdx, 0xffffffffff634a00
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x1401092c1
mov rcx, qword [rdi + 0x54860]
lea r9d, [r14 + 0x1e]
lea r8d, [r14 - 1]
lea rdx, [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14d, 4
test eax, eax
je 0x1401092c7
mov r8d, r14d
lea rdx, str.BRCM
lea rcx, [rsp + 0x60]
call fcn.1402ec490
test eax, eax
jne 0x1401092c7
movsd xmm0, qword [str.Broadcom]
movsd qword [r12], xmm0
movzx eax, byte [0x1403871e0]
mov byte [r12 + 8], al
movsd xmm0, qword [str.RPi_IMX219]
movsd qword [rsi], xmm0
movzx eax, word [0x1403871f0]
mov word [rsi + 8], ax
movzx eax, byte [0x1403871f2]
mov byte [rsi + 0xa], al
movzx eax, word [rdi + 0x12]
cmp word [rdi + 0x10], ax
jbe 0x140109261
mov dword [rdi + 0x30], r15d
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
add rax, 0x7fe0
mov rcx, rdi
mov qword [rdi + 0x548f8], rax
call fcn.14012b640
mov dword [rdi + 0x24f70], 0x42
lea rax, [0x14012b720]
mov dword [rdi + 0x24f78], 0x3ff
mov qword [rdi + 0x89ed8], rax
lea eax, [rbx - 0x9cb601]
mov qword [rdi + 0x54888], 0
mov dword [rdi + 0x2ac50], eax
jmp 0x140109466
mov r14d, 4
mov r8d, 6
lea rdx, str.ov5647
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x1401092fd
mov r8d, 9
lea rdx, str.RP_OV5647
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010945c
cmp ebx, 0x61b800
jl 0x14010945c
mov rcx, qword [rdi + 0x54860]
mov rdx, 0xffffffffff9e4800
mov r8d, 2
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x14010945c
mov rcx, qword [rdi + 0x54860]
lea rdx, [rsp + 0x60]
mov r9d, 0x20
mov rax, qword [rcx]
lea r8d, [r9 - 0x1f]
call qword [rax + 0x10]
test eax, eax
je 0x14010945c
mov r8, r14
lea rdx, str.BRCM
lea rcx, [rsp + 0x60]
call fcn.1402ec490
test eax, eax
jne 0x14010945c
movsd xmm0, qword [str.Broadcom]
lea rdx, str.ov5647
movsd qword [r12], xmm0
mov r8d, 6
movzx eax, byte [0x1403871e0]
mov rcx, rsi
mov byte [r12 + 8], al
call fcn.1402ec490
test eax, eax
jne 0x1401093c7
movsd xmm0, qword [str.RPi_OV5647_v.1]
movsd qword [rsi], xmm0
mov eax, dword [0x140387200]
mov dword [rsi + 8], eax
movzx eax, word [0x140387204]
mov word [rsi + 0xc], ax
movzx eax, byte [0x140387206]
jmp 0x1401093ee
movsd xmm0, qword [str.RPi_OV5647_v.2]
movsd qword [rsi], xmm0
mov eax, dword [0x140387210]
mov dword [rsi + 8], eax
movzx eax, word [0x140387214]
mov word [rsi + 0xc], ax
movzx eax, byte [0x140387216]
mov byte [rsi + 0xe], al
movzx eax, word [rdi + 0x12]
cmp word [rdi + 0x10], ax
jbe 0x1401093ff
mov dword [rdi + 0x30], r15d
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
add rax, 0x7fe0
mov rcx, rdi
mov qword [rdi + 0x548f8], rax
call fcn.14012b640
mov dword [rdi + 0x24f70], 0x10
lea rax, [0x14012b720]
mov dword [rdi + 0x24f78], 0x3ff
mov qword [rdi + 0x89ed8], rax
lea eax, [rbx - 0x61b801]
mov qword [rdi + 0x54888], 0
mov dword [rdi + 0x2ac50], eax
jmp 0x140109466
mov dword [rdi + 0x184], 0
mov byte [rdi + 0x2515f], 0
xor esi, esi
mov byte [rdi + 0x143], 0
mov byte [rdi + 0x103], 0
mov byte [rdi + 0x2ac0b], 0
mov byte [rdi + 0x2abcb], 0
lea rdi, [0x140000000]
cmp byte [r12], 0
mov r14, r12
movsxd rax, esi
mov rbx, qword [rdi + rax*8 + 0x4bd890]
je 0x140109511
nop word [rax + rax]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x1401094c0
mov rdx, rbx
mov rcx, r14
call fcn.140308184
test eax, eax
je 0x1401094e4
inc r14
cmp byte [r14], 0
jne 0x1401094b0
jmp 0x140109511
movsxd rcx, esi
mov rdx, r12
mov rcx, qword [rdi + rcx*8 + 0x4bd890]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140109500
inc esi
cmp esi, 0x15
jb 0x140109492
mov r8, r15
lea rdx, [0x1403771ec]
mov rcx, r12
call fcn.1402ec490
mov rdi, qword [rbp + 0x2ad0]
mov ecx, reloc.WS2_32.dll_ntohs
lea rsi, [rdi + 0x104]
test eax, eax
je 0x14010955e
mov r8, r15
lea rdx, str.Leica
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x1401095ad
lea ecx, [rax + 0xf]
cmp byte [rsi], 0
mov rbx, rsi
je 0x140109593
nop word [rax + rax]
mov r8, rcx
lea rdx, str._DIGITAL_CAMERA
mov rcx, rbx
call fcn.140308184
test eax, eax
je 0x1401095aa
inc rbx
mov ecx, reloc.WS2_32.dll_ntohs
cmp byte [rbx], 0
jne 0x140109570
lea rdx, str.FILE_VERSION
mov rcx, rsi
call fcn.1402d23b0
mov rbx, rax
test rax, rax
je 0x1401095ad
mov byte [rbx], 0
mov r8d, 6
lea rdx, str.PENTAX
mov rcx, rsi
call fcn.140308184
test eax, eax
jne 0x1401095e9
mov eax, dword [0x140322cb0]
mov dword [r12], eax
movzx eax, word [0x140322cb4]
mov word [r12 + 4], ax
movzx eax, byte [0x140322cb6]
mov byte [r12 + 6], al
mov r14d, 0x3f
mov byte [r12 + 0x3f], 0
mov r8d, r14d
xor edx, edx
mov rcx, r12
call fcn.1402d25c0
mov rdx, rax
mov ecx, r14d
sub rdx, r12
test rax, rax
cmovne rcx, rdx
lea eax, [rcx - 1]
movsxd rcx, eax
test eax, eax
js 0x140109637
lea rbx, [rcx + r12]
movzx ecx, byte [rbx]
call fcn.1402d88b0
test eax, eax
je 0x140109637
mov byte [rbx], 0
dec rbx
cmp rbx, r12
jns 0x140109620
mov r8, r14
mov byte [rsi + 0x3f], 0
xor edx, edx
mov rcx, rsi
call fcn.1402d25c0
mov rdx, rax
mov rcx, r14
sub rdx, rsi
test rax, rax
cmovne rcx, rdx
lea eax, [rcx - 1]
movsxd rcx, eax
test eax, eax
js 0x14010967d
lea rbx, [rcx + rsi]
movzx ecx, byte [rbx]
call fcn.1402d88b0
test eax, eax
je 0x14010967d
mov byte [rbx], 0
dec rbx
cmp rbx, rsi
jns 0x140109666
mov r8, r14
xor edx, edx
mov rcx, r12
call fcn.1402d25c0
mov ecx, eax
mov rdx, r12
sub ecx, r12d
test rax, rax
cmovne r14d, ecx
mov rcx, rsi
movsxd rbx, r14d
mov r8, rbx
call fcn.140308184
test eax, eax
jne 0x1401096d8
inc r14d
cmp byte [rbx + rdi + 0x104], 0x20
jne 0x1401096d8
mov eax, 0x40
movsxd rcx, r14d
sub eax, r14d
lea rdx, [rdi + 0x104]
add rdx, rcx
movsxd r8, eax
mov rcx, rsi
call fcn.1402d15b0
mov r8, r13
lea rdx, str.FinePix
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x140109712
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x1401096f5
sub r8, 7
lea rdx, [rdi + 0x10c]
mov rcx, rsi
call fcn.1402d15b0
mov r8d, reloc.WS2_32.dll_ntohs
lea rdx, str.Digital_Camera
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010974f
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x140109732
sub r8, 0xe
lea rdx, [rdi + 0x113]
mov rcx, rsi
call fcn.1402d15b0
mov byte [rdi + 0x2515f], 0
mov byte [rdi + 0x143], 0
mov byte [rdi + 0x103], 0
mov byte [rdi + 0x2ac0b], 0
mov byte [rdi + 0x2abcb], 0
cmp dword [rdi + 0x184], 0
je 0x14010ecc9
movzx ecx, word [rdi + 0x14]
movzx edx, cx
test cx, cx
jne 0x140109796
movzx edx, word [rdi + 0x10]
mov word [rdi + 0x14], dx
movzx ecx, dx
movzx eax, word [rdi + 0x16]
test ax, ax
jne 0x1401097aa
movzx eax, word [rdi + 0x12]
movzx ecx, dx
mov word [rdi + 0x16], ax
mov edx, 0xa40
cmp cx, dx
jne 0x14010982e
movzx ecx, dx
mov edx, 0xf60
cmp ax, dx
jne 0x14010982e
mov dword [rdi + 0x14], 0xf380a38
xor r14d, r14d
movzx r8d, word [rdi + 0x16]
mov r10d, 0x17c0
movzx r9d, r8w
mov edx, 7
cmp r8w, r10w
jne 0x140109920
mov r9d, r10d
lea r11, str.K_70
mov rcx, r14
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x140109920
cmp rcx, r15
jne 0x140109800
mov dword [rdi + 0x14], 0x17840fb0
mov dword [rdi + 0x18], 0x3c0020
movzx edx, word [rdi + 0x16]
jmp 0x140109a90
mov r8d, 0xc40
movzx edx, ax
cmp cx, r8w
jne 0x14010985d
mov ecx, 0x1300
cmp ax, cx
jne 0x14010985d
mov dword [rdi + 0x14], 0x12500c34
mov dword [rdi + 0x194], 0x16161616
jmp 0x1401097c8
mov eax, 0x1100
cmp dx, ax
jne 0x1401098cf
xor r14d, r14d
lea r8, [0x140387258]
mov ecx, r14d
lea edx, [r14 + 4]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140109895
cmp rcx, rdx
jne 0x140109880
jmp 0x1401098b7
mov rcx, r14
lea r8, [0x14038725c]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1401097cb
cmp rcx, rdx
jne 0x1401098a0
mov eax, 0x10d5
mov word [rdi + 0x16], ax
mov dword [rdi + 0x194], 0x16161616
jmp 0x1401097cb
mov eax, 0x1360
cmp dx, ax
jb 0x1401097c8
mov r8d, 3
lea rdx, [0x140387260]
mov rcx, rsi
call fcn.1402ec490
xor r14d, r14d
test eax, eax
jne 0x1401097cb
mov r8d, 0xa
mov eax, 0x1356
mov word [rdi + 0x1a], r8w
mov word [rdi + 0x16], ax
mov dword [rdi + 0x194], 0x16161616
jmp 0x1401097cb
mov eax, 0x1280
cmp r9w, ax
jne 0x140109977
movzx r9d, ax
lea r11, [0x14038726c]
mov rcx, r14
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x140109977
cmp rcx, 4
jne 0x140109940
mov dword [rdi + 0x14], 0x124c0c32
mov eax, 2
mov dword [rdi + 0x194], 0x16161616
mov word [rdi + 0x18], ax
movzx edx, word [rdi + 0x16]
jmp 0x140109a90
cmp r9w, r10w
jne 0x1401099ba
movzx r9d, r10w
lea r11, str.K_3_II
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x1401099ba
cmp rcx, rdx
jne 0x140109990
mov eax, 4
mov edx, 0x1798
mov word [rdi + 0x1a], ax
mov word [rdi + 0x16], dx
jmp 0x140109a90
mov eax, 0x17e0
cmp r9w, ax
jne 0x1401099ff
cmp byte [rsi], 0x4b
movzx r9d, ax
jne 0x1401099ff
cmp byte [rsi + 1], 0x50
jne 0x1401099ff
cmp byte [rsi + 2], 0
jne 0x1401099ff
mov dword [rdi + 0x18], 0x36001c
mov eax, 0x178c
mov word [rdi + 0x16], ax
movzx eax, word [rdi + 0x10]
sub ax, 0x1c
mov word [rdi + 0x14], ax
movzx edx, word [rdi + 0x16]
jmp 0x140109a90
movzx edx, r8w
cmp r9w, r10w
jne 0x140109a47
mov rcx, r14
lea r8, [0x140387278]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140109a90
mov eax, 4
cmp rcx, rax
jne 0x140109a20
mov edx, 0x1798
mov word [rdi + 0x1a], ax
mov word [rdi + 0x16], dx
jmp 0x140109a90
mov eax, 0x1d00
cmp r9w, ax
jne 0x140109a90
mov rcx, r14
lea r8, str.645D
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140109a90
cmp rcx, r15
jne 0x140109a60
mov dword [rdi + 0x14], 0x1ca0157e
mov edx, 0x1ca0
mov dword [rdi + 0x194], 0x61616161
mov dword [rdi + 0x18], 0x30001d
mov eax, 0xbc6
cmp word [rdi + 0x14], ax
jne 0x140109aae
mov eax, 0x1000
cmp dx, ax
jne 0x140109aae
mov eax, 0xfae
mov word [rdi + 0x16], ax
cmp dword [rdi + 0x188], 0
lea rdx, [0x140125d90]
je 0x140109c33
mov eax, dword [rdi + 0x194]
cmp eax, 0xffffffff
jne 0x140109b0d
mov dword [rdi + 0x194], r14d
mov eax, dword [rdi + 0x54918]
mov dword [rdi + 0x190], eax
mov ecx, dword [rdi + 0x54920]
lea rbx, [0x1400fbbb0]
test ecx, ecx
je 0x140109b39
sub ecx, 1
je 0x140109b39
sub ecx, 6
je 0x140109b30
sub ecx, 1
je 0x140109b2b
cmp ecx, 0x8844
je 0x140109b26
mov rax, r14
jmp 0x140109b40
test eax, eax
je 0x140109ad4
mov eax, dword [rdi + 0x184]
imul eax, dword [rdi + 0x54918]
mov dword [rdi + 0x184], eax
jmp 0x140109ae0
mov rax, rdx
jmp 0x140109b40
mov rax, rbx
jmp 0x140109b40
lea rax, [0x1401258b0]
jmp 0x140109b40
lea rax, [0x140125c50]
mov r8, r15
mov qword [rdi + 0x89ed8], rax
lea rdx, [0x140322c64]
mov rcx, r12
call fcn.1402ec490
lea rbx, [0x140000000]
test eax, eax
jne 0x140109bc0
mov r8d, dword [rdi + 0x548c4]
test r8d, r8d
je 0x140109bc0
mov ecx, r14d
nop dword [rax]
nop word [rax + rax]
movsxd rax, ecx
imul rdx, rax, 0x16
movzx eax, word [rdx + rbx + 0x384bc0]
add eax, 0x80000000
cmp r8d, eax
je 0x140109ba2
inc ecx
cmp ecx, 0x37
jb 0x140109b80
jmp 0x140109bc0
lea rcx, [rbx + 0x384bc2]
add rcx, rdx
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140109bb2
mov r8d, 4
lea rdx, [0x140373940]
mov rcx, r12
call fcn.140308184
test eax, eax
jne 0x14010a264
mov r8d, dword [rdi + 0x548c4]
test r8d, r8d
je 0x14010a264
mov ecx, r14d
movsxd rax, ecx
imul rdx, rax, 0x16
movzx eax, word [rdx + rbx + 0x385080]
cmp r8d, eax
je 0x140109c10
inc ecx
cmp ecx, 0x48
jb 0x140109bf0
jmp 0x14010a264
lea rcx, [rdx + 0x385082]
mov rdx, rsi
add rcx, rbx
sub rdx, rcx
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140109c20
jmp 0x14010a264
mov r8, r15
lea rdx, [0x140322c64]
mov rcx, r12
call fcn.1402ec490
lea rcx, [0x140124df0]
test eax, eax
jne 0x140109d6b
cmp dword [rbp + 0x2ad8], eax
jne 0x140109d6b
cmp dword [rdi + 0x5491c], 0xf
je 0x140109d6b
cmp qword [rdi + 0x89ed8], 0
jne 0x140109c7e
mov qword [rdi + 0x89ed8], rcx
mov r10d, r14d
lea rbx, [0x140000000]
nop dword [rax + rax]
movzx r9d, word [rdi + 0x12]
movsxd rax, r10d
imul rdx, rax, 0x16
cmp r9w, word [rdx + rbx + 0x3847e0]
jne 0x140109d44
movzx r8d, word [rdi + 0x10]
cmp r8w, word [rdx + rbx + 0x3847e2]
jne 0x140109d44
movzx eax, word [rdx + rbx + 0x3847e4]
sub r9w, word [rdx + rbx + 0x3847e8]
movzx ecx, word [rdx + rbx + 0x3847e6]
sub r9w, ax
sub r8w, word [rdx + rbx + 0x3847ea]
mov word [rdi + 0x1a], ax
sub r8w, cx
movzx eax, word [rdx + rbx + 0x3847ec]
mov word [rdi + 0x18], cx
mov word [rdi + 0x16], r9w
mov word [rdi + 0x14], r8w
mov dword [rdi + 0x38], eax
movzx eax, word [rdx + rbx + 0x3847ee]
neg eax
mov dword [rdi + 0x40], eax
movzx eax, word [rdx + rbx + 0x3847f0]
mov dword [rdi + 0x48], eax
movzx eax, word [rdx + rbx + 0x3847f2]
neg eax
mov dword [rdi + 0x50], eax
movzx eax, word [rdx + rbx + 0x3847f4]
test ax, ax
je 0x140109d44
imul ecx, eax, 0x1010101
mov dword [rdi + 0x194], ecx
inc r10d
cmp r10d, 0x2d
jb 0x140109c90
mov eax, dword [rdi + 0x548c4]
bts eax, 0x11
cmp eax, 0x2720000
jne 0x140109d72
mov dword [rdi + 0x18], 0x80010
jmp 0x140109d72
lea rbx, [0x140000000]
mov r8, r15
lea rdx, [0x140322c64]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x140109df0
cmp dword [rdi + 0x548c4], eax
je 0x140109df0
movsxd rax, r14d
imul rcx, rax, 0x16
movzx eax, word [rcx + rbx + 0x384bc0]
add eax, 0x80000000
cmp dword [rdi + 0x548c4], eax
jne 0x140109de7
mov rax, qword [rdi]
lea rbx, [rbx + 0x384bc2]
add rbx, rcx
lea rdx, [0x140322c64]
mov r8, rbx
xor r9d, r9d
mov rcx, rdi
call qword [rax + 0x40]
mov rcx, rsi
sub rcx, rbx
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140109dd2
lea rbx, [0x140000000]
inc r14d
cmp r14d, 0x37
jb 0x140109d90
lea rbx, [0x140373940]
mov r8d, 4
mov rdx, rbx
mov rcx, r12
call fcn.140308184
test eax, eax
jne 0x140109e85
cmp dword [rdi + 0x548c4], eax
je 0x140109e85
xor r14d, r14d
lea r12, [0x140000000]
nop
movsxd rax, r14d
imul rcx, rax, 0x16
movzx eax, word [rcx + r12 + 0x385080]
cmp dword [rdi + 0x548c4], eax
jne 0x140109e6e
mov rax, qword [rdi]
lea rbx, [r12 + 0x385082]
add rbx, rcx
lea rdx, [0x140373940]
mov r8, rbx
xor r9d, r9d
mov rcx, rdi
call qword [rax + 0x40]
mov rcx, rsi
sub rcx, rbx
nop
movzx eax, byte [rbx]
mov byte [rbx + rcx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140109e60
inc r14d
cmp r14d, 0x48
jb 0x140109e20
lea r12, [rdi + 0xc4]
lea rbx, [0x140373940]
mov r8, r15
lea rdx, [0x1403739b4]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x140109ed3
cmp qword [rdi + 0x89ed8], 0
jne 0x140109eb3
lea rax, [0x140129d10]
mov qword [rdi + 0x89ed8], rax
cmp byte [rsi], 0x45
jne 0x140109ed3
cmp qword [rdi + 0x548f8], 0
mov eax, 2
mov ecx, 6
cmove eax, ecx
or dword [rdi + 0x54930], eax
lea rdx, str.KAI_0340
mov rcx, rsi
call fcn.1402ec350
mov r14d, 0x1e0
test eax, eax
jne 0x140109f41
mov eax, 0x10
mov dword [rsp + 0x20], 0x1400
mov r8d, eax
mov edx, eax
mov r9d, 0xf00
mov rcx, rdi
call fcn.140129fe0
movss xmm1, dword [0x140387cbc]
xor r10d, r10d
comiss xmm1, xmm0
jbe 0x140109f44
mov word [rdi + 0x14], r14w
mov dword [rdi + 0x194], r10d
mov word [rdi + 0x18], r10w
mov eax, dword [str.C603]
mov dword [rsi], eax
movzx eax, byte [0x140387298]
mov byte [rsi + 4], al
jmp 0x140109f44
xor r10d, r10d
mov rcx, r10
nop word [rax + rax]
movzx eax, byte [r12 + rcx]
mov edx, 0xf30
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x140109fb9
cmp rcx, r15
jne 0x140109f50
lea r14, [rdi + 0x20f58]
cmp word [rdi + 0x12], dx
jbe 0x140109fc0
cmp dword [rdi + 0x24f70], 0
jne 0x140109fc0
cmp dword [r14], 0
jne 0x140109fc0
lea rax, [0x1401318f0]
cmp qword [rdi + 0x89ed8], rax
jne 0x140109fa1
mov edx, 0x200
mov dword [rdi + 0x24f70], edx
jmp 0x140109fc0
mov ecx, dword [rdi + 0x5491c]
mov edx, 0x80
sub ecx, 0xc
shl edx, cl
mov dword [rdi + 0x24f70], edx
jmp 0x140109fc0
lea r14, [rdi + 0x20f58]
cmp dword [rdi + 0x18c], 0
je 0x14010a006
movzx ecx, word [rdi + 0x14]
movzx edx, word [rdi + 0x16]
mov eax, ecx
add eax, eax
cmp eax, edx
jae 0x140109fe7
movabs rax, 0x3fe0000000000000
mov qword [rdi + 0x28], rax
cmp cx, dx
jbe 0x140109ffa
movabs rax, 0x4000000000000000
mov qword [rdi + 0x28], rax
mov dword [rdi + 0x194], r10d
jmp 0x14010a14a
mov r8d, 6
lea rdx, [0x140322cb0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010a07e
lea r8d, [rax + 3]
mov rcx, rsi
lea rdx, [0x14038729c]
call fcn.1402ec490
test eax, eax
jne 0x14010a07e
mov eax, 0x12
mov r14d, 6
mov word [rdi + 0x18], ax
xor r10d, r10d
movzx eax, word [rdi + 0x10]
sub ax, 0x12
mov word [rdi + 0x14], ax
lea r13d, [r14 - 5]
mov eax, 0x1ce0
lea r11d, [r14 - 4]
cmp word [rdi + 0x12], ax
jne 0x14010a15c
mov eax, 0x1cd0
mov word [rdi + 0x1a], r14w
mov word [rdi + 0x16], ax
jmp 0x14010a15c
mov r8, r15
lea rdx, [0x140322c64]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010a2ef
cmp dword [rdi + 0x5491c], 0xf
jne 0x14010a2ef
movzx edx, word [rdi + 0x16]
mov eax, 0xd10
cmp dx, ax
je 0x14010a0c3
mov eax, 0xf20
cmp dx, ax
je 0x14010a0c7
movzx r8d, dx
jmp 0x14010a0d4
sub dx, 0x42
lea r8d, [rdx - 6]
mov word [rdi + 0x16], r8w
movzx edx, r8w
movzx eax, word [rdi + 0x14]
cmp ax, dx
jbe 0x14010a101
add dx, ax
sub dx, r8w
mov word [rdi + 0x16], dx
mov word [rdi + 0x14], r8w
movzx eax, word [rdi + 0x10]
movzx ecx, word [rdi + 0x12]
mov word [rdi + 0x12], ax
movzx eax, r8w
mov word [rdi + 0x10], cx
mov ecx, 0x1c20
cmp dx, cx
jne 0x14010a123
mov ecx, 0xf30
cmp ax, cx
jne 0x14010a123
mov dword [rdi + 0x14], 0x195010e0
mov dword [rdi + 0x10], 0x195010e0
mov eax, 3
mov qword [rdi + 0x190], 3
mov dword [rdi + 0x54918], eax
xor r10d, r10d
lea rax, [0x140125040]
mov qword [rdi + 0x89ed8], rax
mov r14d, 6
mov r11d, 2
mov r13d, 1
mov rax, qword [rdi + 0x89ed8]
test rax, rax
je 0x14010ec93
movzx edx, word [rdi + 0x14]
cmp edx, 0x16
jb 0x14010ec93
movzx ecx, word [rdi + 0x16]
cmp ecx, 0x16
jb 0x14010ec93
cmp dword [rdi + 0x5491c], 0x10
lea rbx, [0x1400fbbb0]
jbe 0x14010a19f
cmp rax, rbx
jne 0x14010ec93
cmp dword [rdi + 0x54918], 4
ja 0x14010ec93
mov eax, dword [rdi + 0x190]
dec eax
cmp eax, 3
ja 0x14010ec93
movzx eax, word [rdi + 0x1a]
mov r8d, ecx
add eax, ecx
mov ecx, 0xffff
cmp eax, ecx
ja 0x14010ec93
movzx eax, word [rdi + 0x18]
mov r9d, edx
add eax, edx
cmp eax, ecx
ja 0x14010ec93
cmp byte [rsi], 0
jne 0x14010a1f8
lea rdx, str._dx_d
mov rcx, rsi
call fcn.140019570
cmp dword [rdi + 0x194], 0xffffffff
jne 0x14010a20c
mov eax, 0x94949494
mov dword [rdi + 0x194], eax
mov rdx, qword [rdi + 0x54888]
test rdx, rdx
je 0x14010a264
cmp word [rdi + 0x2ac4e], 0
jne 0x14010a264
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r8d, r13d
lea rdx, [rbp + 0x120]
mov rcx, rdi
call fcn.140123750
test eax, eax
je 0x14010a264
movzx eax, word [rbp + 0x12c]
mov word [rdi + 0x2ac4c], ax
movzx eax, word [rbp + 0x128]
mov word [rdi + 0x2ac4e], ax
cmp dword [rdi + 0x188], 0
je 0x14010e51b
mov r8d, dword [rdi + 0x548d0]
xor r13d, r13d
mov ebx, r13d
mov dword [rbp + 0x2ad8], ebx
test r8d, r8d
je 0x14010a2b3
mov rdx, qword [rdi + 0x548f8]
lea rcx, [rdi + 0x6098c]
movsxd rax, dword [rcx]
cmp rax, rdx
je 0x14010a2ad
inc ebx
add rcx, 0x4210
cmp ebx, r8d
jb 0x14010a297
mov dword [rbp + 0x2ad8], ebx
mov ecx, r13d
test r8d, r8d
je 0x14010d9ba
mov r9, qword [rdi + 0x54888]
lea rdx, [rdi + 0x6098c]
nop dword [rax]
movsxd rax, dword [rdx]
cmp rax, r9
je 0x14010d9b7
inc ecx
add rdx, 0x4210
cmp ecx, r8d
jb 0x14010a2d0
jmp 0x14010d9ba
lea rdx, str.PowerShot_600
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a33d
mov dword [rdi + 0x14], 0x3560265
mov eax, 0x380
mov word [rdi + 0x12], ax
mov eax, 4
mov dword [rdi + 0x190], eax
lea rax, [0x140121e00]
mov dword [rdi + 0x194], 0xe1e4e1e4
mov qword [rdi + 0x89ed8], rax
xor r10d, r10d
jmp 0x14010a14a
lea rdx, str.PowerShot_A5
mov rcx, rsi
call fcn.1402ec350
test eax, eax
je 0x14010d958
lea rdx, str.PowerShot_A5_Zoom
mov rcx, rsi
call fcn.1402ec350
test eax, eax
je 0x14010d958
lea rdx, str.PowerShot_A50
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a39d
mov dword [rdi + 0x14], 0x50a03c8
mov eax, 0x528
mov word [rdi + 0x12], ax
mov dword [rdi + 0x194], 0x1b4e4b1e
jmp 0x14010d980
lea rdx, str.PowerShot_Pro70
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a3c6
mov dword [rdi + 0x14], 0x6100400
mov dword [rdi + 0x194], 0x1e4b4e1b
jmp 0x14010d980
lea rdx, str.PowerShot_Pro90_IS
mov rcx, rsi
call fcn.1402ec350
test eax, eax
je 0x14010d93b
lea rdx, str.PowerShot_G1
mov rcx, rsi
call fcn.1402ec350
test eax, eax
je 0x14010d93b
lea rdx, str.PowerShot_A610
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a470
xor eax, eax
mov ebx, eax
nop dword [rax + rax]
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
imul edx, ebx, 0xd0c
mov r9, qword [rcx]
add edx, 0xcd4
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp eax, 0xf
jg 0x14010a44e
inc ebx
cmp ebx, 0x64
jb 0x14010a410
xor r10d, r10d
jmp 0x14010a14a
mov eax, dword [str.S2_IS]
xor r10d, r10d
mov dword [rdi + 0x10e], eax
movzx eax, word [0x140387334]
mov word [rdi + 0x112], ax
jmp 0x14010a14a
lea rdx, str.PowerShot_SX220_HS
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a499
mov dword [rdi + 0x50], 0xfffffffc
xor r10d, r10d
mov dword [rdi + 0x18], 0x5c0010
jmp 0x14010a14a
lea rdx, str.PowerShot_S120
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a4e6
mov dword [rdi + 0x10], 0x10600bf6
mov eax, 0x1f
mov dword [rdi + 0x14], 0xfb60bc8
xor r10d, r10d
mov dword [rdi + 0x18], 0x78001f
mov dword [rdi + 0x34], eax
mov dword [rdi + 0x3c], 0xbe7
mov dword [rdi + 0x38], 0x17
mov dword [rdi + 0x40], 0x48
jmp 0x14010a14a
lea rdx, str.PowerShot_G16
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a539
xor r10d, r10d
mov eax, 0x10
mov qword [rdi + 0x34], r10
mov r8d, 0xa8
mov dword [rdi + 0x3c], 0x50
mov dword [rdi + 0x40], eax
mov dword [rdi + 0x18], 0x78001d
movzx eax, word [rdi + 0x12]
sub ax, r8w
mov word [rdi + 0x16], ax
movzx eax, word [rdi + 0x10]
sub ax, 0x2b
mov word [rdi + 0x14], ax
jmp 0x14010a14a
lea rdx, str.PowerShot_SX50_HS
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a55d
mov eax, 0x11
xor r10d, r10d
mov word [rdi + 0x18], ax
jmp 0x14010a14a
lea rdx, str.EOS_D2000C
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010a5a8
xor r10d, r10d
mov dword [rdi + 0x194], 0x61616161
lea r14d, [rax + 6]
lea r13d, [rax + 1]
lea r11d, [rax + 2]
cmp dword [rdi + 0x24f70], r10d
jne 0x14010a15c
movzx eax, word [rdi + 0x10e8]
mov dword [rdi + 0x24f70], eax
jmp 0x14010a15c
cmp byte [rsi], 0x44
jne 0x14010a5ff
cmp byte [rsi + 1], 0x31
jne 0x14010a5ff
cmp byte [rsi + 2], 0
jne 0x14010a5ff
movss xmm0, dword [rdi + 0x25014]
xor r10d, r10d
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x140387b90]
cvtpd2ps xmm0, xmm0
movss dword [rdi + 0x25014], xmm0
movss xmm1, dword [rdi + 0x2501c]
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [0x140387bb0]
cvtpd2ps xmm0, xmm1
movss dword [rdi + 0x2501c], xmm0
jmp 0x14010a14a
xor r10d, r10d
lea r8, [0x140387384]
mov ecx, r10d
lea edx, [r10 + 4]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a63f
cmp rcx, rdx
jne 0x14010a610
mov eax, 0xfffc
add word [rdi + 0x16], ax
movabs rax, 0x3fe0000000000000
mov qword [rdi + 0x28], rax
jmp 0x14010a14a
mov rcx, r10
lea r8, str.D40X
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a665
cmp rcx, r15
jne 0x14010a650
jmp 0x14010a6d3
mov rcx, r10
lea r8, [0x140387390]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a685
cmp rcx, rdx
jne 0x14010a670
jmp 0x14010a6d3
mov rcx, r10
lea r8, [0x140387394]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a6a5
cmp rcx, rdx
jne 0x14010a690
jmp 0x14010a6d3
mov rcx, r10
lea r8, str.D3000
mov r9d, 6
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a6ea
cmp rcx, r9
jne 0x14010a6c0
mov eax, 0xfffd
add word [rdi + 0x14], ax
mov eax, 0xfffc
add word [rdi + 0x16], ax
jmp 0x14010a14a
cmp byte [rsi], 0x44
jne 0x14010a6fb
cmp byte [rsi + 1], 0x33
jne 0x14010a6fb
cmp byte [rsi + 2], r10b
je 0x14010a743
mov rcx, r10
lea r8, [0x1403873a0]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a725
cmp rcx, rdx
jne 0x14010a710
jmp 0x14010a743
mov rcx, r10
lea r8, str.D700
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a75f
cmp rcx, r15
jne 0x14010a730
mov eax, 0xfffc
mov r11d, 2
add word [rdi + 0x16], ax
mov r14, r9
mov word [rdi + 0x1a], r11w
jmp 0x14010a156
mov rcx, r10
lea r8, str.D3100
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a799
cmp rcx, r9
jne 0x14010a770
mov eax, 0xffe4
add word [rdi + 0x16], ax
mov word [rdi + 0x1a], r9w
mov r14, r9
jmp 0x14010a150
mov rcx, r10
lea r8, str.D5000
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a7d4
cmp rcx, r9
jne 0x14010a7b0
mov eax, 0xffd6
mov r14, r9
add word [rdi + 0x16], ax
jmp 0x14010a150
mov rcx, r10
lea r8, [0x1403873bc]
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010a804
cmp rcx, rdx
jne 0x14010a7e0
mov eax, 0xffd6
mov r14, r9
add word [rdi + 0x16], ax
jmp 0x14010a150
mov rcx, r10
lea rdx, str.D5100
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a830
cmp rcx, r9
jne 0x14010a810
mov eax, 0xffd4
add word [rdi + 0x16], ax
jmp 0x14010a14a
mov rcx, r10
lea rdx, str.D7000
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a860
cmp rcx, r9
jne 0x14010a840
mov eax, 0xffd4
add word [rdi + 0x16], ax
jmp 0x14010a14a
lea rdx, str.COOLPIX_A
mov rcx, rsi
call fcn.1402ec350
xor r10d, r10d
test eax, eax
je 0x14010a822
mov ecx, r10d
lea rdx, str.D3200
lea r9d, [r10 + 6]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a8b0
cmp rcx, r9
jne 0x14010a890
mov eax, 0xffd2
add word [rdi + 0x16], ax
jmp 0x14010a14a
mov r8d, 2
lea rdx, [0x1403873e4]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010d92a
mov r8d, 4
lea rdx, str.D800
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010d92a
cmp byte [rsi], 0x44
jne 0x14010a92c
cmp byte [rsi + 1], 0x34
jne 0x14010a8fb
cmp byte [rsi + 2], 0
je 0x14010a90c
cmp byte [rsi], 0x44
jne 0x14010a92c
cmp byte [rsi + 1], 0x66
jne 0x14010a92c
cmp byte [rsi + 2], 0
jne 0x14010a92c
mov r11d, 2
mov eax, 0xffcc
add word [rdi + 0x16], ax
mov word [rdi + 0x1a], r11w
xor r10d, r10d
lea r14d, [r11 + 4]
jmp 0x14010a156
xor r10d, r10d
lea rdx, str.D500
mov ecx, r10d
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a957
cmp rcx, r15
jne 0x14010a940
jmp 0x14010a14a
mov r8d, 3
lea rdx, [0x1403873f8]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010d919
mov r8d, 3
lea rdx, [0x140376b20]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010d919
mov r8d, 3
lea rdx, [0x1403873fc]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010d919
xor r10d, r10d
lea rdx, str.D100
mov ecx, r10d
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a9f5
cmp rcx, r15
jne 0x14010a9c0
cmp dword [rdi + 0x54930], r10d
je 0x14010a14a
add word [rdi + 0x16], 3
movzx eax, word [rdi + 0x16]
add ax, 3
mov word [rdi + 0x12], ax
jmp 0x14010a14a
mov rcx, r10
lea rdx, str.D200
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010aa36
cmp rcx, r15
jne 0x14010aa00
mov eax, 0xfffc
mov r13d, 1
mov word [rdi + 0x1a], r13w
add word [rdi + 0x16], ax
mov eax, 0x94949494
mov dword [rdi + 0x194], eax
jmp 0x14010cef6
mov r8d, 3
lea rdx, [0x140387410]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010aa6b
mov r14d, 6
mov eax, 0xfff2
mov word [rdi + 0x1a], r14w
add word [rdi + 0x16], ax
xor r10d, r10d
jmp 0x14010a150
mov r8d, 3
lea rdx, [0x140387414]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010aaaa
movzx edx, word [rdi + 0x16]
mov r8d, 0xcc0
cmp dx, r8w
mov eax, 0xca0
lea ecx, [rdx - 8]
cmovne ax, cx
xor r10d, r10d
mov word [rdi + 0x16], ax
jmp 0x14010a14a
mov r8d, 4
lea rdx, str.D300
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010aad4
mov eax, 0xffe0
add word [rdi + 0x16], ax
xor r10d, r10d
jmp 0x14010a14a
mov r8, r15
lea rdx, [0x1403739b4]
mov rcx, r12
call fcn.1402ec490
mov ecx, 0xfc0
test eax, eax
jne 0x14010ab92
cmp word [rdi + 0x12], cx
jne 0x14010ab92
lea rdx, str.COOLPIX_P7700
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010ab44
lea r8, str.COOLPIX_P7700
mov rax, qword [rdi]
lea rdx, [0x1403739b4]
xor r9d, r9d
mov rcx, rdi
call qword [rax + 0x40]
mov eax, 0xffe0
xor r10d, r10d
mov dword [rdi + 0x24f78], eax
mov dword [rdi + 0x54930], r10d
jmp 0x14010a14a
lea rdx, str.COOLPIX_P7800
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010ab60
lea r8, str.COOLPIX_P7800
jmp 0x14010ab17
lea rdx, str.COOLPIX_P340
mov rcx, rsi
call fcn.1402ec350
xor r10d, r10d
lea r14d, [r10 + 6]
lea r13d, [r10 + 1]
lea r11d, [r10 + 2]
test eax, eax
jne 0x14010a15c
mov dword [rdi + 0x54930], r10d
jmp 0x14010a15c
mov r8d, 9
lea rdx, str.COOLPIX_P
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010ac38
mov eax, 0xfc0
cmp word [rdi + 0x12], ax
je 0x14010ac38
mov eax, 0x18
mov dword [rdi + 0x54930], eax
mov eax, 0x94949494
mov dword [rdi + 0x194], eax
cmp byte [rdi + 0x10d], 0x37
jne 0x14010a335
movss xmm0, dword [rdi + 0x2a900]
comiss xmm0, dword [0x140387cd4]
jae 0x14010abfe
ucomiss xmm0, xmm10
jp 0x14010a335
jne 0x14010a335
lea rcx, [rdi + 0x144]
lea rdx, str.V1.2
call fcn.1402d23b0
xor r10d, r10d
lea r14d, [r10 + 6]
lea r13d, [r10 + 1]
lea r11d, [r10 + 2]
test rax, rax
jne 0x14010a15c
mov dword [rdi + 0x24f70], 0xff
jmp 0x14010a15c
mov r8d, ntohs
lea rdx, str.COOLPIX_B700
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010ac6e
mov eax, 0x18
xor r10d, r10d
mov dword [rdi + 0x54930], eax
mov dword [rdi + 0x24f70], 0xc8
jmp 0x14010a14a
mov r8d, 2
lea rdx, [0x140387478]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010ac98
mov edx, 0xfffe
add word [rdi + 0x14], dx
xor r10d, r10d
jmp 0x14010a14a
mov eax, dword [rbp + 0x2ad8]
cmp eax, 0x182004
jne 0x14010acd8
mov edx, 3
mov rcx, rdi
call fcn.140134740
mov dword [rdi + 0x25024], 0x3f9ab021
xor r10d, r10d
mov dword [rdi + 0x25028], 0x3f8c1206
mov dword [rdi + 0x25030], 0x3f8e1e4f
jmp 0x14010a14a
cmp eax, 0x308040
jne 0x14010ad17
movss xmm0, dword [rdi + 0x25014]
xor r10d, r10d
mulss xmm0, dword [0x140387c58]
movss dword [rdi + 0x25014], xmm0
movss xmm0, dword [rdi + 0x2501c]
mulss xmm0, dword [0x140387c58]
movss dword [rdi + 0x2501c], xmm0
jmp 0x14010a14a
cmp eax, 0x48d000
jne 0x14010adb4
cmp qword [rdi + 0x2a910], 0
jne 0x14010ad4a
mov rcx, rdi
call fcn.140126bb0
test eax, eax
je 0x14010ad4a
mov eax, dword [str.E995]
mov dword [rsi], eax
movzx eax, byte [0x140387480]
mov byte [rsi + 4], al
xor r10d, r10d
lea rdx, str.E995
mov ecx, r10d
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010ad77
cmp rcx, r15
jne 0x14010ad60
jmp 0x14010a14a
mov edx, 3
mov dword [rdi + 0x194], 0xb4b4b4b4
mov rcx, rdi
call fcn.140134740
mov dword [rdi + 0x25024], 0x3f991687
xor r10d, r10d
mov dword [rdi + 0x25028], 0x3f9f7cee
mov dword [rdi + 0x2502c], 0x3f824dd3
jmp 0x14010a14a
cmp eax, 0x2ce000
jne 0x14010ae43
cmp qword [rdi + 0x2a910], 0
jne 0x14010ade8
mov rcx, rdi
call fcn.140126c70
test eax, eax
jne 0x14010ade8
mov eax, dword [str.E2500]
mov dword [rsi], eax
movzx eax, word [0x140387488]
mov word [rsi + 4], ax
xor r10d, r10d
lea rdx, str.E2500
mov ecx, r10d
lea r9d, [r10 + 6]
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010a791
cmp rcx, r9
jne 0x14010ae00
mov edx, 0xfffe
mov eax, 4
add word [rdi + 0x14], dx
mov r14, r9
mov dword [rdi + 0x54930], r9d
mov dword [rdi + 0x190], eax
mov dword [rdi + 0x194], 0x4b4b4b4b
jmp 0x14010a150
cmp eax, 0x48e000
jne 0x14010af42
cmp qword [rdi + 0x2a910], 0
jne 0x14010ae60
mov rcx, rdi
call fcn.140126d20
cmp byte [rsi], 0x45
jne 0x14010ae82
lea rcx, [rdi + 0x105]
call fcn.1402d78a0
cmp eax, 0xe74
jge 0x14010ae82
mov dword [rdi + 0x194], 0x49494949
lea rdx, str.Optio_33WR
mov rcx, rsi
call fcn.1402ec350
mov r13d, 1
test eax, eax
jne 0x14010aea9
mov dword [rdi + 0x30], r13d
mov dword [rdi + 0x194], 0x16161616
cmp byte [r12], 0x4f
jne 0x14010cef3
mov r14d, 0x20
mov dword [rsp + 0x20], 0x369400
mov r9d, 0x122400
mov r8d, r14d
mov rcx, rdi
lea edx, [r14 - 0x14]
call fcn.140129fe0
mov r9d, 0x246030
mov dword [rsp + 0x20], 0x246c48
mov r8d, r14d
lea edx, [r14 - 0x14]
mov rcx, rdi
cvttss2si ebx, xmm0
call fcn.140129fe0
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 0x14010af20
mov eax, 0x18
mov ebx, r8d
mov dword [rdi + 0x54930], eax
xor r10d, r10d
lea r14d, [r10 + 6]
lea r11d, [r10 + 2]
test ebx, ebx
jns 0x14010a15c
mov dword [rdi + 0x194], 0x61616161
jmp 0x14010a15c
cmp eax, 0x599000
jne 0x14010afa8
cmp qword [rdi + 0x2a910], 0
jne 0x14010af84
mov rcx, rdi
call fcn.140126f00
test eax, eax
je 0x14010af84
movabs rax, 0x61746c6f6e694d
mov qword [r12], rax
movsd xmm0, qword [str.DiMAGE_Z2]
movsd qword [rsi], xmm0
movzx eax, word [0x1403874a8]
mov word [rsi + 8], ax
cmp byte [r12], 0x4d
mov r14d, 6
mov eax, r14d
mov ecx, 0x1e
cmove eax, ecx
xor r10d, r10d
mov dword [rdi + 0x54930], eax
jmp 0x14010a150
cmp eax, 0x600000
jne 0x14010b02a
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov edx, 0x300000
mov rax, qword [rcx]
call qword [rax + 0x18]
mov edx, 0x10000
mov rcx, rdi
call fcn.140147e70
mov r14d, 6
mov word [rdi + 0x548d8], ax
mov ecx, 0x4d4d
lea r13d, [r14 - 5]
lea r11d, [r14 - 4]
cmp ax, cx
jne 0x14010d694
mov dword [rdi + 0x18], 0x1c0010
mov eax, 0xfff0
add word [rdi + 0x14], ax
mov eax, 0xffe4
add word [rdi + 0x16], ax
mov dword [rdi + 0x24f78], 0xf5c0
xor r10d, r10d
mov dword [r12], 0x475349
mov byte [rsi], 0
jmp 0x14010a15c
mov r8, r13
lea rdx, str.Fujifilm
mov rcx, r12
call fcn.1402ec490
xor r10d, r10d
mov ecx, r10d
test eax, eax
jne 0x14010ba6d
lea rdx, str.X_A3
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010b065
cmp rcx, r15
jne 0x14010b051
jmp 0x14010b0d3
mov rcx, r10
lea r8, str.X_A10
mov edx, 6
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b095
cmp rcx, rdx
jne 0x14010b080
jmp 0x14010b0d3
mov rcx, r10
lea r8, str.X_A5
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b0b5
cmp rcx, r15
jne 0x14010b0a0
jmp 0x14010b0d3
mov rcx, r10
lea r8, str.X_A20
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b0e7
cmp rcx, rdx
jne 0x14010b0c0
mov dword [rdi + 0x18], r10d
movzx eax, word [rdi + 0x12]
mov word [rdi + 0x16], ax
movzx eax, word [rdi + 0x10]
mov word [rdi + 0x14], ax
mov rcx, r10
lea r8, str.S2Pro
mov edx, 6
nop word [rax + rax]
movzx eax, byte [rdi + rcx + 0x10b]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b136
cmp rcx, rdx
jne 0x14010b100
mov eax, dword [str.S2Pro]
mov dword [rsi], eax
movzx eax, word [0x1403874b0]
mov word [rsi + 4], ax
mov dword [rdi + 0x14], 0xb400860
mov dword [rdi + 0x30], edx
jmp 0x14010b190
lea rax, [0x140129d10]
cmp qword [rdi + 0x89ed8], rax
je 0x14010b190
mov r8d, 2
lea rdx, [0x1403874b4]
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010b18d
cmp dword [rdi + 0x194], 0x3e8
jb 0x14010b18d
cmp dword [rdi + 0x184], 2
jne 0x14010b182
cmp dword [rdi + 0xe80], 0
mov eax, 0x2f00
jne 0x14010b187
mov eax, 0x3e00
mov dword [rdi + 0x24f78], eax
xor r10d, r10d
movzx eax, word [rdi + 0x14]
mov edx, 0xfffe
movzx ecx, word [rdi + 0x10]
sub ecx, eax
sar ecx, 1
and cx, dx
mov word [rdi + 0x18], cx
movzx ecx, word [rdi + 0x16]
movzx eax, word [rdi + 0x12]
sub eax, ecx
sar eax, 1
and ax, dx
mov word [rdi + 0x1a], ax
mov eax, 0xb20
cmp cx, ax
je 0x14010b1cf
mov eax, 0xe50
cmp cx, ax
jne 0x14010b1d9
mov dword [rdi + 0x194], 0x16161616
mov eax, 0xfc0
cmp cx, ax
je 0x14010b1ed
mov eax, 0x1358
cmp cx, ax
jne 0x14010b1f2
mov word [rdi + 0x1a], r10w
mov eax, 0xd00
movzx edx, cx
cmp cx, ax
jne 0x14010b215
sub dx, 0x42
mov word [rdi + 0x16], dx
movzx ecx, dx
je 0x14010b215
mov eax, 0x22
mov word [rdi + 0x1a], ax
mov eax, 0x1348
cmp cx, ax
jne 0x14010b22b
mov eax, 4
movzx ecx, dx
mov word [rdi + 0x1a], ax
mov eax, 0x1790
cmp cx, ax
jne 0x14010b23a
mov word [rdi + 0x1a], r10w
mov rcx, r10
lea r8, str.HS50EXR
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b265
cmp rcx, r13
jne 0x14010b250
jmp 0x14010b283
mov rcx, r10
lea r8, str.F900EXR
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010b29a
cmp rcx, r13
jne 0x14010b270
add dx, 2
mov word [rdi + 0x16], dx
mov word [rdi + 0x1a], r10w
mov dword [rdi + 0x194], 0x16161616
mov rcx, r10
lea rdx, str.GFX_50S
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010b2c9
cmp rcx, r13
jne 0x14010b2b0
mov dword [rdi + 0x18], 0
mov rcx, r10
lea rdx, str.S5500
mov r9d, 6
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010b300
cmp rcx, r9
jne 0x14010b2e0
mov eax, 0xfffa
mov word [rdi + 0x18], r9w
add word [rdi + 0x14], ax
cmp dword [rdi + 0x54914], 0
je 0x14010b31b
movzx eax, word [rdi + 0x184]
movzx ecx, word [rdi + 0x12]
imul ecx, eax
mov word [rdi + 0x12], cx
cmp dword [rdi + 0x194], 9
jne 0x14010a791
lea r11, [rdi + 0x199]
nop
mov eax, 0xaaaaaaab
lea r9d, [r10 + 2]
mul r10d
movzx eax, word [rdi + 0x18]
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
add rax, 0x4a
movzx ecx, word [rdi + 0x1a]
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 - 1]
mov byte [r11 - 1], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
inc ecx
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
mov byte [r11], al
mov eax, 0x2aaaaaab
imul r9d
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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
add rax, 0x4a
movzx ecx, word [rdi + 0x1a]
add ecx, 2
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 1]
mov byte [r11 + 1], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 3
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 2]
mov byte [r11 + 2], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 4
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 3]
mov byte [r11 + 3], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, r15d
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 4]
mov byte [r11 + 4], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 6
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 5]
mov byte [r11 + 5], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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
add rax, 0x4a
movzx ecx, word [rdi + 0x1a]
add ecx, 7
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 6]
mov byte [r11 + 6], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, r13d
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 7]
mov byte [r11 + 7], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 9
lea r8, [rax + rax*2]
add ecx, r10d
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 8]
mov byte [r11 + 8], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0xa
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 9]
mov byte [r11 + 9], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0xb
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
mov byte [r11 + 0xa], al
lea ecx, [r9 + 0xa]
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0xc
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 0xb]
mov byte [r11 + 0xb], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0xd
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 0xc]
mov byte [r11 + 0xc], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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
add rax, 0x4a
movzx ecx, word [rdi + 0x1a]
add ecx, 0xe
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 0xd]
mov byte [r11 + 0xd], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0xf
add ecx, r10d
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 0xe]
mov byte [r11 + 0xe], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0x10
add ecx, r10d
lea r8, [rax + rax*2]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea r11, [r11 + 0x12]
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
movsxd rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
lea ecx, [r9 + 0xf]
mov byte [r11 - 3], al
mov eax, 0x2aaaaaab
imul ecx
movzx eax, word [rdi + 0x18]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
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 + 0x1a]
add rax, 0x4a
add ecx, 0x11
add ecx, r10d
add r10d, 0x12
lea r8, [rax + rax*2]
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 rcx, ecx
add rcx, rdi
movzx eax, byte [rcx + r8*2]
mov byte [r11 - 2], al
cmp r10d, 0x24
jl 0x14010b330
xor r10d, r10d
jmp 0x14010a14a
lea rdx, str.KD_400Z
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010baa4
cmp rcx, r13
jne 0x14010ba80
mov eax, 0x920
mov dword [rdi + 0x14], 0x90806b0
mov word [rdi + 0x12], ax
jmp 0x14010bae7
mov rcx, r10
lea rdx, str.KD_510Z
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010bb10
cmp rcx, r13
jne 0x14010bab0
mov eax, 0xa40
mov dword [rdi + 0x14], 0xa2f07a4
mov word [rdi + 0x12], ax
add qword [rdi + 0x548f8], 0xe
xor r10d, r10d
mov dword [rdi + 0x194], 0x61616161
lea rax, [fcn.14012a420]
mov ecx, 0x4d4d
mov qword [rdi + 0x89ed8], rax
mov dword [rdi + 0x24f78], 0x3df
mov word [rdi + 0x548d8], cx
jmp 0x14010a14a
mov r8d, 7
lea rdx, [0x140322ca0]
mov rcx, r12
call fcn.140308184
test eax, eax
jne 0x14010bc8f
cmp qword [rdi + 0x89ed8], 0
jne 0x14010bb4f
lea rax, [fcn.14012a420]
mov dword [rdi + 0x24f78], 0xfff
mov qword [rdi + 0x89ed8], rax
mov r8, r13
lea rdx, str.DiMAGE_A
mov rcx, rsi
call fcn.1402ec490
mov rcx, rsi
test eax, eax
jne 0x14010bba2
lea rdx, str.DiMAGE_A200
call fcn.1402ec350
test eax, eax
jne 0x14010bb82
mov dword [rdi + 0x194], 0x49494949
mov dword [rdi + 0x5491c], 0xc
lea rax, [0x140129d10]
xor r10d, r10d
mov qword [rdi + 0x89ed8], rax
jmp 0x14010a14a
mov r8, r15
lea rdx, str.ALPHA
call fcn.1402ec490
test eax, eax
je 0x14010bc34
mov r8, r15
lea rdx, str.DYNAX
mov rcx, rsi
call fcn.1402ec490
mov r14d, 6
test eax, eax
je 0x14010bc3a
mov r8d, r14d
lea rdx, str.MAXXUM
mov rcx, rsi
call fcn.1402ec490
test eax, eax
je 0x14010bc3a
mov r8, r13
lea rdx, str.DiMAGE_G
mov rcx, rsi
call fcn.1402ec490
test eax, eax
jne 0x14010aa63
movzx eax, byte [rdi + 0x10c]
cmp al, 0x34
jne 0x14010bc18
mov dword [rdi + 0x14], 0x90006b4
jmp 0x14010bad2
cmp al, 0x35
je 0x14010bac2
cmp al, 0x36
jne 0x14010bad2
mov dword [rdi + 0x14], 0xb200858
jmp 0x14010bad2
mov r14d, 6
xor eax, eax
lea rdx, str.DYNAX___10s
cmp byte [rsi], 0x4d
lea rcx, [rdi + 0x118]
mov r8d, eax
sete r8b
add r8, 0x10a
add r8, rdi
call fcn.140019570
mov rax, qword [rdi]
lea r8, [rdi + 0x118]
xor r9d, r9d
mov rdx, r12
mov rcx, rdi
call qword [rax + 0x40]
lea rax, [0x140129d10]
xor r10d, r10d
mov qword [rdi + 0x89ed8], rax
jmp 0x14010a150
xor r10d, r10d
lea r8, str.ist_D
mov ecx, r10d
lea edx, [r10 + 7]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010bcd0
cmp rcx, rdx
jne 0x14010bca0
lea rax, [fcn.14012a420]
mov qword [rdi + 0x89ed8], rax
mov dword [rdi + 0x54934], 0xffffffff
jmp 0x14010a14a
mov rcx, r10
lea r8, str.ist_DS
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010bd01
cmp rcx, r13
jne 0x14010bce0
mov edx, 0xfffe
add word [rdi + 0x14], dx
jmp 0x14010a14a
mov r8, rdx
mov rcx, r12
lea rdx, [0x1403739d0]
call fcn.1402ec490
test eax, eax
jne 0x14010bd4d
mov eax, 0x1260
cmp word [rdi + 0x12], ax
jne 0x14010bd4d
mov dword [rdi + 0x18], 0x80008
mov eax, 0xfff8
add word [rdi + 0x14], ax
mov eax, 0xfff0
add word [rdi + 0x16], ax
xor r10d, r10d
mov dword [rdi + 0x54930], 0x20
jmp 0x14010a14a
mov r8d, 7
lea rdx, [0x1403739d0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010bdad
xor r10d, r10d
lea rdx, str.NX3000
mov ecx, r10d
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010bdad
cmp rcx, 7
jne 0x14010bd73
mov dword [rdi + 0x18], 0x5c0026
mov dword [rdi + 0x14], 0x15500e32
mov dword [rdi + 0x194], 0x61616161
mov dword [rdi + 0x190], 3
jmp 0x14010a14a
mov r8d, 7
lea rdx, [0x1403739d0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010be1c
mov eax, 0xe82
cmp word [rdi + 0x10], ax
jne 0x14010be1c
mov dword [rdi + 0x16], 0x1215a0
mov eax, 0xffee
add word [rdi + 0x14], ax
mov edx, 0x15a0
movzx eax, word [rdi + 0x12]
xor r10d, r10d
sub ax, dx
mov word [rdi + 0x1a], ax
mov eax, 0x15e0
cmp word [rdi + 0x12], ax
je 0x14010be03
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x194], 0x61616161
mov dword [rdi + 0x190], 3
jmp 0x14010a14a
mov r8d, 7
lea rdx, [0x1403739d0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010be9c
mov eax, 0x1600
cmp word [rdi + 0x12], ax
jne 0x14010be9c
mov r11d, 2
mov eax, 0x4949
mov word [rdi + 0x548d8], ax
xor r10d, r10d
mov eax, 0xe6e
mov word [rdi + 0x14], ax
mov eax, 0x15c6
mov word [rdi + 0x18], r11w
lea r14d, [r11 + 4]
mov edx, dword [rdi + 0x5491c]
lea r13d, [r11 - 1]
lea ecx, [rdx + 0x20]
sub ax, cx
mov word [rdi + 0x1a], cx
mov word [rdi + 0x16], ax
cmp edx, 0xc
jne 0x14010a15c
mov dword [rdi + 0x54930], 0x50
jmp 0x14010a15c
mov r8d, 7
lea rdx, [0x1403739d0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010beeb
mov eax, 0x1620
cmp word [rdi + 0x12], ax
jne 0x14010beeb
mov dword [rdi + 0x18], 0x600011
mov eax, 0xffef
add word [rdi + 0x14], ax
mov eax, 0x15a8
mov word [rdi + 0x16], ax
xor r10d, r10d
mov dword [rdi + 0x194], 0x49494949
jmp 0x14010a14a
mov r8d, 7
lea rdx, [0x1403739d0]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010bf81
mov eax, 0x1960
cmp word [rdi + 0x12], ax
jne 0x14010bf81
mov dword [rdi + 0x194], 0x61616161
cmp dword [rdi + 0x24f70], 0
jne 0x14010a335
cmp dword [r14], 0
jne 0x14010a335
cmp dword [rdi + 0x20f5c], 0
jne 0x14010a335
cmp dword [rdi + 0x20f60], 0
jne 0x14010a335
cmp dword [rdi + 0x20f64], 0
mov r13d, 1
lea r14d, [r13 + 5]
lea r11d, [r13 + 1]
jne 0x14010d694
mov ecx, dword [rdi + 0x5491c]
mov edx, r13d
sub ecx, 7
shl edx, cl
mov dword [rdi + 0x24f70], edx
xor r10d, r10d
jmp 0x14010a15c
xor r10d, r10d
lea rdx, [0x140387548]
mov ecx, r10d
nop
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010c002
mov eax, 4
cmp rcx, rax
jne 0x14010bf90
mov eax, 0x4949
mov r11d, 2
mov word [rdi + 0x548d8], ax
mov edx, 0xe62
movzx ecx, word [rdi + 0x14]
sub cx, 0x14
mov word [rdi + 0x14], cx
lea r14d, [r11 + 4]
mov word [rdi + 0x18], r11w
movzx eax, word [rdi + 0x16]
sub ax, 6
mov word [rdi + 0x16], ax
cmp ax, dx
jbe 0x14010a156
sub cx, 0xa
mov word [rdi + 0x14], cx
sub ax, 0x2e
mov word [rdi + 0x16], ax
mov word [rdi + 0x18], r13w
jmp 0x14010a156
mov rcx, r10
lea rdx, str.WB2000
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010c07e
cmp rcx, 7
jne 0x14010c010
mov eax, 0x4949
mov r11d, 2
mov word [rdi + 0x548d8], ax
mov edx, 0xe86
movzx ecx, word [rdi + 0x14]
sub cx, 3
mov word [rdi + 0x14], cx
lea r14d, [r11 + 4]
mov word [rdi + 0x18], r11w
movzx eax, word [rdi + 0x16]
sub ax, 0xa
mov word [rdi + 0x16], ax
cmp ax, dx
jbe 0x14010a156
sub cx, 0x1c
mov word [rdi + 0x14], cx
sub ax, 0x38
mov word [rdi + 0x16], ax
mov word [rdi + 0x18], r13w
jmp 0x14010a156
lea rdx, str.WB550
mov rcx, rsi
call fcn.1402d23b0
xor r10d, r10d
test rax, rax
je 0x14010c0ad
mov eax, dword [str.WB550]
mov dword [rsi], eax
movzx eax, word [0x140387558]
mov word [rsi + 4], ax
jmp 0x14010a14a
mov rcx, r10
lea rdx, str.EX2F
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010c102
cmp rcx, r15
jne 0x14010c0c0
mov dword [rdi + 0x14], 0xfc80bd6
mov eax, 0x4949
mov dword [rdi + 0x18], 0x18000f
mov word [rdi + 0x548d8], ax
lea rax, [fcn.14012a420]
mov dword [rdi + 0x194], 0x49494949
jmp 0x14010a143
lea rdx, [0x140372f18]
mov rcx, rsi
call fcn.1402ec350
xor r10d, r10d
test eax, eax
jne 0x14010c128
mov eax, 0x10
mov dword [rdi + 0x24f70], eax
jmp 0x14010a14a
mov rcx, r10
lea rdx, [0x140387564]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010c169
mov eax, 4
cmp rcx, rax
jne 0x14010c132
mov r11d, 2
mov word [rdi + 0x18], r11w
movzx eax, word [rdi + 0x10]
sub ax, r11w
mov word [rdi + 0x14], ax
lea r14d, [r11 + 4]
jmp 0x14010a156
mov rcx, r10
lea rdx, str.640x480
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010c19a
cmp rcx, r13
jne 0x14010c173
movsd xmm2, qword [0x140387c10]
movsd xmm1, qword [0x140387b88]
jmp 0x14010ceda
mov r8d, 0xa
lea rdx, str.Hasselblad
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010c507
lea rax, [0x140124df0]
cmp qword [rdi + 0x89ed8], rax
jne 0x14010c1d5
lea rax, [0x140129230]
mov qword [rdi + 0x89ed8], rax
movzx eax, word [rdi + 0x12]
mov ecx, 0x1c5e
cmp ax, cx
jne 0x14010c24d
mov dword [rdi + 0x14], 0x1c501544
lea rdx, [0x140387570]
mov dword [rdi + 0x18], 0x70004
mov r8d, 3
mov rcx, rsi
mov dword [rdi + 0x194], 0x61616161
call fcn.140308184
test eax, eax
jne 0x14010c4b9
mov rax, qword [rdi]
lea r8, str.H3DII_39
xor r9d, r9d
lea rdx, str.Hasselblad
mov rcx, rdi
call qword [rax + 0x40]
movsd xmm0, qword [str.H3DII_39]
movsd qword [rsi], xmm0
movzx eax, byte [0x140387580]
mov byte [rsi + 8], al
jmp 0x14010c4b9
mov ecx, 0x2ee0
cmp ax, cx
jne 0x14010c292
mov dword [rdi + 0x18], 0x40006c
lea r8, str.H6D_100c
mov eax, 0x2d58
lea rdx, str.Hasselblad
mov word [rdi + 0x16], ax
xor r9d, r9d
movzx eax, word [rdi + 0x10]
mov rcx, rdi
sub ax, 0x6c
mov word [rdi + 0x14], ax
mov rax, qword [rdi]
call qword [rax + 0x40]
jmp 0x14010c4b9
mov ecx, 0x1cf2
cmp ax, cx
je 0x14010c45f
mov ecx, 0x205a
cmp ax, cx
je 0x14010c45f
mov ecx, 0x20c0
cmp ax, cx
jne 0x14010c306
mov dword [rdi + 0x18], 0x300060
lea r8, [0x14038759c]
mov eax, 0xffa0
lea rdx, str.Hasselblad
add word [rdi + 0x14], ax
xor r9d, r9d
mov eax, 0xff96
mov rcx, rdi
add word [rdi + 0x16], ax
mov rax, qword [rdi]
call qword [rax + 0x40]
mov eax, 0xffff
mov dword [rdi + 0x24f78], eax
mov eax, 0x10
mov dword [rdi + 0x5491c], eax
jmp 0x14010c4b9
mov ecx, 0x2354
cmp ax, cx
jne 0x14010c3d0
mov ecx, dword [rdi + 0x24f70]
cmp ecx, 0x1f4
jbe 0x14010c386
mov dword [rdi + 0x18], 0x2c000c
xor edx, edx
mov r8d, 0x4018
mov dword [rdi + 0x14], 0x22fc1a34
mov rcx, r14
call fcn.1402d1c50
mov rax, qword [rdi]
lea r8, str.H4D_60
xor r9d, r9d
lea rdx, str.Hasselblad
mov rcx, rdi
call qword [rax + 0x40]
mov eax, dword [str.H4D_60]
mov dword [rsi], eax
movzx eax, word [0x1403875a4]
mov word [rsi + 4], ax
movzx eax, byte [0x1403875a6]
mov byte [rsi + 6], al
mov dword [rdi + 0x24f70], 0x200
jmp 0x14010c4b9
mov dword [rdi + 0x14], 0x23041a3c
mov eax, 0x100
mov dword [rdi + 0x18], 0x280008
mov dword [rdi + 0x54930], eax
lea eax, [rcx + 0x100]
mov dword [rdi + 0x24f70], eax
mov dword [rdi + 0x24f78], 0x8101
movsd xmm0, qword [str.H3DII_60]
movsd qword [rsi], xmm0
movzx eax, byte [0x1403875b0]
mov byte [rsi + 8], al
jmp 0x14010c4b9
mov ecx, 0xffa
cmp ax, cx
jne 0x14010c414
mov eax, dword [str.V96C]
mov dword [rsi], eax
movzx eax, byte [0x1403875b8]
mov byte [rsi + 4], al
mov eax, 0xfffa
mov dword [rdi + 0x18], 0x30006
add word [rdi + 0x14], ax
mov eax, 0xfff6
add word [rdi + 0x16], ax
mov dword [rdi + 0x194], 0x61616161
jmp 0x14010c4b9
mov ecx, 0x20b6
cmp ax, cx
jne 0x14010c4b9
mov eax, 0x18a0
mov r14d, 6
cmp word [rdi + 0x10], ax
jne 0x14010c4bf
mov dword [rdi + 0x18], 0x340064
mov eax, 0x100
mov dword [rdi + 0x14], 0x20501838
mov dword [rdi + 0x24f70], eax
movabs rax, 0x6330352d443548
mov qword [rsi], rax
jmp 0x14010c4bf
mov eax, 0xffac
lea r8, str.H4D_40
add word [rdi + 0x14], ax
lea rdx, str.Hasselblad
mov eax, 0xffae
xor r9d, r9d
add word [rdi + 0x16], ax
mov rcx, rdi
mov dword [rdi + 0x18], 0x290004
mov dword [rdi + 0x194], 0x61616161
mov rax, qword [rdi]
call qword [rax + 0x40]
mov eax, dword [str.H4D_40]
mov dword [rsi], eax
movzx eax, word [0x140387598]
mov word [rsi + 4], ax
movzx eax, byte [0x14038759a]
mov byte [rsi + 6], al
mov r14d, 6
mov eax, dword [rdi + 0x54918]
xor r10d, r10d
lea r13d, [r10 + 1]
lea r11d, [r10 + 2]
cmp eax, r13d
jbe 0x14010a15c
inc eax
mov dword [rdi + 0x184], eax
cmp dword [rdi + 0xe80], r10d
jne 0x14010a15c
cmp dword [rdi + 0xe8c], r10d
jne 0x14010a15c
mov dword [rdi + 0x194], r10d
jmp 0x14010a15c
mov r8, r15
lea rdx, [0x14038446c]
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010c569
cmp qword [rdi + 0x89ed8], 0
jne 0x14010c535
lea rax, [fcn.14012a420]
mov qword [rdi + 0x89ed8], rax
xor r10d, r10d
cmp dword [rdi + 0x184], 1
jbe 0x14010c55a
cmp dword [rdi + 0xe80], r10d
jne 0x14010c55a
cmp dword [rdi + 0xe8c], r10d
jne 0x14010c55a
mov dword [rdi + 0x194], r10d
mov dword [rdi + 0x24f78], 0x3fff
jmp 0x14010a14a
mov r8d, 4
lea rdx, str.Leaf
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010c7f1
mov dword [rdi + 0x24f78], 0x3fff
xor r8d, r8d
mov rcx, qword [rdi + 0x54860]
mov rdx, qword [rdi + 0x548f8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ebx, 1
lea rdx, [rbp + 0x120]
mov r8d, ebx
mov rcx, rdi
call fcn.140123750
test eax, eax
je 0x14010c5d5
cmp dword [rbp + 0x124], 0xf
jne 0x14010c5d5
mov dword [rdi + 0x24f78], 0x1fff
mov r9d, dword [rdi + 0x54918]
cmp r9d, ebx
jbe 0x14010c5eb
xor eax, eax
mov dword [rdi + 0x194], eax
jmp 0x14010c5f7
movzx eax, word [rdi + 0x10]
cmp dword [rdi + 0x5492c], eax
jae 0x14010c610
lea rax, [0x140129780]
mov qword [rdi + 0x89ed8], rax
movzx eax, word [rdi + 0x54928]
mov word [rdi + 0x12], ax
movzx edx, word [rdi + 0x14]
mov r10d, 0x800
movzx r8d, word [rdi + 0x16]
movzx eax, dx
or ax, r8w
cmp ax, r10w
jne 0x14010c6c1
cmp r9d, ebx
jne 0x14010c683
mov dword [rdi + 0x194], ebx
lea ecx, [r10 - 0x20]
mov eax, dword [str.RBTG]
lea edx, [rcx + 0x10]
mov dword [rdi + 0x1e0], eax
movzx eax, byte [0x1403875c0]
mov byte [rdi + 0x1e4], al
movsd xmm0, qword [str.CatchLight]
movsd qword [rsi], xmm0
movzx eax, word [0x1403875d0]
mov word [rsi + 8], ax
movzx eax, byte [0x1403875d2]
mov byte [rsi + 0xa], al
mov eax, 0x12
jmp 0x14010c6a8
mov eax, dword [0x140376dfc]
mov ecx, 0x7e6
mov dword [rsi], eax
mov r13d, 0xa
movzx eax, byte [0x140376e00]
mov byte [rsi + 4], al
mov eax, 0x10
lea edx, [rcx + 6]
mov word [rdi + 0x18], r13w
mov r13, rbx
mov word [rdi + 0x1a], ax
mov word [rdi + 0x14], dx
mov word [rdi + 0x16], cx
jmp 0x14010cef3
lea ecx, [r8 + rdx]
cmp ecx, 0x1454
jne 0x14010c75b
cmp byte [rsi], 0
jne 0x14010c6e0
mov rax, qword [str.Cantare]
mov qword [rsi], rax
mov r14d, 6
cmp r8w, dx
jbe 0x14010c701
mov dword [rdi + 0x18], 0x200006
mov eax, 0x61616161
mov dword [rdi + 0x14], 0xc000800
jmp 0x14010c714
mov dword [rdi + 0x18], 0x60020
mov eax, 0x16161616
mov dword [rdi + 0x14], 0x8000c00
mov dword [rdi + 0x194], eax
movss xmm0, dword [rdi + 0x25014]
ucomiss xmm0, xmm10
jp 0x14010c72a
je 0x14010c745
cmp byte [rsi], 0x56
je 0x14010c745
xor r10d, r10d
mov dword [rdi + 0x184], r9d
mov r13, rbx
lea r11d, [r10 + 2]
jmp 0x14010a15c
xor r10d, r10d
mov r13, rbx
mov dword [rdi + 0x194], r10d
lea r11d, [r10 + 2]
jmp 0x14010a15c
mov eax, 0x844
mov r14d, 6
mov r13, rbx
cmp r8w, ax
jne 0x14010c7a8
mov rax, qword [str.Valeo_6]
lea r11d, [r14 - 4]
mov qword [rsi], rax
sub dx, 0x3c
mov dword [rdi + 0x18], 0x37001e
sub r8w, 0x6e
mov word [rdi + 0x14], dx
xor r10d, r10d
mov word [rdi + 0x16], r8w
mov dword [rdi + 0x194], 0x49494949
jmp 0x14010a15c
mov eax, 0xc63
mov r11d, 2
cmp r8w, ax
jne 0x14010d694
mov rax, qword [str.Valeo_6]
sub dx, 0x30
mov qword [rsi], rax
xor r10d, r10d
mov dword [rdi + 0x18], 0x180018
mov eax, 0xc33
mov word [rdi + 0x14], dx
mov word [rdi + 0x16], ax
mov dword [rdi + 0x194], 0x16161616
jmp 0x14010a15c
mov r8, r15
lea rdx, str.Leica
mov rcx, r12
call fcn.1402ec490
test eax, eax
je 0x14010d7cc
mov r8d, 9
lea rdx, str.Panasonic
mov rcx, r12
call fcn.1402ec490
test eax, eax
je 0x14010d7cc
mov r8d, 6
lea rdx, str.YUNEEC
mov rcx, r12
call fcn.140308184
test eax, eax
je 0x14010d7cc
xor r10d, r10d
lea r8, str.C770UZ
mov ecx, r10d
lea edx, [r10 + 7]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14010c8a2
cmp rcx, rdx
jne 0x14010c860
mov dword [rdi + 0x14], 0x90006b6
lea rax, [0x140129d10]
mov dword [rdi + 0x194], 0x16161616
mov qword [rdi + 0x89ed8], rax
mov eax, 0x1e
mov dword [rdi + 0x54930], eax
jmp 0x14010a14a
mov r8, rdx
mov rcx, r12
lea rdx, [0x140376d10]
call fcn.1402ec490
test eax, eax
jne 0x14010cb17
movzx ecx, word [rdi + 0x14]
and cx, 1
add cx, word [rdi + 0x14]
mov word [rdi + 0x14], cx
mov eax, dword [rdi + 0x548c0]
test eax, eax
je 0x14010c8dc
mov dword [rdi + 0x194], eax
movzx eax, word [rdi + 0x16]
mov edx, 0x1004
cmp ax, dx
jne 0x14010c8f8
mov eax, 0x1000
mov word [rdi + 0x16], ax
movzx edx, ax
jmp 0x14010c92d
mov edx, 0xff0
cmp ax, dx
jne 0x14010c90d
mov edx, 0xfd8
mov word [rdi + 0x16], dx
jmp 0x14010c92d
mov r8d, 0x2440
movzx edx, ax
cmp ax, r8w
jne 0x14010c92d
mov edx, 0x243a
sub cx, 6
mov word [rdi + 0x16], dx
mov word [rdi + 0x14], cx
mov r8, qword [rdi + 0x89ed8]
lea rbx, [fcn.14012a420]
cmp r8, rbx
jne 0x14010c94b
lea rdx, str.N_Digital
mov rcx, rsi
call fcn.1402ec350
test eax, eax
jne 0x14010cb4b
mov dword [rdi + 0x14], 0xc0007ff
mov dword [rdi + 0x194], 0x61616161
mov qword [rdi + 0x548f8], 0x1a00
jmp 0x14010bb8c
lea rdx, str.DSC_F828
mov rcx, rsi
call fcn.1402ec350
xor r10d, r10d
test eax, eax
jne 0x14010cbc2
mov eax, 0xcd8
mov word [rdi + 0x16], ax
lea rax, [0x140131420]
mov word [rdi + 0x1a], r15w
mov dword [rdi + 0x50], 0xffffffef
mov qword [rdi + 0x548f8], 0xd27c0
mov qword [rdi + 0x89ed8], rax
mov eax, 4
mov dword [rdi + 0x194], 0x9c9c9c9c
mov dword [rdi + 0x190], eax
mov eax, dword [str.RGBE]
mov dword [rdi + 0x1e0], eax
movzx eax, byte [0x140387618]
mov byte [rdi + 0x1e4], al
jmp 0x14010a14a
mov rcx, r10
lea rdx, str.DSC_V3
nop dword [rax]
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14010cc17
mov eax, 7
cmp rcx, rax
jne 0x14010cbd0
mov eax, 0xc25
mov word [rdi + 0x16], ax
mov eax, 0x3b
mov word [rdi + 0x1a], ax
lea rax, [0x140131420]
mov dword [rdi + 0x38], 9
mov qword [rdi + 0x548f8], 0xc03c0
jmp 0x14010a143
mov r14d, 4
mov rdx, rbx
mov r8d, r14d
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010cc57
mov eax, 0xf90
cmp word [rdi + 0x12], ax
jne 0x14010cc57
mov r8, r14
mov rdx, rbx
mov rcx, r12
call fcn.1402ec490
test eax, eax
jne 0x14010cc85
mov r13d, 1
mov dword [rsp + 0x20], 0xff
mov r9d, r13d
mov rcx, rdi
call fcn.1401183f0
xor r10d, r10d
mov r14d, 6
lea r11d, [r14 - 4]
jmp 0x14010a15c
xor r10d, r10d
jmp 0x14010a15c
movzx r10d, word [rdi + 0x12]
test r10w, r10w
je 0x14010d81d
mov ecx, r10d
mov eax, 0x92492493
shl ecx, 3
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rsp + 0x30]
cdqe
sub rax, qword [rdi + 0x548f8]
movsxd rcx, edx
cqo
idiv rcx
movzx ecx, word [rdi + 0x10]
cmp rax, rcx
jne 0x14010d81d
lea rax, [0x14012c6d0]
mov qword [rdi + 0x89ed8], rax
cmp qword [rdi + 0x89ed8], 0
jne 0x14010d840
lea rax, [fcn.14012a420]
mov qword [rdi + 0x89ed8], rax
mov eax, 4
mov dword [rdi + 0x54930], eax
mov r13d, 1
lea r11, [0x140000000]
mov dword [rdi + 0x548a8], r13d
add word [rdi + 0x14], 0xc
movzx eax, word [rdi + 0x14]
movzx r9d, word [rdi + 0x10]
cmp ax, r9w
cmova ax, r9w
mov word [rdi + 0x14], ax
xor eax, eax
mov r8d, eax
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
lea rdx, [rax + rax*2]
movsx eax, word [r11 + rdx*4 + 0x3846c0]
cmp r10d, eax
jne 0x14010d8d7
movsx ecx, word [r11 + rdx*4 + 0x3846c2]
cmp r9d, ecx
jne 0x14010d8d7
movzx eax, word [r11 + rdx*4 + 0x3846c4]
mov word [rdi + 0x1a], ax
movzx eax, word [r11 + rdx*4 + 0x3846c6]
mov word [rdi + 0x18], ax
movzx eax, word [r11 + rdx*4 + 0x3846c8]
add word [rdi + 0x16], ax
movzx eax, word [r11 + rdx*4 + 0x3846ca]
add word [rdi + 0x14], ax
inc r8d
cmp r8d, 0x17
jb 0x14010d880
mov eax, dword [rdi + 0x194]
movzx ecx, word [rdi + 0x18]
dec eax
add rcx, rcx
xor rcx, rax
movzx eax, word [rdi + 0x1a]
and eax, r13d
and ecx, 3
xor rcx, rax
movzx eax, byte [rcx + r11 + 0x3875d4]
imul ecx, eax, 0x1010101
mov dword [rdi + 0x194], ecx
jmp 0x14010cef3
mov eax, 0xffff
add word [rdi + 0x16], ax
xor r10d, r10d
jmp 0x14010a14a
xor r10d, r10d
mov eax, 0xffd2
add word [rdi + 0x16], ax
jmp 0x14010a14a
mov eax, 4
xor r10d, r10d
mov dword [rdi + 0x190], eax
mov dword [rdi + 0x194], 0xb4b4b4b4
jmp 0x14010a14a
mov dword [rdi + 0x14], 0x3c00305
mov eax, 0x3e0
mov word [rdi + 0x12], ax
movabs rax, 0x3ff16e0689427379
mov qword [rdi + 0x28], rax
mov dword [rdi + 0x194], 0x1e4e1e4e
mov eax, 4
xor r10d, r10d
mov dword [rdi + 0x190], eax
mov eax, 0xa
mov dword [rdi + 0x5491c], eax
lea rax, [0x140129d10]
mov qword [rdi + 0x89ed8], rax
mov eax, 0x28
mov dword [rdi + 0x54930], eax
jmp 0x14010a14a
mov dword [rbp - 0x58], ecx
cmp ebx, r8d
jae 0x14010e4d5
test dword [rdi + 0xf30], 0x8000
movsxd rax, ebx
je 0x14010defd
imul r14, rax, 0x4210
mov edx, dword [r14 + rdi + 0x609e4]
test dl, 2
je 0x14010d9ee
mov ecx, ebx
jmp 0x14010d9fe
mov eax, dword [rdi + 0x609e4]
and al, 2
neg al
sbb ecx, ecx
neg ecx
dec ecx
mov dword [rbp + 0x2ad0], ecx
test dl, 4
je 0x14010da0e
mov r10d, ebx
jmp 0x14010da21
mov eax, dword [rdi + 0x609e4]
and al, 4
neg al
sbb r10d, r10d
neg r10d
dec r10d
test dl, 8
je 0x14010da2a
mov eax, ebx
jmp 0x14010da3a
mov eax, dword [rdi + 0x609e4]
and al, 8
neg al
sbb eax, eax
neg eax
dec eax
mov r11d, dword [r14 + rdi + 0x60a8c]
mov dword [rbp - 0x60], eax
test r11b, 2
je 0x14010da50
mov r9d, ebx
jmp 0x14010da63
mov eax, dword [rdi + 0x60a8c]
and al, 2
neg al
sbb r9d, r9d
neg r9d
dec r9d
test r11b, 4
je 0x14010da6d
mov edx, ebx
jmp 0x14010da7d
mov eax, dword [rdi + 0x60a8c]
and al, 4
neg al
sbb edx, edx
neg edx
dec edx
test r11b, 8
je 0x14010da87
mov eax, ebx
jmp 0x14010da97
mov eax, dword [rdi + 0x60a8c]
and al, 8
neg al
sbb eax, eax
neg eax
dec eax
test byte [r14 + rdi + 0x60b34], 0x10
mov dword [rbp - 0x5c], eax
je 0x14010daad
mov dword [rbp + 0x2ae0], ebx
jmp 0x14010dac3
mov eax, dword [rdi + 0x60b34]
and al, 0x10
neg al
sbb eax, eax
neg eax
dec eax
mov dword [rbp + 0x2ae0], eax
test ecx, ecx
js 0x14010defa
cmp ecx, r8d
jae 0x14010defa
cmp ecx, r9d
jne 0x14010defa
cmp ecx, r10d
jne 0x14010defa
cmp ecx, edx
jne 0x14010defa
movsxd r11, ecx
imul rax, r11, 0x4210
mov qword [rsp + 0x30], r11
cmp word [rax + rdi + 0x609e8], r13w
jbe 0x14010defa
cmp word [rax + rdi + 0x60a90], r13w
jbe 0x14010defa
movdqa xmm4, xmmword [0x140318c80]
lea rcx, [rbp - 0x20]
movdqa xmm5, xmmword [0x1403178e0]
mov edx, r13d
xorps xmm6, xmm6
nop word [rax + rax]
movd xmm3, edx
mov eax, r13d
pshufd xmm3, xmm3, 0
nop dword [rax]
movd xmm2, eax
movq xmm0, xmm4
pshufd xmm2, xmm2, 0
movq xmm1, xmm3
paddd xmm2, xmm0
add eax, 2
pcmpeqd xmm2, xmm1
movq xmm0, xmm5
pand xmm2, xmm0
movq xmm1, xmm6
por xmm2, xmm1
cvtdq2pd xmm0, xmm2
movups xmmword [rcx], xmm0
add rcx, 0x10
cmp eax, 4
jl 0x14010db50
inc edx
cmp edx, 4
jl 0x14010db40
imul rax, r11, 0x4210
lea r8, [rdi + 0x609e8]
mov ecx, r13d
add r8, rax
mov qword [rbp - 0x30], rax
mov rax, r8
mov rdx, r13
mov r14d, 0xa8
cmp word [rax], 0x15
je 0x14010dbfe
inc ecx
inc rdx
add rax, r14
cmp rdx, 2
jl 0x14010dbb7
mov ecx, r13d
mov r9, r13
mov r10d, 0xd00002
movzx edx, word [r8]
cmp edx, 0x17
ja 0x14010dbe6
bt r10d, edx
jb 0x14010dbfe
cmp edx, 4
je 0x14010dbfe
inc ecx
inc r9
add r8, r14
cmp r9, 2
jl 0x14010dbd7
jmp 0x14010defa
movsxd r14, dword [rdi + 0x190]
mov r13d, ecx
mov r10, r14
test r14d, r14d
jle 0x14010dc94
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x38], rax
cmp r9, 4
jae 0x14010dc94
imul rdx, r11, 0x1084
imul rcx, r13, 0xe
add rcx, r9
inc r9
lea r8, [rdx + rcx*2]
add r8, rcx
add rcx, 0x80d9
movss xmm1, dword [rdi + r8*4 + 0x60a30]
lea rax, [rdx + rcx*2]
add rcx, rax
mov rax, qword [rsp + 0x38]
cvtps2pd xmm1, xmm1
movss xmm0, dword [rdi + rcx*4]
cvtps2pd xmm0, xmm0
movsd qword [rax - 8], xmm0
movss xmm0, dword [rdi + r8*4 + 0x60a34]
movsd qword [rax], xmm1
cvtps2pd xmm0, xmm0
movsd qword [rax + 8], xmm0
add rax, 0x18
mov qword [rsp + 0x38], rax
cmp r9, r10
jl 0x14010dc25
mov eax, dword [rbp + 0x2ad0]
cmp dword [rbp + r13*4 - 0x60], eax
jne 0x14010dde2
test r14d, r14d
jle 0x14010dde2
xor eax, eax
mov r9d, eax
mov r8, rax
cmp r10, 4
jl 0x14010dd80
cmp r8, 4
jge 0x14010ddb9
imul rbx, r11, 0x421
imul r14, r13, 0x2a
add rbx, r9
lea rdx, [r8 + 2]
lea rax, [rdx - 1]
lea rcx, [r8 + r9*4]
lea r11, [r14 + rbx*4]
add r11, r8
movss xmm0, dword [rdi + r11*4 + 0x609ec]
cvtps2pd xmm0, xmm0
movsd qword [rbp + rcx*8 - 0x20], xmm0
cmp rax, 4
jge 0x14010ddb9
lea rax, [rbx + 0x609f]
lea rax, [r14 + rax*4]
add rax, r8
movss xmm0, dword [rdi + rax*4]
cvtps2pd xmm0, xmm0
movsd qword [rbp + rcx*8 - 0x18], xmm0
cmp rdx, 4
jge 0x14010ddb9
movss xmm0, dword [rdi + r11*4 + 0x609f4]
lea rax, [rdx + 1]
cvtps2pd xmm0, xmm0
movsd qword [rbp + rcx*8 - 0x10], xmm0
cmp rax, 4
jge 0x14010ddb9
movss xmm0, dword [rdi + r11*4 + 0x609f8]
lea rax, [r10 - 3]
mov r11, qword [rsp + 0x30]
add r8, 4
cvtps2pd xmm0, xmm0
movsd qword [rbp + rcx*8 - 8], xmm0
cmp r8, rax
jl 0x14010dcc0
cmp r8, r10
jge 0x14010ddb9
nop dword [rax]
cmp r8, 4
jge 0x14010ddb9
imul rdx, r11, 0x421
imul rcx, r13, 0x2a
add rdx, r9
add rcx, r8
lea rax, [rcx + rdx*4]
movss xmm0, dword [rdi + rax*4 + 0x609ec]
lea rax, [r8 + r9*4]
cvtps2pd xmm0, xmm0
inc r8
movsd qword [rbp + rax*8 - 0x20], xmm0
cmp r8, r10
jl 0x14010dd80
mov r11, qword [rsp + 0x30]
inc r9
mov eax, 0
cmp r9, r10
jl 0x14010dcb3
mov ebx, dword [rbp + 0x2ad8]
mov r14d, dword [rdi + 0x190]
mov eax, dword [rbp + 0x2ad0]
cmp dword [rbp + 0x2ae0], eax
jne 0x14010de46
test r10, r10
jle 0x14010de46
lea rdx, [rdi + 0x64b78]
mov r9, r10
add rdx, qword [rbp - 0x30]
lea r8, [rbp - 0x20]
xor esi, esi
mov rax, rsi
test r14d, r14d
jle 0x14010de31
mov rcx, r8
nop
cmp rax, 4
jae 0x14010de31
movss xmm0, dword [rdx]
inc rax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rcx]
movsd qword [rcx], xmm0
add rcx, 8
cmp rax, r10
jl 0x14010de10
add rdx, 4
add r8, 0x20
sub r9, 1
jne 0x14010de03
lea rsi, [rdi + 0x104]
xor eax, eax
mov r13d, eax
test r14d, r14d
jle 0x14010dee7
lea r10, [rbp + 0xc0]
lea rax, [rbp + 0x60]
sub r10, rax
lea r11, [rbp - 0x20]
xor r12d, r12d
lea r8, [rbp + 0x60]
lea esi, [r12 + 3]
cmp r13d, 4
jae 0x14010ded9
mov r9, rsi
nop dword [rax + rax]
mov qword [r8], r12
lea rcx, [r10 + r8]
movaps xmm1, xmm11
movsxd rdx, r14d
mov rax, r11
nop dword [rax]
nop word [rax + rax]
movsd xmm0, qword [rcx]
add rcx, 0x18
mulsd xmm0, qword [rax]
add rax, 8
addsd xmm1, xmm0
sub rdx, 1
jne 0x14010dea0
movsd qword [r8], xmm1
add r8, 8
sub r9, 1
jne 0x14010de80
inc r13d
sub r10, 0x18
add r11, 0x20
cmp r13d, r14d
jl 0x14010de72
lea rsi, [rdi + 0x104]
lea r12, [rdi + 0xc4]
lea rdx, [rdi + 0x25034]
mov rcx, rdi
lea r8, [rbp + 0x60]
call fcn.1401074e0
movsxd rax, ebx
test dword [rdi + 0xf30], 0x1000
je 0x14010e080
imul rax, rax, 0x4210
mov ecx, 0x200
mov edx, dword [rax + rdi + 0x60b34]
test ecx, edx
je 0x14010df28
mov ecx, ebx
jmp 0x14010df38
mov eax, dword [rdi + 0x60b34]
and eax, ecx
neg eax
sbb ecx, ecx
neg ecx
dec ecx
mov r8d, 0x400
test r8d, edx
je 0x14010df47
mov eax, ebx
jmp 0x14010df58
mov eax, dword [rdi + 0x60b34]
and eax, r8d
neg eax
sbb eax, eax
neg eax
dec eax
test ecx, ecx
js 0x14010e080
cmp ecx, eax
jne 0x14010e080
movsxd rax, ecx
imul r11, rax, 0x4210
mov r10d, dword [r11 + rdi + 0x64b6c]
test r10d, r10d
je 0x14010e080
mov r9d, dword [r11 + rdi + 0x64b70]
test r9d, r9d
je 0x14010e080
mov r13d, dword [rdi + 0x194]
mov r14d, dword [r11 + rdi + 0x64b64]
test r13d, r13d
je 0x14010e02e
cmp r13d, 0x3e8
jb 0x14010dfc3
lea eax, [r14 + 1]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
jmp 0x14010dfd9
lea ecx, [r14 + 5]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea r8d, [rdx + rdx*2]
mov r11d, dword [r11 + rdi + 0x64b68]
add r8d, r8d
cmp r13d, 0x3e8
jb 0x14010dffa
lea eax, [r11 + 1]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
jmp 0x14010e00f
lea ecx, [r11 + 5]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
add edx, edx
cmp r8d, r14d
jle 0x14010e01f
mov eax, r14d
sub eax, r8d
add r10d, eax
cmp edx, r11d
jle 0x14010e03c
mov eax, r11d
sub eax, edx
add r9d, eax
jmp 0x14010e03c
mov edx, dword [r11 + rdi + 0x64b68]
mov r8d, r14d
mov r11d, edx
movzx r13d, word [rdi + 0x1a]
movzx eax, word [rdi + 0x12]
lea ecx, [r10 + r13]
add ecx, r14d
cmp ecx, eax
jg 0x14010e080
movzx r14d, word [rdi + 0x18]
movzx eax, word [rdi + 0x10]
lea ecx, [r9 + r14]
add ecx, r11d
cmp ecx, eax
jg 0x14010e080
add r8w, r13w
mov word [rdi + 0x1a], r8w
add r14w, dx
mov word [rdi + 0x18], r14w
mov word [rdi + 0x16], r10w
mov word [rdi + 0x14], r9w
test byte [rdi + 0x2520c], 1
movsxd r14, ebx
jne 0x14010e0da
imul rax, r14, 0x4210
test byte [rax + rdi + 0x609e4], 1
je 0x14010e0a1
mov eax, ebx
jmp 0x14010e0ac
mov eax, dword [rdi + 0x609e4]
and eax, 1
dec eax
mov r13d, 0x30
test eax, eax
js 0x14010e0e0
cdqe
lea rdx, [rdi + 0x60a5c]
imul rcx, rax, 0x4210
mov r8d, r13d
add rdx, rcx
lea rcx, [rdi + 0x25284]
call fcn.1402d15b0
jmp 0x14010e0e0
mov r13d, 0x30
test byte [rdi + 0x252b4], 1
jne 0x14010e12f
imul rax, r14, 0x4210
test byte [rax + rdi + 0x60a8c], 1
je 0x14010e0fe
mov eax, ebx
jmp 0x14010e109
mov eax, dword [rdi + 0x60a8c]
and eax, 1
dec eax
test eax, eax
js 0x14010e12f
cdqe
lea rdx, [rdi + 0x60b04]
imul rcx, rax, 0x4210
mov r8, r13
add rdx, rcx
lea rcx, [rdi + 0x2532c]
call fcn.1402d15b0
imul r14, r14, 0x4210
mov ecx, dword [r14 + rdi + 0x609e4]
test cl, 4
je 0x14010e147
mov eax, ebx
jmp 0x14010e157
mov eax, dword [rdi + 0x609e4]
and al, 4
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e185
cdqe
lea rdx, [rdi + 0x60a2c]
imul rcx, rax, 0x4210
mov r8, r13
add rdx, rcx
lea rcx, [rdi + 0x25254]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x609e4]
test cl, 8
je 0x14010e18e
mov eax, ebx
jmp 0x14010e19e
mov eax, dword [rdi + 0x609e4]
and al, 8
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e1cf
cdqe
lea rdx, [rdi + 0x609ec]
imul rcx, rax, 0x4210
mov r8d, 0x40
add rdx, rcx
lea rcx, [rdi + 0x25214]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x609e4]
test cl, 2
je 0x14010e1d8
mov eax, ebx
jmp 0x14010e1e8
mov eax, dword [rdi + 0x609e4]
and al, 2
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e204
cdqe
imul rcx, rax, 0x4210
movzx eax, word [rcx + rdi + 0x609e8]
mov word [rdi + 0x25210], ax
mov ecx, dword [r14 + rdi + 0x60a8c]
test cl, 4
je 0x14010e215
mov eax, ebx
jmp 0x14010e225
mov eax, dword [rdi + 0x60a8c]
and al, 4
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e253
cdqe
lea rdx, [rdi + 0x60ad4]
imul rcx, rax, 0x4210
mov r8, r13
add rdx, rcx
lea rcx, [rdi + 0x252fc]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x60a8c]
test cl, 8
je 0x14010e25c
mov eax, ebx
jmp 0x14010e26c
mov eax, dword [rdi + 0x60a8c]
and al, 8
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e29d
cdqe
lea rdx, [rdi + 0x60a94]
imul rcx, rax, 0x4210
mov r8d, 0x40
add rdx, rcx
lea rcx, [rdi + 0x252bc]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x60a8c]
test cl, 2
je 0x14010e2a6
mov eax, ebx
jmp 0x14010e2b6
mov eax, dword [rdi + 0x60a8c]
and al, 2
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e2d2
cdqe
imul rcx, rax, 0x4210
movzx eax, word [rcx + rdi + 0x60a90]
mov word [rdi + 0x252b8], ax
mov ecx, dword [r14 + rdi + 0x60b34]
test cl, 0x10
je 0x14010e2e3
mov eax, ebx
jmp 0x14010e2f3
mov eax, dword [rdi + 0x60b34]
and al, 0x10
neg al
sbb eax, eax
neg eax
dec eax
mov r13d, 0x10
test eax, eax
js 0x14010e327
cdqe
lea rdx, [rdi + 0x64b78]
imul rcx, rax, 0x4210
mov r8d, r13d
add rdx, rcx
lea rcx, [rdi + 0x293a0]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x60b34]
test cl, 0x40
je 0x14010e330
mov eax, ebx
jmp 0x14010e340
mov eax, dword [rdi + 0x60b34]
and al, 0x40
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e36e
cdqe
lea rdx, [rdi + 0x64b54]
imul rcx, rax, 0x4210
mov r8, r13
add rdx, rcx
lea rcx, [rdi + 0x2937c]
call fcn.1402d15b0
mov ecx, dword [r14 + rdi + 0x60b34]
test cl, 0x20
je 0x14010e377
mov eax, ebx
jmp 0x14010e387
mov eax, dword [rdi + 0x60b34]
and al, 0x20
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e3bd
cdqe
lea rdx, [rdi + 0x60b38]
imul rcx, rax, 0x4210
mov r8d, 0x4018
add rdx, rcx
mov eax, dword [rcx + rdi + 0x64b50]
lea rcx, [rdi + 0x25360]
mov dword [rdi + 0x29378], eax
call fcn.1402d15b0
mov r8, qword [rbp - 0x58]
test r8d, r8d
js 0x14010e40d
movsxd rax, r8d
imul rcx, rax, 0x4210
mov eax, 0x800
test dword [rcx + rdi + 0x60b34], eax
jne 0x14010e3f6
mov edx, dword [rdi + 0x60b34]
and edx, eax
mov eax, edx
neg eax
sbb ecx, ecx
neg ecx
lea r8d, [rcx - 1]
test edx, edx
je 0x14010e40d
movsxd rax, r8d
imul rcx, rax, 0x4210
mov eax, dword [rcx + rdi + 0x64b74]
mov dword [rdi + 0x2939c], eax
mov ecx, dword [r14 + rdi + 0x60b34]
test cl, cl
jns 0x14010e41d
mov eax, ebx
jmp 0x14010e42d
mov eax, dword [rdi + 0x60b34]
and al, 0x80
neg al
sbb eax, eax
neg eax
dec eax
test eax, eax
js 0x14010e451
cdqe
imul rcx, rax, 0x4210
mov rax, qword [rcx + rdi + 0x609d0]
mov qword [rdi + 0x54900], rax
mov ecx, dword [r14 + rdi + 0x60b34]
mov edx, 0x100
test edx, ecx
jne 0x14010e46a
mov eax, dword [rdi + 0x60b34]
and eax, edx
neg eax
sbb ebx, ebx
neg ebx
dec ebx
test ebx, ebx
js 0x14010e4d5
movsxd rax, ebx
imul rcx, rax, 0x4210
mov r13, qword [rcx + rdi + 0x609d8]
mov r14d, dword [rcx + rdi + 0x609e0]
test r13, r13
js 0x14010e4d5
test r14d, r14d
jle 0x14010e4d5
mov rcx, qword [rdi + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rdx, r13
mov rbx, rax
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov edx, r14d
mov rcx, rdi
call fcn.14013e1f0
mov rcx, qword [rdi + 0x54860]
xor r8d, r8d
mov rdx, rbx
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov eax, dword [rdi + 0x2937c]
lea rdx, [rdi + 0x20f58]
mov dword [rdi + 0x24f78], eax
mov ecx, 0x803
mov eax, dword [rdi + 0x29378]
mov dword [rdi + 0x24f70], eax
nop dword [rax]
mov eax, dword [rdx + 0x4408]
mov dword [rdx], eax
mov eax, dword [rdx + 0x440c]
mov dword [rdx + 4], eax
lea rdx, [rdx + 8]
sub rcx, 1
jne 0x14010e500
mov rax, qword [rdi + 0x89ed8]
test rax, rax
je 0x14010ec59
cmp word [rdi + 0x14], 0x16
jb 0x14010ec59
cmp word [rdi + 0x16], 0x16
jb 0x14010ec59
cmp dword [rdi + 0x5491c], 0x10
lea rbx, [0x1400fbbb0]
jbe 0x14010e55a
cmp rax, rbx
jne 0x14010ec59
cmp dword [rdi + 0x54918], 4
ja 0x14010ec59
movsxd r9, dword [rdi + 0x190]
lea eax, [r9 - 1]
cmp eax, 3
ja 0x14010ec59
movss xmm0, dword [0x140387ad0]
xor r14d, r14d
mov r13d, 1
mov ecx, r14d
mov edx, r13d
cmp r9, 4
jl 0x14010e60c
lea r8, [rdi + 0x25018]
nop
cmp rcx, 4
jge 0x14010e63a
comiss xmm0, dword [r8 - 4]
mov r11d, r14d
lea rax, [rcx + 1]
cmovb r11d, edx
cmp rax, 4
jge 0x14010e6fe
comiss xmm0, dword [r8]
mov edx, r14d
cmovb edx, r11d
cmp rcx, 2
jge 0x14010e63a
comiss xmm0, dword [r8 + 4]
mov r11d, r14d
lea rax, [rcx + 3]
cmovb r11d, edx
cmp rax, 4
jge 0x14010e6fe
comiss xmm0, dword [r8 + 8]
mov edx, r14d
lea rax, [r9 - 3]
cmovb edx, r11d
add rcx, 4
add r8, 0x10
cmp rcx, rax
jl 0x14010e5a0
cmp rcx, r9
jge 0x14010e63a
lea r8, [rdi + 0x25014]
lea r8, [r8 + rcx*4]
cmp rcx, 4
jge 0x14010e63a
comiss xmm0, dword [r8]
mov eax, r14d
cmovb eax, edx
inc rcx
add r8, 4
mov edx, eax
cmp rcx, r9
jl 0x14010e61c
test edx, edx
je 0x14010e917
movss xmm1, dword [rdi + 0x25014]
mov ecx, r14d
cvtps2pd xmm1, xmm1
cmp r9d, 4
jl 0x14010e706
mov r11, r14
lea r8, [rdi + 0x25018]
mov edx, 2
nop dword [rax]
cmp edx, 6
jge 0x14010e739
movss xmm0, dword [r8 - 4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x14010e68b
movaps xmm1, xmm0
lea eax, [rdx - 1]
cmp eax, 4
jge 0x14010e739
movss xmm0, dword [r8]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x14010e6a8
movaps xmm1, xmm0
cmp edx, 4
jge 0x14010e739
movss xmm0, dword [r8 + 4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x14010e6c3
movaps xmm1, xmm0
lea eax, [rdx + 1]
cmp eax, 4
jge 0x14010e739
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x14010e6dd
movaps xmm1, xmm0
add r11, 4
lea eax, [r9 - 3]
add r8, 0x10
add ecx, 4
add edx, 4
cmp ecx, eax
jl 0x14010e670
cmp ecx, r9d
jl 0x14010e70e
jmp 0x14010e739
mov edx, r11d
jmp 0x14010e63a
test r9d, r9d
jle 0x14010e739
mov r11, r14
lea rax, [rdi + 0x25014]
lea rax, [rax + r11*4]
cmp ecx, 4
jge 0x14010e739
movss xmm0, dword [rax]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x14010e72e
movaps xmm1, xmm0
add rax, 4
inc ecx
cmp ecx, r9d
jl 0x14010e719
mov rcx, r14
cmp r9, 4
jl 0x14010e7d0
lea rdx, [rdi + 0x25018]
nop dword [rax]
cmp rcx, 4
jge 0x14010e803
movss xmm0, dword [rdx - 4]
lea rax, [rcx + 1]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [rbp + rcx*8 - 0x50], xmm0
cmp rax, 4
jge 0x14010e803
movss xmm0, dword [rdx]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [rbp + rcx*8 - 0x48], xmm0
cmp rcx, 2
jge 0x14010e803
movss xmm0, dword [rdx + 4]
lea rax, [rcx + 3]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [rbp + rcx*8 - 0x40], xmm0
cmp rax, 4
jge 0x14010e803
movss xmm0, dword [rdx + 8]
lea rax, [r9 - 3]
cvtps2pd xmm0, xmm0
add rdx, 0x10
divsd xmm0, xmm1
movsd qword [rbp + rcx*8 - 0x38], xmm0
add rcx, 4
cmp rcx, rax
jl 0x14010e750
cmp rcx, r9
jge 0x14010e803
lea rax, [rdi + 0x25014]
lea rax, [rax + rcx*4]
cmp rcx, 4
jge 0x14010e803
movss xmm0, dword [rax]
add rax, 4
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [rbp + rcx*8 - 0x50], xmm0
inc rcx
cmp rcx, r9
jl 0x14010e7e0
movsd xmm1, qword [rbp - 0x50]
mov ecx, r14d
movaps xmm2, xmm1
cmp r9d, 4
jl 0x14010e8c9
mov rdx, r14
mov r8d, 2
cmp r8d, 6
jge 0x14010e8ff
movsd xmm0, qword [rbp + rdx*8 - 0x50]
comisd xmm0, xmm1
ja 0x14010e83a
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x14010e843
movaps xmm2, xmm0
lea eax, [r8 - 1]
cmp eax, 4
jge 0x14010e8ff
movsd xmm0, qword [rbp + rdx*8 - 0x48]
comisd xmm0, xmm1
ja 0x14010e85f
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x14010e868
movaps xmm2, xmm0
cmp r8d, 4
jge 0x14010e8ff
movsd xmm0, qword [rbp + rdx*8 - 0x40]
comisd xmm0, xmm1
ja 0x14010e881
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x14010e88a
movaps xmm2, xmm0
lea eax, [r8 + 1]
cmp eax, 4
jge 0x14010e8ff
movsd xmm0, qword [rbp + rdx*8 - 0x38]
comisd xmm0, xmm1
ja 0x14010e8a2
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x14010e8ab
movaps xmm2, xmm0
add rdx, 4
lea eax, [r9 - 3]
add ecx, 4
add r8d, 4
cmp ecx, eax
jl 0x14010e821
cmp ecx, r9d
jl 0x14010e8d1
jmp 0x14010e8ff
test r9d, r9d
jle 0x14010e8ff
mov rdx, r14
lea rax, [rbp - 0x50]
lea rax, [rax + rdx*8]
cmp ecx, 4
jge 0x14010e8ff
movsd xmm0, qword [rax]
comisd xmm0, xmm1
ja 0x14010e8eb
movaps xmm1, xmm0
comisd xmm0, xmm2
ja 0x14010e8f4
movaps xmm2, xmm0
add rax, 8
inc ecx
cmp ecx, r9d
jl 0x14010e8d9
movsd xmm0, qword [0x140387b30]
comisd xmm0, xmm1
jae 0x14010e917
comisd xmm2, xmmword [0x140318aa0]
jbe 0x14010e925
mov dword [rdi + 0x25020], r14d
mov dword [rdi + 0x25014], r14d
cmp dword [rdi + 0xe9c], r14d
jne 0x14010e93c
mov eax, 2
cmp dword [rdi + 0x188], r14d
je 0x14010e941
mov eax, 3
test dword [rdi + 0xea0], eax
je 0x14010e988
movss xmm0, dword [rdi + 0x25034]
comiss xmm0, xmm12
jbe 0x14010e988
movups xmm0, xmmword [rdi + 0x25034]
movups xmmword [rdi + 0x25094], xmm0
movups xmm1, xmmword [rdi + 0x25044]
movups xmmword [rdi + 0x250a4], xmm1
movups xmm0, xmmword [rdi + 0x25054]
movups xmmword [rdi + 0x250b4], xmm0
mov dword [rdi + 0x548a4], r14d
cmp dword [rdi + 0x548a4], r14d
je 0x14010e996
xor r9d, r9d
jmp 0x14010e9b2
movss xmm1, dword [rdi + 0x250c4]
movsd xmm0, qword [0x140373e00]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x14010e9c1
mov r9d, r13d
mov rax, qword [rdi]
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call qword [rax + 0x40]
mov r10, qword [rdi + 0x89ed8]
lea rax, [0x14012da20]
cmp r10, rax
jne 0x14010e9fe
cmp dword [rdi + 0x548a4], r14d
je 0x14010e9fe
mov rax, qword [rdi]
lea r8, str.Quicktake
xor r9d, r9d
lea rdx, str.Apple
mov rcx, rdi
call qword [rax + 0x40]
mov r10, qword [rdi + 0x89ed8]
cmp word [rdi + 0x548ae], r14w
je 0x14010ea2d
cmp dword [rdi + 0x188], r14d
jne 0x14010ebf7
test dword [rdi + 0xf54], 0x10000
jne 0x14010ebf7
mov word [rdi + 0x548ae], r14w
movzx r9d, word [rdi + 0x14]
cmp word [rdi + 0x10], r9w
jae 0x14010ea3e
mov word [rdi + 0x10], r9w
movzx r8d, word [rdi + 0x16]
cmp word [rdi + 0x12], r8w
jae 0x14010ea4f
mov word [rdi + 0x12], r8w
mov ecx, dword [rdi + 0x5491c]
mov r11d, ecx
test ecx, ecx
jne 0x14010ea6c
mov eax, ntohs
mov dword [rdi + 0x5491c], eax
mov ecx, eax
mov r11d, eax
mov rdx, r10
cmp dword [rdi + 0x24f78], r14d
jne 0x14010eab2
mov eax, r13d
shl eax, cl
dec eax
mov dword [rdi + 0x24f78], eax
cmp eax, 0x10000
jae 0x14010eab2
movzx ecx, word [rdi + rax*2 + 0xf58]
test cx, cx
je 0x14010eab2
mov rdx, qword [rdi + 0x89ed8]
lea rax, [0x1401318f0]
cmp rdx, rax
jne 0x14010eab2
mov dword [rdi + 0x24f78], ecx
test rdx, rdx
je 0x14010eae2
cmp r9w, 0x16
jb 0x14010eae2
cmp r8w, 0x16
jb 0x14010eae2
cmp r11d, 0x10
jbe 0x14010ead0
cmp rdx, rbx
jne 0x14010eae2
cmp dword [rdi + 0x54918], 6
ja 0x14010eae2
cmp dword [rdi + 0x190], 4
jle 0x14010eae9
mov dword [rdi + 0x184], r14d
movzx eax, word [rdi + 0x12]
mov ecx, 0xf9ea
sub ax, 0x16
cmp ax, cx
ja 0x14010eb08
movzx eax, word [rdi + 0x10]
sub ax, 0x16
cmp ax, cx
jbe 0x14010eb0f
mov dword [rdi + 0x184], r14d
lea rax, [0x140127db0]
cmp rdx, rax
jne 0x14010eb2d
mov eax, 0x800
mov dword [rdi + 0x184], r14d
or dword [rdi + 0xf54], eax
lea rax, [0x14012eb50]
cmp rdx, rax
je 0x14010eb45
lea rax, [0x140125d90]
cmp rdx, rax
jne 0x14010eb53
mov dword [rdi + 0x184], r14d
or dword [rdi + 0xf54], 0x10
lea rdx, [rdi + 0x1e0]
cmp byte [rdx], r14b
jne 0x14010eb91
cmp dword [rdi + 0x190], 3
lea rax, str.RGBG
lea rcx, str.GMCY
cmove rcx, rax
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14010eb80
cmp word [rdi + 0x10], r14w
jne 0x14010eba0
movzx eax, word [rdi + 0x14]
mov word [rdi + 0x10], ax
cmp word [rdi + 0x12], r14w
jne 0x14010ebaf
movzx eax, word [rdi + 0x16]
mov word [rdi + 0x12], ax
mov edx, dword [rdi + 0x194]
cmp edx, 0x3e7
jbe 0x14010ecd0
cmp dword [rdi + 0x190], 3
jne 0x14010ecd0
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 + 0x194], ecx
jmp 0x14010ecd0
mov edx, dword [rdi + 0x54914]
mov r8d, 0x94949494
movzx eax, word [rdi + 0x16]
test edx, edx
sete cl
shr ax, cl
mov ecx, 0x49494949
mov word [rdi + 0x548ae], ax
test r13b, al
cmovne ecx, r8d
mov dword [rdi + 0x194], ecx
movzx ecx, dx
movzx r8d, word [rdi + 0x14]
shr r8w, cl
add r8w, ax
movabs rax, 0x3ff0000000000000
mov word [rdi + 0x16], r8w
lea r9d, [r8 - 1]
mov word [rdi + 0x14], r9w
mov qword [rdi + 0x28], rax
jmp 0x14010ea4f
xor eax, eax
mov dword [rdi + 0x184], eax
mov rax, qword [rdi + 0x89e48]
test rax, rax
je 0x14010ed77
mov rcx, qword [rdi + 0x89e50]
mov edx, 2
mov r9d, edx
lea r8d, [rdx - 1]
call rax
test eax, eax
jne 0x14010edfd
jmp 0x14010ed77
mov dword [rdi + 0x184], r10d
mov rax, qword [rdi + 0x89e48]
test rax, rax
je 0x14010ed77
mov rcx, qword [rdi + 0x89e50]
mov r9d, r11d
mov r8d, r13d
mov edx, r11d
call rax
test eax, eax
jne 0x14010ee18
jmp 0x14010ed77
xor r14d, r14d
lea r13d, [r14 + 1]
mov ecx, dword [rdi + 0x30]
cmp ecx, 0xffffffff
jne 0x14010ed1b
mov ecx, dword [rdi + 0x548d4]
mov dword [rdi + 0x30], ecx
cmp ecx, 0xffffffff
jne 0x14010ed1b
mov dword [rdi + 0x30], r14d
mov ebx, 6
mov rax, qword [rdi + 0x89e48]
test rax, rax
je 0x14010ed77
mov ecx, 2
mov r8d, r13d
mov r9d, ecx
mov edx, ecx
mov rcx, qword [rdi + 0x89e50]
call rax
test eax, eax
jne 0x14010ee2f
jmp 0x14010ed77
lea eax, [rcx + 0x59]
cmp eax, 0xb2
jbe 0x14010ecea
add ecx, 0xe10
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x168
sub ecx, eax
sub ecx, 0x5a
je 0x14010ed6a
sub ecx, 0x5a
je 0x14010ed60
mov ebx, 6
cmp ecx, 0x5a
jne 0x14010ecef
mov dword [rdi + 0x30], r15d
jmp 0x14010ecef
mov eax, 3
mov dword [rdi + 0x30], eax
jmp 0x14010ecea
mov ebx, 6
mov dword [rdi + 0x30], ebx
jmp 0x14010ecef
movaps xmm6, xmmword [rsp + 0x2b70]
movaps xmm10, xmmword [rsp + 0x2b30]
movaps xmm11, xmmword [rsp + 0x2b20]
movaps xmm12, xmmword [rsp + 0x2b10]
add rsp, 0x2b88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r15d, 5
lea rdx, [0x1404ad790]
lea rcx, [rbp + 0x2ae8]
mov dword [rbp + 0x2ae8], r15d
call fcn.1402d12e0
int3
lea rdx, [0x1404ad790]
mov dword [rsp + 0x40], r15d
lea rcx, [rsp + 0x40]
call fcn.1402d12e0
int3
lea rdx, [0x1404ad790]
mov dword [rsp + 0x44], r15d
lea rcx, [rsp + 0x44]
call fcn.1402d12e0
int3
mov eax, 6
lea rdx, [0x1404ad790]
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
call fcn.1402d12e0
int3
lea rdx, [0x1404ad790]
mov dword [rsp + 0x4c], r14d
lea rcx, [rsp + 0x4c]
call fcn.1402d12e0
int3
lea rdx, [0x1404ad790]
mov dword [rsp + 0x50], ebx
lea rcx, [rsp + 0x50]
call fcn.1402d12e0
int3