Function at 0x140064160
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x100
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x1400ada20]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x5d1c0]
mov rdi, rcx
movsd xmm7, qword [0x140080e20]
xor r15d, r15d
mov qword [rcx + 0x540], rax
movzx esi, r15w
mov rcx, qword [rcx + 0x5d158]
movzx ebp, r15w
movsxd rdx, edx
xor r8d, r8d
mov dword [rsp + 0x20], esi
movaps xmm8, xmm7
mov dword [rsp + 0x24], ebp
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov r14d, eax
cmp eax, 0xff
ja 0x14006470d
or dword [rdi + 0x150c], 0x10000
lea rdx, str.S2Pro
mov qword [rsp + 0x140], rbx
lea rbx, [rdi + 0x10c]
mov rcx, rbx
mov qword [rsp + 0xf8], r12
call sub.VCRUNTIME140.dll_strstr
lea r12d, [r15 + 1]
test rax, rax
jne 0x1400642b2
lea rdx, str.S20Pro
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400642b2
lea rdx, str.F700
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400642b2
lea rdx, str.S5000
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400642b2
lea rdx, str.S7000
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x1400642b2
lea rdx, [0x14009a0a8]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140064297
lea rdx, str.DX_2000
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400642cb
movsd xmm7, qword [0x14009a450]
mov ebp, r12d
movsd xmm8, qword [0x14009a458]
mov dword [rsp + 0x24], r12d
jmp 0x1400642cb
movsd xmm7, qword [0x14009a468]
movzx ebp, r12w
movsd xmm8, qword [0x14009a460]
mov dword [rsp + 0x24], ebp
test r14d, r14d
je 0x1400646e6
mov qword [rsp + 0xf0], r13
movaps xmmword [rsp + 0xb0], xmm9
movss xmm9, dword [0x1400918b8]
movaps xmmword [rsp + 0xa0], xmm10
movss xmm10, dword [0x140094b88]
movaps xmmword [rsp + 0x90], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0x80], xmm12
movsd xmm12, qword [0x1400918a8]
movaps xmmword [rsp + 0x70], xmm13
movss xmm13, dword [0x140080df4]
movaps xmmword [rsp + 0xe0], xmm6
nop word [rax + rax]
dec r14d
mov rcx, rdi
mov dword [rsp + 0x2c], r14d
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
movzx ebx, ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, qword [rdi + 0x5d158]
movzx r13d, ax
mov dword [rsp + 0x30], r13d
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [rsp + 0x48], rax
cmp ebx, 0x100
jne 0x1400643a3
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
mov word [rdi + 0x10], ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov word [rdi + 0x12], ax
mov esi, r12d
mov dword [rsp + 0x20], r12d
jmp 0x14006467c
cmp ebx, 0x110
jne 0x1400643d7
test si, si
je 0x14006467c
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
mov word [rdi + 0xb8], ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov word [rdi + 0xb6], ax
jmp 0x14006467c
cmp ebx, 0x111
jne 0x14006440b
test si, si
je 0x14006467c
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
mov word [rdi + 0xbc], ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov word [rdi + 0xba], ax
jmp 0x14006467c
cmp ebx, 0x115
jne 0x140064497
test si, si
je 0x14006467c
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
movzx ebx, ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx eax, ax
imul eax, ebx
cmp eax, 6
jne 0x14006444f
mov eax, 0x5dc
mov word [rdi + 0xb4], ax
jmp 0x14006467c
cmp eax, 0xc
jne 0x140064465
mov eax, 0x535
mov word [rdi + 0xb4], ax
jmp 0x14006467c
cmp eax, 0x90
jne 0x14006447d
mov eax, 0x6f1
mov word [rdi + 0xb4], ax
jmp 0x14006467c
cmp eax, 1
jne 0x14006467c
mov eax, 0x3e8
mov word [rdi + 0xb4], ax
jmp 0x14006467c
cmp ebx, 0x121
jne 0x1400644d3
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
mov word [rdi + 0x14], ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov ecx, 0x10bc
mov word [rdi + 0x16], ax
cmp ax, cx
jne 0x14006467c
mov eax, 0x10bf
mov word [rdi + 0x16], ax
jmp 0x14006467c
cmp ebx, 0x130
jne 0x140064514
mov rcx, qword [rdi + 0x5d158]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [rdi + 0x5d158]
sar eax, 7
mov dword [rdi + 0x5d240], eax
mov rax, qword [rcx]
call qword [rax + 0x30]
shr eax, 3
not ax
and ax, 1
mov word [rdi + 0x5d1a6], ax
jmp 0x14006467c
cmp ebx, 0x131
jne 0x140064567
mov dword [rdi + 0x220], 9
mov ebx, r15d
nop dword [rax]
mov rcx, qword [rdi + 0x5d158]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov ecx, 2
cmp eax, ecx
cmovl ecx, eax
mov eax, 0x23
test ecx, ecx
cmovs ecx, r15d
sub eax, ebx
inc ebx
mov byte [rax + rdi + 0x248], cl
cmp ebx, 0x24
jb 0x140064530
jmp 0x14006467c
cmp ebx, 0x2ff0
jne 0x14006473a
mov rbx, r15
mov esi, 4
nop dword [rax + rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2df64], ecx
sub rsi, 1
jne 0x140064580
cmp r13d, 0x10
jne 0x1400645e2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2df64]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2df64], eax
sub rsi, 1
jne 0x1400645b0
test bp, bp
je 0x14006461e
movd xmm0, dword [rdi + 0x2df64]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si ecx, xmm0
movd xmm0, dword [rdi + 0x2df6c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2df64], ecx
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2df6c], eax
jmp 0x140064630
mov ecx, dword [rdi + 0x2df64]
nop dword [rax]
nop dword [rax + rax]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x255d4], xmm0
movd xmm1, dword [rdi + 0x2df68]
cvtdq2ps xmm1, xmm1
movss dword [rdi + 0x255d8], xmm1
movd xmm0, dword [rdi + 0x2df6c]
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x255dc], xmm0
movd xmm1, dword [rdi + 0x2df70]
cvtdq2ps xmm1, xmm1
movss dword [rdi + 0x255e0], xmm1
mov esi, dword [rsp + 0x20]
mov rcx, qword [rdi + 0x5d158]
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
add edx, r13d
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov ebp, dword [rsp + 0x24]
mov r15d, 0
lea r12d, [r15 + 1]
test r14d, r14d
jne 0x140064340
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r13, qword [rsp + 0xf0]
cmp dword [rdi + 0xaf8], 0
mov r12, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x140]
jne 0x14006470d
mov ecx, dword [rdi + 0x5d240]
shl word [rdi + 0x14], cl
shr word [rdi + 0x16], cl
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14007c510
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xc0]
add rsp, 0x100
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
cmp ebx, 0x4000
jne 0x140064866
lea eax, [r13 - 8]
test eax, 0xfffffff7
jne 0x14006467c
mov eax, r13d
mov ebx, r15d
shr eax, 1
mov word [rdi + 0xb06], ax
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov ecx, ebx
inc ebx
xor ecx, 1
inc ecx
mov word [rdi + rcx*2 + 0xb06], ax
cmp ebx, 4
jb 0x140064764
movzx eax, word [rdi + 0xb06]
cmp ax, 8
jne 0x1400647b8
mov ebx, r15d
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov ecx, ebx
inc ebx
xor ecx, 1
add ecx, 5
mov word [rdi + rcx*2 + 0xb06], ax
cmp ebx, 4
jb 0x140064792
movzx eax, word [rdi + 0xb06]
cmp ax, 4
jne 0x1400647f7
movzx eax, word [rdi + 0xb08]
mov dword [rdi + 0x21510], eax
movzx eax, word [rdi + 0xb0a]
mov dword [rdi + 0x21514], eax
movzx eax, word [rdi + 0xb0c]
mov dword [rdi + 0x21518], eax
movzx eax, word [rdi + 0xb0e]
mov dword [rdi + 0x2151c], eax
jmp 0x14006467c
cmp ax, 8
jne 0x14006467c
movzx eax, word [rdi + 0xb08]
movzx ecx, word [rdi + 0xb10]
add ecx, eax
shr ecx, 1
mov dword [rdi + 0x21510], ecx
movzx eax, word [rdi + 0xb0a]
movzx ecx, word [rdi + 0xb12]
add ecx, eax
shr ecx, 1
mov dword [rdi + 0x21514], ecx
movzx eax, word [rdi + 0xb0c]
movzx ecx, word [rdi + 0xb14]
add ecx, eax
shr ecx, 1
mov dword [rdi + 0x21518], ecx
movzx ecx, word [rdi + 0xb16]
movzx eax, word [rdi + 0xb0e]
add ecx, eax
shr ecx, 1
mov dword [rdi + 0x2151c], ecx
jmp 0x14006467c
cmp ebx, 0x9200
jne 0x140064914
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
mov rcx, rdi
movzx ebx, ax
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
cmp ebx, ecx
je 0x140064903
test ebx, ebx
je 0x140064903
lea eax, [rbx*4]
cmp eax, ecx
jne 0x1400648ac
movaps xmm0, xmm9
movss dword [rdi + 0xaac], xmm0
jmp 0x14006467c
mov eax, ebx
shl eax, 4
cmp eax, ecx
jne 0x1400648c6
movaps xmm0, xmm10
movss dword [rdi + 0xaac], xmm0
jmp 0x14006467c
movd xmm0, ecx
movd xmm1, ebx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movaps xmm6, xmm0
movaps xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_log
divsd xmm6, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
movss dword [rdi + 0xaac], xmm0
jmp 0x14006467c
movaps xmm0, xmm11
movss dword [rdi + 0xaac], xmm0
jmp 0x14006467c
cmp ebx, 0x9650
jne 0x140064969
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movsx ecx, ax
movd xmm6, ecx
mov rcx, rdi
cvtdq2ps xmm6, xmm6
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx eax, ax
movaps xmm1, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
divss xmm6, xmm1
movss dword [rdi + 0xa98], xmm6
addss xmm6, dword [rdi + 0x12ac]
movss dword [rdi + 0x12ac], xmm6
jmp 0x14006467c
cmp ebx, 0x2000
jne 0x140064a25
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2df74], ecx
sub rsi, 1
jne 0x140064980
cmp r13d, 0x10
jne 0x1400649e2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2df74]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2df74], eax
sub rsi, 1
jne 0x1400649b0
test bp, bp
je 0x140064678
movd xmm0, dword [rdi + 0x2df74]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2df7c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2df74], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2df7c], eax
jmp 0x140064678
cmp ebx, 0x2100
jne 0x140064ae9
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2dae4], ecx
sub rsi, 1
jne 0x140064a40
cmp r13d, 0x10
jne 0x140064aa2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2dae4]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2dae4], eax
sub rsi, 1
jne 0x140064a70
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2dae4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2daec]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2dae4], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2daec], eax
jmp 0x14006467c
cmp ebx, 0x2200
jne 0x140064ba9
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db04], ecx
sub rsi, 1
jne 0x140064b00
cmp r13d, 0x10
jne 0x140064b62
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db04]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db04], eax
sub rsi, 1
jne 0x140064b30
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db04]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db0c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db04], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db0c], eax
jmp 0x14006467c
cmp ebx, 0x2300
jne 0x140064c69
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db14], ecx
sub rsi, 1
jne 0x140064bc0
cmp r13d, 0x10
jne 0x140064c22
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db14]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db14], eax
sub rsi, 1
jne 0x140064bf0
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db14]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db1c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db14], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db1c], eax
jmp 0x14006467c
cmp ebx, 0x2301
jne 0x140064d29
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db24], ecx
sub rsi, 1
jne 0x140064c80
cmp r13d, 0x10
jne 0x140064ce2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db24]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db24], eax
sub rsi, 1
jne 0x140064cb0
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db24]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db2c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db24], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db2c], eax
jmp 0x14006467c
cmp ebx, 0x2302
jne 0x140064de9
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db34], ecx
sub rsi, 1
jne 0x140064d40
cmp r13d, 0x10
jne 0x140064da2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db34]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db34], eax
sub rsi, 1
jne 0x140064d70
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db34]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db3c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db34], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db3c], eax
jmp 0x14006467c
cmp ebx, 0x2310
jne 0x140064ea9
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db44], ecx
sub rsi, 1
jne 0x140064e00
cmp r13d, 0x10
jne 0x140064e62
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db44]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db44], eax
sub rsi, 1
jne 0x140064e30
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db44]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db4c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db44], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db4c], eax
jmp 0x14006467c
cmp ebx, 0x2311
jne 0x140064f69
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2db54], ecx
sub rsi, 1
jne 0x140064ec0
cmp r13d, 0x10
jne 0x140064f22
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2db54]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2db54], eax
sub rsi, 1
jne 0x140064ef0
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2db54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2db5c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2db54], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2db5c], eax
jmp 0x14006467c
cmp ebx, 0x2400
jne 0x140065029
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2da84], ecx
sub rsi, 1
jne 0x140064f80
cmp r13d, 0x10
jne 0x140064fe2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2da84]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2da84], eax
sub rsi, 1
jne 0x140064fb0
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2da84]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2da8c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2da84], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2da8c], eax
jmp 0x14006467c
cmp ebx, 0x2410
jne 0x1400650e9
mov rbx, r15
mov esi, 4
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
mov dword [rdi + rax*4 + 0x2da94], ecx
sub rsi, 1
jne 0x140065040
cmp r13d, 0x10
jne 0x1400650a2
mov rbx, r15
lea esi, [r13 - 0xc]
nop
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov r8, rbx
xor r8, 1
inc rbx
mov eax, dword [rdi + r8*4 + 0x2da94]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2da94], eax
sub rsi, 1
jne 0x140065070
mov esi, dword [rsp + 0x20]
test bp, bp
je 0x14006467c
movd xmm0, dword [rdi + 0x2da94]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
movd xmm0, dword [rdi + 0x2da9c]
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x2da94], eax
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
mov dword [rdi + 0x2da9c], eax
jmp 0x14006467c
cmp ebx, 0x2f00
jne 0x1400651e8
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov ecx, 6
mov ebp, 0x5a
cmp eax, ecx
cmovl ecx, eax
lea eax, [rcx + 0x5a]
movsxd r15, eax
cmp rbp, r15
jge 0x14006467c
shl ecx, 4
lea r14, [rdi + 0x2e59c]
lea r12d, [rcx + 4]
nop dword [rax]
xor ebx, ebx
lea esi, [rbx + 4]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
lea rax, [rax + rbp*4]
mov dword [rdi + rax*4 + 0x2da54], ecx
sub rsi, 1
jne 0x140065135
cmp r13d, r12d
jb 0x14006519b
xor ebx, ebx
lea esi, [rbx + 4]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_short_int___cdecl_LibRaw::get2_void____ptr64
movzx ecx, ax
mov rax, rbx
xor rax, 1
inc rbx
lea r8, [rax + rbp*4]
mov eax, dword [rdi + r8*4 + 0x2da54]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rdi + r8*4 + 0x2da54], eax
sub rsi, 1
jne 0x140065165
cmp word [rsp + 0x24], 0
je 0x1400651ce
movd xmm0, dword [r14 - 8]
movd xmm1, dword [r14]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm7
mulsd xmm1, xmm8
cvttsd2si eax, xmm0
mov dword [r14 - 8], eax
cvttsd2si eax, xmm1
mov dword [r14], eax
inc rbp
add r14, 0x10
cmp rbp, r15
jl 0x140065130
mov r14d, dword [rsp + 0x2c]
jmp 0x140064678
cmp ebx, 0xc000
jne 0x14006467c
movzx ebp, word [rdi + 0x5d1e0]
mov ecx, 0x4949
mov word [rsp + 0x28], bp
mov word [rdi + 0x5d1e0], cx
cmp r13d, 0x4e20
jbe 0x14006529c
mov rcx, qword [rdi + 0x5d158]
lea rdx, [rsp + 0x50]
mov eax, eax
mov r9, r12
mov qword [rdi + 0x5d270], rax
mov r8d, 0x10
mov eax, r13d
shr eax, 1
mov dword [rdi + 0x5d278], eax
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call sym.EURawImg.exe_protected:_int___cdecl_LibRaw::guess_RAFDataGeneration_unsigned_char____ptr64____ptr64
mov rcx, qword [rdi + 0x5d158]
add eax, 0xfffffff0
movsxd rdx, eax
mov r8d, r12d
mov r9, qword [rcx]
call qword [r9 + 0x18]
lea rbx, [rdi + 0xb18]
mov esi, 0x20
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov dword [rbx], eax
lea rbx, [rbx + 4]
sub rsi, 1
jne 0x140065278
mov esi, dword [rsp + 0x20]
mov word [rdi + 0x5d1e0], bp
jmp 0x14006467c
cmp r13d, 0x1000
jne 0x1400654ea
mov rcx, qword [rdi + 0x5d158]
lea edx, [rax + 0x200]
mov dword [rdi + 0xaf8], 0x1000
xor r8d, r8d
mov r13, r15
mov r9, qword [rcx]
call qword [r9 + 0x18]
lea rax, [rdi + 0x2ea54]
mov qword [rsp + 0x40], 0x2a
mov qword [rsp + 0x38], rax
lea r15, [rdi + 0x2ea5c]
nop dword [rax]
mov rcx, rdi
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov rcx, rdi
mov esi, eax
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov rcx, rdi
mov ebx, eax
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov rcx, rdi
lea ebp, [rax + rax]
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov rcx, rdi
mov r14d, eax
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
mov rcx, rdi
mov r12d, eax
call sym.EURawImg.exe_protected:_unsigned_int___cdecl_LibRaw::get4_void____ptr64
lea r11d, [rax + rax]
test ebx, ebx
je 0x140065394
cmp r13, 0xff
jge 0x140065394
mov rax, qword [rsp + 0x38]
inc r13
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movd xmm1, ebp
movss dword [rax], xmm0
add rax, 0x14
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x38], rax
movd xmm0, r14d
movss dword [r15 - 4], xmm1
cvtdq2ps xmm0, xmm0
movd xmm1, r11d
movss dword [r15], xmm0
movd xmm0, r12d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [r15 + 4], xmm1
movss dword [r15 + 8], xmm0
add r15, 0x14
cmp esi, 0x46
je 0x1400654cb
mov r8d, dword [0x1400ad548]
mov edx, 1
cmp r8d, edx
jle 0x1400654cb
mov r9, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
cmp edx, r8d
jae 0x1400653c6
mov eax, edx
mov ecx, dword [r9 + rax*4]
jmp 0x1400653d7
test r8d, r8d
je 0x1400653d5
test r9, r9
je 0x1400653d5
mov ecx, dword [r9]
jmp 0x1400653d7
xor ecx, ecx
cmp ecx, esi
je 0x1400653e8
add edx, 2
cmp edx, r8d
jl 0x1400653bc
jmp 0x1400654cb
lea r10d, [rdx - 1]
cmp r10d, r8d
jae 0x1400653f7
mov ecx, dword [r9 + r10*4]
jmp 0x140065408
test r8d, r8d
je 0x140065406
test r9, r9
je 0x140065406
mov ecx, dword [r9]
jmp 0x140065408
xor ecx, ecx
movsxd rax, ecx
add rax, rax
mov dword [rdi + rax*8 + 0x2da54], ebp
mov eax, dword [0x1400ad548]
cmp r10d, eax
jae 0x14006542d
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
mov edx, dword [rax + r10*4]
jmp 0x140065443
test eax, eax
je 0x140065441
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
test rax, rax
je 0x140065441
mov edx, dword [rax]
jmp 0x140065443
xor edx, edx
movsxd rax, edx
add rax, rax
mov dword [rdi + rax*8 + 0x2da58], r14d
mov eax, dword [0x1400ad548]
cmp r10d, eax
jae 0x140065469
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
mov edx, dword [rax + r10*4]
jmp 0x14006547f
test eax, eax
je 0x14006547d
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
test rax, rax
je 0x14006547d
mov edx, dword [rax]
jmp 0x14006547f
xor edx, edx
movsxd rax, edx
add rax, rax
mov dword [rdi + rax*8 + 0x2da5c], r11d
mov eax, dword [0x1400ad548]
cmp r10d, eax
jae 0x1400654a5
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
mov edx, dword [rax + r10*4]
jmp 0x1400654bb
test eax, eax
je 0x1400654b9
mov rax, qword [sym.EURawImg.exe_class_libraw_static_table_t_LibRaw::Fuji_wb_list2]
test rax, rax
je 0x1400654b9
mov edx, dword [rax]
jmp 0x1400654bb
xor edx, edx
movsxd rax, edx
add rax, 0x2da6
add rax, rax
mov dword [rdi + rax*8], r12d
sub qword [rsp + 0x40], 1
jne 0x1400652f0
movzx ebp, word [rsp + 0x28]
mov r13d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x20]
mov word [rdi + 0x5d1e0], bp
jmp 0x14006467c