Function at 0x14010e8f0
Capabilities:
Encode data using xor
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
movaps xmmword [rsp + 0x670], xmm9
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x520], rax
movaps xmm0, xmmword [0x140210e00]
movsxd rbx, dword [rcx + 0x414]
movsd xmm9, qword [0x140269a98]
xor edi, edi
movaps xmm1, xmm0
mov dword [rsp + 0x30], edx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x78], 0x10
movsd qword [rbp + 0x248], xmm9
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x3c], 0x3020100
movups xmmword [rbp + 0x250], xmm0
movups xmmword [rbp + 0x260], xmm1
movaps xmm0, xmmword [0x140210e00]
movups xmmword [rbp + 0x238], xmm0
mov qword [rbp + 0x220], rdi
mov qword [rbp + 0x228], rdi
mov dword [rbp + 0x230], edi
mov dword [rbp + 0x234], 0xfff
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x7c], edi
mov dword [rbp - 0x78], edi
cmp ebx, 0xa
jb 0x14010e9d2
mov eax, 1
jmp 0x140110c5a
lea eax, [rbx + 1]
mov r8d, edi
lea rdx, [rbp + 0x290]
mov dword [rcx + 0x414], eax
mov r9d, 4
nop dword [rax + rax]
mov ecx, edi
cmp ecx, r8d
mov eax, edi
sete al
inc ecx
add rdx, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rdx - 8], xmm0
cmp ecx, 4
jl 0x14010e9f2
inc r8d
dec r9
jne 0x14010e9f0
mov rcx, rsi
call fcn.1400fbbe0
movzx ecx, ax
cmp ecx, 0x200
ja 0x14010e9c8
movaps xmmword [rsp + 0x690], xmm7
xorps xmm7, xmm7
test ecx, ecx
je 0x14010ed54
mov edi, dword [rsp + 0x30]
movaps xmmword [rsp + 0x6a0], xmm6
movaps xmmword [rsp + 0x680], xmm8
movsd xmm8, qword [0x140231698]
mov qword [rsp + 0x40], rbx
mov ebx, 1
movaps xmmword [rsp + 0x660], xmm10
movaps xmmword [rsp + 0x650], xmm11
movaps xmmword [rsp + 0x640], xmm12
movss xmm10, dword [0x1402316f4]
movsd xmm12, qword [0x1401f6ca0]
movsd xmm11, qword [0x140231680]
movaps xmmword [rsp + 0x630], xmm13
xorps xmm13, xmm13
nop dword [rax + rax]
dec ecx
lea rax, [rbp - 0x70]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov dword [rbp - 0x6c], ecx
lea r8, [rbp - 0x68]
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1401187c0
mov edi, dword [rbp - 0x68]
mov dword [rsp + 0x50], edi
cmp edi, 0x201
jne 0x14010eeec
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov rcx, rsi
mov ebx, eax
call fcn.1400fbc20
mov rcx, qword [rsi + 0x55ba0]
add eax, dword [rsp + 0x30]
xor r8d, r8d
mov edx, ebx
mov dword [rsi + 0x44840], eax
call fcn.1401c1f88
mov ebx, 1
mov rcx, rsi
call fcn.1400fbc20
mov edx, dword [rsp + 0x30]
add edx, eax
mov rax, qword [rsp + 0x40]
lea rdi, [rax + rax*2]
add rdi, rdi
cmp dword [rsi + rdi*8 + 0x559a0], 0
mov dword [rsi + rdi*8 + 0x559ac], edx
jne case.0x140110829.61444
test edx, edx
jle case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
call fcn.1401c1f88
lea rdx, [rbp - 0x60]
mov r8d, ebx
mov rcx, rsi
call fcn.140104c00
test eax, eax
je case.0x140110829.61444
cmp dword [rbp - 0x4c], 0
mov ecx, dword [rbp - 0x54]
mov r9d, dword [rbp - 0x58]
mov eax, dword [rbp - 0x5c]
mov r8d, dword [rbp - 0x50]
mov dword [rsi + rdi*8 + 0x55998], ecx
mov dword [rsi + rdi*8 + 0x5599c], r9d
mov dword [rsi + rdi*8 + 0x559a0], eax
mov dword [rsi + rdi*8 + 0x559b4], r8d
mov dword [rsi + rdi*8 + 0x559a4], 6
jne 0x14010ebd1
test r8b, 1
jne 0x14010ebd1
mov eax, r8d
imul eax, ecx
mov dword [rsi + rdi*8 + 0x55998], eax
mov eax, dword [rsi + rdi*8 + 0x55998]
xor edx, edx
lea ecx, [r9*4]
cmp eax, ecx
not r8d
setg dl
test r8d, edx
je 0x14010ec06
cdq
sub eax, edx
sar eax, 1
mov dword [rsi + rdi*8 + 0x55998], eax
lea eax, [r9 + r9]
mov dword [rsi + rdi*8 + 0x5599c], eax
mov edx, dword [rsi + rdi*8 + 0x559ac]
movsx ebx, word [rsi]
mov rcx, rsi
add edx, 0xc
call fcn.14010e850
mov word [rsi], bx
mov ebx, 1
mov edi, dword [rsp + 0x30]
mov edx, dword [rbp - 0x70]
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
call fcn.1401c1f88
mov ecx, dword [rbp - 0x6c]
test ecx, ecx
jne 0x14010eab0
mov eax, dword [rsp + 0x7c]
movaps xmm13, xmmword [rsp + 0x630]
movaps xmm12, xmmword [rsp + 0x640]
movaps xmm11, xmmword [rsp + 0x650]
movaps xmm10, xmmword [rsp + 0x660]
movaps xmm8, xmmword [rsp + 0x680]
movaps xmm6, xmmword [rsp + 0x6a0]
test eax, eax
je 0x14010ed54
mov ecx, eax
mov edi, eax
call fcn.1401bee78
mov rbx, rax
test rax, rax
je 0x14010ed54
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
call fcn.1401c1f88
mov r9, qword [rsi + 0x55ba0]
mov r8d, 1
mov edx, edi
mov rcx, rbx
call fcn.1401c1e14
mov ecx, dword [rbp - 0x78]
mov r8d, dword [rsp + 0x7c]
mov dword [rsp + 0x20], ecx
shr r8d, 2
mov r9d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.140117d10
mov rax, qword [rsi + 0x55ba0]
mov qword [rsp + 0x58], rax
call fcn.1401c630c
mov qword [rsi + 0x55ba0], rax
test rax, rax
je 0x14010ed40
mov r9, rax
mov r8d, 1
mov edx, edi
mov rcx, rbx
call fcn.1401c24f8
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
xor edx, edx
call fcn.1401c1f88
mov edx, dword [rsp + 0x74]
mov rcx, rsi
neg edx
call fcn.14010e8f0
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401be6a4
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov qword [rsi + 0x55ba0], rax
call fcn.1401be23c
mov r11d, dword [rsi + 0x24630]
test r11d, r11d
jle 0x14010eda3
lea rdx, [rbp + 0x290]
lea r8, [rbp + 0x270]
mov r9d, r11d
movsd xmm1, qword [r8]
mov rax, rdx
mov rcx, r11
nop dword [rax]
movaps xmm0, xmm1
lea rax, [rax + 8]
mulsd xmm0, qword [rax - 8]
movsd qword [rax - 8], xmm0
dec rcx
jne 0x14010ed80
add r8, 8
add rdx, 0x20
dec r9
jne 0x14010ed71
mov r8d, dword [rsp + 0x48]
test r8d, r8d
je 0x14010ee89
test r11d, r11d
jle 0x14010ee6e
lea rdi, [rbp + 0x310]
lea r10, [rbp + 0x290]
lea r8, [rbp + 0x310]
neg rdi
mov rsi, r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x58], rdi
nop
lea r11, [rbp + 0x238]
lea rbx, [rbp + 0x370]
add r11, rdi
add rbx, rdi
xor edi, edi
lea r9d, [rdi + 3]
nop word [rax + rax]
movsd xmm2, qword [r11 + r8]
mov qword [r8], rdi
movaps xmm1, xmm7
mov rax, r10
lea rcx, [rbx + r8]
mov rdx, rsi
nop word [rax + rax]
movsd xmm0, qword [rcx]
add rax, 8
add rcx, 0x18
mulsd xmm0, qword [rax - 8]
mulsd xmm0, xmm2
addsd xmm1, xmm0
dec rdx
jne 0x14010ee20
movsd qword [r8], xmm1
add r8, 8
dec r9
jne 0x14010ee00
mov rdi, qword [rsp + 0x58]
add r10, 0x20
sub rdi, 0x18
dec qword [rsp + 0x40]
mov qword [rsp + 0x58], rdi
jne 0x14010ede0
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi + 0x246bc]
lea r8, [rbp + 0x310]
mov rcx, rsi
call fcn.1400f2c40
mov r8d, dword [rsp + 0x48]
movsd xmm0, qword [rbp + 0x250]
ucomisd xmm0, xmm7
movaps xmm7, xmmword [rsp + 0x690]
jp 0x14010eea5
je 0x140110c15
xor edx, edx
mov dword [rsi + 0x246a8], edx
mov ecx, edx
cmp dword [rsi + 0x24630], edx
jle 0x140110c17
nop dword [rax + rax]
movsxd rax, ecx
movaps xmm0, xmm9
inc ecx
divsd xmm0, qword [rbp + rax*8 + 0x250]
cvtsd2ss xmm0, xmm0
movss dword [rsi + rax*4 + 0x2469c], xmm0
cmp ecx, dword [rsi + 0x24630]
jl 0x14010eec0
jmp 0x140110c17
cmp edi, 0x2bc
jne 0x14010efb0
xor ecx, ecx
cmp dword [rsp + 0x34], 0xe
cmovb ecx, dword [rsp + 0x34]
mov eax, ecx
lea rcx, [0x140000000]
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rsp + 0x38]
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x14010f7ae
cdqe
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1401bee78
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14010f7ae
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov r9, qword [rsi + 0x55ba0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov ebx, eax
call fcn.1401c1e14
mov r9d, dword [rsp + 0x4c]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x49868]
mov edx, 3
call fcn.14005a950
mov rcx, qword [rsp + 0x50]
call fcn.1401be23c
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
mov edx, ebx
call fcn.1401c1f88
mov ebx, 1
jmp 0x14010f7ae
mov ecx, dword [rsp + 0x34]
cmp edi, 0x83bb
jne 0x14010f14f
mov eax, dword [0x1402131b0]
movsd xmm6, qword [str.Photoshop_3.0]
mov ebx, dword [0x14021a118]
mov dword [rbp - 0x64], eax
movzx eax, word [0x1402131b4]
lea rdx, [0x140000000]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1402131b6]
mov byte [rsp + 0x66], al
movzx eax, byte [0x14021a11c]
mov byte [rbp - 0x7c], al
xor eax, eax
cmp ecx, 0xe
cmovb eax, ecx
movsx eax, byte [rax + rdx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rsp + 0x38]
mov dword [rbp - 0x74], eax
test eax, eax
je 0x14010f0e4
add eax, 0x1a
movsxd rcx, eax
mov dword [rbp - 0x80], eax
call fcn.1401bee78
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14010f0e0
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov r8, qword [rsp + 0x58]
movsxd rcx, dword [rbp - 0x74]
movsd qword [r8], xmm6
mov edi, eax
mov eax, dword [rbp - 0x64]
mov dword [r8 + 8], eax
movzx eax, word [rsp + 0x4c]
mov dword [r8 + 0xe], ebx
mov word [r8 + 0xc], ax
mov dword [r8 + 0x14], 0
mov eax, 0x404
mov word [r8 + 0x12], ax
mov byte [r8 + 0x19], cl
mov eax, ecx
sar eax, 8
mov rdx, rcx
lea rcx, [r8 + 0x1a]
mov byte [r8 + 0x18], al
mov r9, qword [rsi + 0x55ba0]
mov r8d, 1
call fcn.1401c1e14
mov r9d, dword [rbp - 0x80]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsi + 0x49868]
mov edx, 2
call fcn.14005a950
mov rcx, qword [rsp + 0x58]
call fcn.1401be23c
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
mov edx, edi
call fcn.1401c1f88
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov ebx, 1
sub edi, 0x829d
je 0x14010faab
sub edi, 0x362
je 0x14010fca9
cmp edi, 3
jne case.0x140110829.61444
xor ebx, ebx
lea edi, [rbx + 4]
nop
mov rcx, rsi
call fcn.1400fbbe0
movzx eax, ax
movaps xmm1, xmm8
xorps xmm2, xmm2
movd xmm0, eax
mov rax, rbx
inc rbx
xor rax, 1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
movss dword [rsi + rax*4 + 0x2469c], xmm2
dec rdi
jne 0x14010f110
jmp 0x14010ec1e
cmp edi, 0x100
ja 0x14010f365
je case.0x140110829.61441
lea eax, [rdi - 2]
cmp eax, 0x2c
ja case.0x140110829.61444
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x110cbc]
mov ecx, dword [rdx + rax*4 + 0x110c84]
add rcx, rdx
jmp rcx
mov rcx, rsi
call fcn.1400fbbe0
mov word [rsi + 0x44f6], ax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
mov word [rsi + 0x44f4], ax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
add word [rsi + 0x44f6], ax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
mov edi, dword [rsp + 0x30]
movzx eax, ax
test eax, eax
je 0x14010ec27
mov dword [rsi + 0x3d0], eax
jmp 0x14010ec27
cmp dword [rsp + 0x34], 3
jne case.0x140110829.61444
cmp dword [rsp + 0x38], 1
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
movzx eax, ax
movd xmm0, eax
lea eax, [rdi*2 - 0x22]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1401f6c70]
cvtpd2ps xmm1, xmm0
movss dword [rsi + rax*4 + 0x2469c], xmm1
jmp case.0x140110829.61444
cmp dword [rsp + 0x34], 3
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x3b0], xmm0
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
movzx edx, ax
lea eax, [rdi - 0x1c]
mov dword [rsi + rax*4 + 0x428], edx
mov eax, dword [rsi + 0x42c]
mov dword [rsi + 0x434], eax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
movzx eax, ax
movd xmm0, eax
lea eax, [rdi - 0x24]
cvtdq2ps xmm0, xmm0
movss dword [rsi + rax*4 + 0x2469c], xmm0
jmp case.0x140110829.61444
cmp dword [rsp + 0x38], 0x32
jb case.0x140110829.61444
lea rbx, [rsi + 0x2469c]
movss xmm0, dword [rbx]
ucomiss xmm0, xmm13
jp 0x14010ec1e
jne 0x14010ec1e
mov rcx, qword [rsi + 0x55ba0]
mov edx, 0xc
lea r8d, [rdx - 0xb]
call fcn.1401c1f88
mov edi, 3
mov rcx, rsi
call fcn.1400fbbe0
lea rbx, [rbx + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx - 4], xmm0
dec rdi
jne 0x14010f2e3
jmp 0x14010ec1e
cmp dword [rsp + 0x34], 7
jne case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c3f28
cmp eax, 0xff
jne case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c3f28
cmp eax, 0xd8
jne case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
sub eax, 2
mov dword [rsi + 0x3e4], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x3f0], eax
jmp case.0x140110829.61444
cmp edi, 0x201
ja 0x14010f766
add edi, 0xfffffeff
cmp edi, 0x8f
ja case.0x140110829.61444
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rdi + rax + 0x110d44]
mov ecx, dword [rdi + rax*4 + 0x110cec]
add rcx, rdi
jmp rcx
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov rdi, qword [rsp + 0x40]
mov ecx, eax
lea rax, [rdi + rdi*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559a4], ecx
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
mov rdi, qword [rsp + 0x40]
movzx ecx, ax
lea rax, [rdi + rdi*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559a8], ecx
jmp case.0x140110829.61444
mov r9, qword [rsi + 0x55ba0]
lea rcx, [rsi + 0x1d]
mov r8, rbx
mov edx, 0x200
call fcn.1401c1e14
jmp case.0x140110829.61444
lea rcx, [rsi + 0x21d]
mov r8, qword [rsi + 0x55ba0]
mov edx, 0x40
call fcn.1401c26d0
jmp case.0x140110829.61444
lea rcx, [rsi + 0x25d]
jmp 0x14010f40d
cmp dword [rsp + 0x34], 4
jne case.0x140110829.61444
lea rax, [0x140108430]
mov dword [rsi + 0x44ec], 0x2008
mov qword [rsi + 0x44720], rax
jmp case.0x140110829.61447
mov rcx, rsi
call fcn.1400fbbe0
and eax, 7
movsx ecx, byte [rax + rdi + 0x222b38]
mov rax, qword [rsp + 0x40]
add rax, 0x1c89
sub ecx, 0x30
lea rax, [rax + rax*2]
add rax, rax
mov dword [rsi + rax*8], ecx
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov ecx, eax
mov rax, qword [rsp + 0x40]
and ecx, 7
lea rax, [rax + rax*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559b4], ecx
jmp case.0x140110829.61444
mov r8, qword [rsi + 0x55ba0]
lea rcx, [rbp + 0x3e0]
mov edx, 0x40
call fcn.1401c26d0
lea rdx, str.Adobe
lea rcx, [rbp + 0x3e0]
mov r8d, 5
call fcn.1401c25f0
test eax, eax
je 0x14010f575
lea rdx, str.dcraw
lea rcx, [rbp + 0x3e0]
mov r8d, 5
call fcn.1401c25f0
test eax, eax
je 0x14010f575
lea rdx, str.UFRaw
lea rcx, [rbp + 0x3e0]
mov r8d, 5
call fcn.1401c25f0
test eax, eax
je 0x14010f575
lea rdx, str.Bibble
lea rcx, [rbp + 0x3e0]
mov r8d, 6
call fcn.1401c25f0
test eax, eax
je 0x14010f575
lea rdx, str.Nikon_Scan
lea rcx, [rbp + 0x3e0]
mov r8d, 0xa
call fcn.1401c25f0
test eax, eax
je 0x14010f575
lea rdx, str.Digital_Photo_Professional
lea rcx, [rbp + 0x3e0]
call fcn.1401c3380
test eax, eax
jne case.0x140110829.61444
mov dword [rsi + 0x4454], 0
jmp case.0x140110829.61444
xor edx, edx
mov rcx, rsi
call fcn.1400fc010
jmp case.0x140110829.61444
mov r9, qword [rsi + 0x55ba0]
lea rcx, [rsi + 0x2dd]
mov r8, rbx
mov edx, 0x40
call fcn.1401c1e14
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov rdi, qword [rsp + 0x40]
mov ecx, eax
lea rax, [rdi + rdi*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559bc], ecx
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov rdi, qword [rsp + 0x40]
mov ecx, eax
lea rax, [rdi + rdi*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559c0], ecx
jmp case.0x140110829.61444
mov ebx, dword [rsp + 0x38]
cmp ebx, 1
jbe 0x14010f616
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
jmp 0x14010f61e
mov rcx, rsi
call fcn.1400fbc20
mov rdi, qword [rsp + 0x40]
mov ecx, eax
lea rax, [rdi + rdi*2]
add rax, rax
mov dword [rsi + rax*8 + 0x559ac], ecx
cmp ebx, 1
jne 0x14010f647
xor ecx, ecx
mov qword [rsi + rax*8 + 0x559bc], rcx
jmp 0x14010ec1e
mov edi, dword [rsp + 0x30]
cmp ebx, 4
mov ebx, 1
jne 0x14010ec27
lea rax, [0x1401170f0]
mov dword [rsi + 0x4454], 5
mov qword [rsi + 0x44720], rax
jmp 0x14010ec27
lea rcx, [rsi + 0x25d]
lea rdx, [0x140222b98]
call fcn.1401c3380
test eax, eax
jne 0x14010f6d3
mov rdi, qword [rsp + 0x40]
lea rax, [rdi + rdi*2]
add rax, rax
cmp dword [rsi + rax*8 + 0x55998], 0xf20
jne 0x14010f6d3
lea rax, [0x140117bd0]
mov rcx, rsi
mov qword [rsi + 0x44720], rax
call fcn.1400fbc20
add eax, dword [rsp + 0x30]
inc rdi
mov dword [rsi + 0x3e0], eax
mov qword [rsp + 0x40], rdi
jmp case.0x140110829.61444
mov ebx, dword [rsp + 0x38]
test ebx, ebx
je 0x14010f73b
nop dword [rax + rax]
mov rcx, qword [rsi + 0x55ba0]
dec ebx
mov dword [rsp + 0x38], ebx
call fcn.1401c2310
mov rcx, rsi
mov edi, eax
call fcn.1400fbc20
mov rcx, qword [rsi + 0x55ba0]
add eax, dword [rsp + 0x30]
xor r8d, r8d
mov edx, eax
call fcn.1401c1f88
mov edx, dword [rsp + 0x30]
mov rcx, rsi
call fcn.14010e8f0
test eax, eax
jne 0x14010ec1e
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + 4]
xor r8d, r8d
call fcn.1401c1f88
test ebx, ebx
jne 0x14010f6e0
dec ebx
mov dword [rsp + 0x38], ebx
jmp 0x14010ec1e
movabs rax, 0x66666f6e726153
mov dword [rsi + 0x4440], 0xfff
mov qword [rsi + 0x21d], rax
jmp case.0x140110829.61444
cmp edi, 0xc612
ja 0x140110307
je 0x1401102be
cmp edi, 0x8603
ja 0x14010fc08
je 0x14010fac9
cmp edi, 0x827d
ja 0x14010f9a9
je 0x140110a65
cmp edi, 0x7221
ja 0x14010f897
je 0x14010f887
sub edi, 0x202
je case.0x140110829.61448
sub edi, 0x6e0e
je 0x14010f7f4
sub edi, 0x1f0
je 0x14010f7e3
dec edi
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov dword [rsp + 0x7c], eax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov dword [rsp + 0x74], eax
jmp case.0x140110829.61444
lea rbx, [rbp + 0x224]
mov edi, 4
mov rcx, rsi
call fcn.1400fbbe0
lea rbx, [rbx + 4]
shr eax, 2
and eax, 0xfff
mov dword [rbx - 4], eax
dec rdi
jne 0x14010f800
xor r11d, r11d
lea r10, [rbp + 0x224]
nop word [rax + rax]
mov r9d, dword [r10 - 4]
mov edx, dword [r10]
inc r9d
cmp r9d, edx
ja 0x14010f875
mov ecx, r11d
movsxd rax, r9d
mov r8d, 1
shl r8w, cl
lea rcx, [rax + 0x22cc]
sub edx, r9d
lea rcx, [rsi + rcx*2]
inc edx
nop
movzx eax, word [rcx - 2]
lea rcx, [rcx + 2]
add ax, r8w
mov word [rcx - 2], ax
dec rdx
jne 0x14010f860
inc r11d
add r10, 4
cmp r11d, 5
jl 0x14010f830
jmp 0x14010ec1e
mov rcx, rsi
call fcn.1400fbc20
mov dword [rbp - 0x78], eax
jmp case.0x140110829.61444
sub edi, 0x7250
je 0x14010f985
sub edi, 0xb3
je 0x14010f947
cmp edi, 0x10
jne case.0x140110829.61444
lea rbx, [rsi + 0x2469c]
mov edi, 4
mov rcx, rsi
call fcn.1400fbbe0
lea rbx, [rbx + 4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx - 4], xmm0
dec rdi
jne 0x14010f8c4
movss xmm0, dword [rsi + 0x246a0]
ucomiss xmm0, xmm10
jp 0x14010f909
jne 0x14010f909
movss xmm0, dword [rsi + 0x246a4]
ucomiss xmm0, xmm10
jp 0x14010f909
jne 0x14010f909
lea eax, [rdi + 1]
jmp 0x14010f90b
xor eax, eax
add eax, eax
movsxd rcx, eax
movss xmm1, dword [rsi + rcx*4 + 0x246a0]
movaps xmm2, xmm1
addss xmm2, dword [rsi + rcx*4 + 0x2469c]
movaps xmm0, xmm2
subss xmm0, xmm1
subss xmm2, xmm0
movss dword [rsi + rcx*4 + 0x246a0], xmm0
movss dword [rsi + rcx*4 + 0x2469c], xmm2
jmp 0x14010ec1e
xor eax, eax
mov ebx, eax
mov edi, eax
nop dword [rax]
mov rcx, rsi
call fcn.1400fbbe0
movzx eax, ax
movd xmm0, eax
xor eax, eax
cmp ebx, 2
setl al
inc ebx
xor rax, rdi
inc rdi
cvtdq2ps xmm0, xmm0
movss dword [rsi + rax*4 + 0x2469c], xmm0
cmp ebx, 4
jl 0x14010f950
jmp 0x14010ec1e
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov rcx, rsi
mov edx, eax
call fcn.14010cf80
xor eax, eax
mov word [rsi + 0x44f2], ax
jmp case.0x140110829.61444
cmp edi, 0x829a
ja 0x14010f0e9
je 0x14010fa76
sub edi, 0x828d
je 0x14010fa3f
dec edi
je 0x14010f9fd
cmp edi, 2
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + rax]
xor r8d, r8d
call fcn.1401c1f88
mov edx, edi
mov rcx, rsi
call fcn.14010b000
jmp 0x14010ec27
cmp dword [rsi + 0x3d0], 9
jne 0x140110a71
lea rbx, [rsi + 0x35d]
mov edi, 0x24
nop word [rax + rax]
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c3f28
lea rbx, [rbx + 1]
and al, 3
mov byte [rbx - 1], al
dec rdi
jne 0x14010fa20
jmp 0x14010ec1e
mov rcx, rsi
call fcn.1400fbbe0
cmp ax, 6
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
mov edi, dword [rsp + 0x30]
cmp ax, 6
jne 0x14010ec27
mov dword [rsi + 0x3d0], 9
jmp 0x14010ec27
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
mov rdi, qword [rsp + 0x40]
xorps xmm1, xmm1
lea rax, [rdi + rdi*2]
cvtsd2ss xmm1, xmm0
add rax, rax
movss dword [rsi + 0x3b4], xmm1
movss dword [rsi + rax*8 + 0x559c4], xmm1
jmp case.0x140110829.61444
mov edx, ecx
mov rcx, rsi
call fcn.1400fc2c0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rsi + 0x3b8], xmm1
jmp case.0x140110829.61444
mov r9, qword [rsi + 0x55ba0]
lea rcx, [rbp + 0x3e0]
mov r8d, 7
mov rdx, rbx
call fcn.1401c1e14
lea rdx, str.MATRIX
lea rcx, [rbp + 0x3e0]
mov r8d, 6
call fcn.1401c25f0
test eax, eax
jne case.0x140110829.61444
xor edx, edx
lea rax, [rsi + 0x246ec]
mov r8d, 4
mov qword [rbp - 0x80], rax
mov dword [rsi + 0x24630], r8d
mov dword [rsi + 0x4448], edx
mov ecx, edx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], 3
nop word [rax + rax]
mov rbx, rdx
mov rdi, r8
add rcx, 0x91bb
mov r8, rbx
lea rdx, [0x1401f63e8]
xor r8, 1
add r8, rcx
mov rcx, qword [rsi + 0x55ba0]
lea r8, [rsi + r8*4]
call fcn.1401c5944
mov rcx, qword [rsp + 0x50]
inc rbx
dec rdi
jne 0x14010fb46
cmp dword [rsi + 0x24670], 0
mov rdx, qword [rbp - 0x80]
mov r8d, 4
je 0x14010fbdd
movaps xmm1, xmm7
mov rax, rdx
mov ecx, r8d
nop word [rax + rax]
movss xmm0, dword [rax]
add rax, r8
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
dec rcx
jne 0x14010fba0
mov rax, rdx
mov rcx, r8
nop dword [rax]
movss xmm0, dword [rax]
lea rax, [rax + 4]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [rax - 4], xmm0
dec rcx
jne 0x14010fbc0
mov rcx, qword [rsp + 0x50]
add rdx, 0x10
add rcx, 4
dec qword [rsp + 0x58]
mov qword [rbp - 0x80], rdx
mov qword [rsp + 0x50], rcx
mov edx, 0
jne 0x14010fb40
jmp 0x14010ec1e
cmp edi, 0x9218
ja 0x14010fdcc
je 0x14010fd57
cmp edi, 0x8825
ja 0x14010fcf4
je 0x14010fcc7
sub edi, 0x8606
je 0x14010fc93
sub edi, 0x163
je 0x14010fc66
cmp edi, 0xa
jne case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov dword [rsi + 0x3ec], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x3f8], eax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + rax]
xor r8d, r8d
call fcn.1401c1f88
mov edx, edi
mov rcx, rsi
call fcn.140109d00
jmp 0x14010ec27
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov rcx, rsi
mov edx, eax
call fcn.14010d1b0
mov eax, dword [str.Leaf]
mov dword [rsi + 0x21d], eax
movzx eax, byte [0x140222bb4]
mov byte [rsi + 0x221], al
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + rax]
xor r8d, r8d
call fcn.1401c1f88
mov edx, edi
mov rcx, rsi
call fcn.14010ac70
jmp 0x14010ec27
sub edi, 0x9102
je 0x14010fd44
sub edi, 0x108
je 0x14010fd24
cmp edi, 7
jne case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov dword [rsi + 0x3c8], eax
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rsi + 0x3bc], xmm1
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov dword [rsi + 0x3cc], eax
jmp case.0x140110829.61444
lea rbx, [rsi + 0x246ec]
mov dword [rsi + 0x4448], 0
mov qword [rsp + 0x50], 3
mov qword [rsp + 0x58], rbx
nop word [rax + rax]
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
mov edi, 3
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
lea rbx, [rbx + 4]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rbx - 4], xmm1
dec rdi
jne 0x14010fd91
mov rbx, qword [rsp + 0x58]
add rbx, 0x10
dec qword [rsp + 0x50]
mov qword [rsp + 0x58], rbx
jne 0x14010fd80
jmp 0x14010ec1e
cmp edi, 0xb4c7
ja 0x14011011c
je 0x14010feb3
sub edi, 0xa010
je 0x14010fe40
sub edi, 0x14b2
je 0x14010fed2
dec edi
jne case.0x140110829.61444
mov eax, dword [str.Imacon]
mov rcx, qword [rsi + 0x55ba0]
mov dword [rsi + 0x21d], eax
movzx eax, word [0x140222bbc]
mov word [rsi + 0x221], ax
movzx eax, byte [0x140222bbe]
mov byte [rsi + 0x223], al
call fcn.1401c2310
mov dword [rsi + 0x3e0], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x70], eax
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
mov dword [rsi + 0x3dc], eax
add rcx, rcx
mov edx, dword [rsi + rcx*8 + 0x559a4]
sub edx, 0x8002
je 0x14010fea0
sub edx, 2
je 0x14010fe8d
mov edi, dword [rsp + 0x30]
dec edx
jne 0x14010ec27
lea rax, [0x140115810]
mov qword [rsi + 0x44720], rax
jmp 0x14010ec27
lea rax, [0x140115650]
mov qword [rsi + 0x44720], rax
jmp case.0x140110829.61444
lea rax, [0x140115d00]
mov qword [rsi + 0x44720], rax
jmp case.0x140110829.61444
cmp dword [rsp + 0x70], 0
je case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
mov r8d, ebx
mov edx, 0x26
call fcn.1401c1f88
mov rcx, qword [rsi + 0x55ba0]
mov r8d, ebx
mov edx, 0x28
call fcn.1401c1f88
mov rcx, rsi
call fcn.1400fbc20
mov rcx, rsi
mov word [rsi + 0x44f2], ax
call fcn.1400fbc20
mov rcx, rsi
mov word [rsi + 0x44f0], ax
call fcn.1400fbc20
mov rcx, rsi
and ax, 7
mov word [rsi + 0x44fa], ax
call fcn.1400fbc20
movzx ecx, word [rsi + 0x44f2]
and ax, 7
sub cx, ax
sub cx, word [rsi + 0x44fa]
mov word [rsi + 0x44f6], cx
mov rcx, rsi
call fcn.1400fbc20
mov rcx, rsi
and ax, 7
mov word [rsi + 0x44f8], ax
call fcn.1400fbc20
movzx ecx, word [rsi + 0x44f0]
and ax, 7
sub cx, ax
mov eax, 0x1c5e
sub cx, word [rsi + 0x44f8]
mov word [rsi + 0x44f4], cx
cmp word [rsi + 0x44f2], ax
jne 0x14010ff96
mov eax, 7
mov dword [rsi + 0x44f4], 0x1c4c1544
mov word [rsi + 0x44fa], ax
mov rcx, qword [rsi + 0x55ba0]
mov r8d, ebx
mov edx, 0x34
call fcn.1401c1f88
lea rbx, [rsi + 0x2469c]
mov edi, 3
nop word [rax + rax]
mov edx, 0xb
mov rcx, rsi
call fcn.1400fc2c0
lea rbx, [rbx + 4]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rbx - 4], xmm1
dec rdi
jne 0x14010ffc0
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + 0x72]
lea r8d, [rdi + 1]
call fcn.1401c1f88
mov rcx, rsi
call fcn.1400fbbe0
movzx ecx, word [rsi + 0x44f6]
movzx r9d, word [rsi + 0x44f4]
movzx eax, ax
shr eax, 7
imul r8d, eax, 0x5a
mov eax, ecx
imul eax, r9d
mov dword [rsi + 0x24628], r8d
lea eax, [rax + rax*2]
add eax, eax
cmp eax, dword [rsp + 0x70]
jne 0x1401100a4
mov eax, 0xb60b60b7
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xb4
sub r8d, eax
cmp r8d, 0x5a
jne 0x140110072
add cx, r9w
mov word [rsi + 0x44f6], cx
sub cx, word [rsi + 0x44f4]
sub word [rsi + 0x44f6], cx
mov word [rsi + 0x44f4], cx
movzx ecx, word [rsi + 0x44f6]
movzx r9d, word [rsi + 0x44f4]
xor ebx, ebx
mov dword [rsi + 0x24628], ebx
mov dword [rsi + 0x3d0], ebx
mov dword [rsi + 0x44f8], ebx
mov word [rsi + 0x44f2], cx
mov word [rsi + 0x44f0], r9w
movzx ecx, cx
movzx eax, r9w
imul ecx, eax
mov eax, 0x431bde83
imul ecx
lea rcx, [rsi + 0x25d]
sar edx, 0x12
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea rdx, str.Ixpress__d_Mp
call fcn.1401bea4c
cmp dword [rsi + 0x3d0], 0
lea rax, [0x140101a10]
mov qword [rsi + 0x44720], rax
je 0x14011010d
test byte [rsi + 0x44fa], 1
je 0x1401100ff
mov dword [rsi + 0x3d0], 0x61616161
lea rax, [0x140118870]
mov qword [rsi + 0x44720], rax
mov dword [rsi + 0x4440], 0xffff
jmp 0x14010ec1e
cmp edi, 0xc516
jb case.0x140110829.61444
cmp edi, 0xc517
jbe 0x14011020e
cmp edi, 0xc51a
je 0x1401101cd
cmp edi, 0xc51b
jne case.0x140110829.61444
mov rcx, qword [rsp + 0x68]
movsx esi, word [rsi]
mov rcx, qword [rcx + 0x55ba0]
call fcn.1401c2310
mov ebx, eax
mov rax, qword [rsp + 0x68]
mov edi, dword [rax + 0x414]
mov rcx, rax
call fcn.1400fbbe0
mov rcx, qword [rsp + 0x68]
mov word [rcx], ax
call fcn.1400fbbe0
mov rcx, qword [rsp + 0x68]
call fcn.1400fbc20
xor r8d, r8d
lea edx, [rbx + rax]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x55ba0]
call fcn.1401c1f88
mov edx, ebx
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14010e8f0
mov word [rbx], si
mov rsi, rbx
mov dword [rbx + 0x4440], 0xffff
mov dword [rbx + 0x414], edi
jmp 0x14010ec1e
cmp byte [rsi + 0x21d], 0
mov edi, dword [rsp + 0x30]
jne 0x14010ec27
movsd xmm0, qword [str.Hasselblad]
movsd qword [rsi + 0x21d], xmm0
movzx eax, word [0x140222bf8]
mov word [rsi + 0x225], ax
movzx eax, byte [0x140222bfa]
mov byte [rsi + 0x227], al
jmp 0x14010ec27
mov edi, dword [rsp + 0x38]
mov ecx, edi
call fcn.1401bee78
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14010ec1e
mov r9, qword [rsi + 0x55ba0]
mov r8d, edi
mov edx, 1
mov rcx, rax
call fcn.1401c1e14
dec rbx
je 0x1401102af
add rdi, qword [rsp + 0x58]
nop dword [rax + rax]
cmp rbx, rdi
jae 0x1401102af
lea rdx, str.Neutral
lea rcx, [rbx + 1]
mov r8d, 8
call fcn.1401c25f0
test eax, eax
jne 0x140110299
lea rax, [rsi + 0x246a4]
lea r9, [rsi + 0x246a0]
lea r8, [rsi + 0x2469c]
lea rcx, [rbx + 9]
lea rdx, str._f__f__f
mov qword [rsp + 0x20], rax
call fcn.1401be96c
lea rcx, [rbx + 1]
mov edx, 0xa
call fcn.1401beaec
mov rbx, rax
test rax, rax
jne 0x140110250
mov rcx, qword [rsp + 0x58]
call fcn.1401be23c
jmp 0x14010ec1e
mov ebx, 4
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c3f28
mov ecx, dword [rsi + 0x4458]
shl ecx, 8
add eax, ecx
mov dword [rsi + 0x4458], eax
dec rbx
jne 0x1401102c3
cmp byte [rsi + 0x21d], bl
jne 0x1401102f7
mov dword [rsi + 0x21d], 0x474e44
mov ebx, 1
mov dword [rsi + 0x4454], ebx
jmp case.0x140110829.61444
cmp edi, 0xc741
ja 0x1401107f7
je 0x1401107e0
add edi, 0xffff39ec
cmp edi, 0x7b
ja case.0x140110829.61444
mov eax, edi
lea rdi, [0x140000000]
movzx eax, byte [rdi + rax + 0x110e24]
mov ecx, dword [rdi + rax*4 + 0x110dd4]
add rcx, rdi
jmp rcx
lea rdi, [rsi + 0x25d]
cmp byte [rdi], 0
jne case.0x140110829.61444
mov r8, qword [rsi + 0x55ba0]
lea rcx, [rsi + 0x21d]
mov edx, 0x40
call fcn.1401c26d0
lea rcx, [rsi + 0x21d]
mov edx, 0x20
call fcn.1401beaec
test rax, rax
je 0x14010ec1e
lea rdx, [rax + 1]
sub rdi, rdx
nop
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rdi + rdx - 1], cl
test cl, cl
jne 0x140110390
mov byte [rax], cl
jmp 0x14010ec1e
cmp dword [rsi + 0x3d0], 9
je case.0x140110829.61444
mov eax, dword [rsp + 0x38]
mov r9, qword [rsi + 0x55ba0]
mov ecx, 4
cmp eax, 4
mov rdx, rbx
cmova eax, ecx
lea rcx, [rsp + 0x3c]
movsxd r8, eax
mov dword [rsp + 0x38], eax
mov dword [rsi + 0x24630], eax
call fcn.1401c1e14
mov r11d, dword [rsp + 0x78]
xor edi, edi
jmp 0x140110b2b
mov rcx, rsi
call fcn.1400fbbe0
mov edi, dword [rsp + 0x30]
cmp ax, 2
jne 0x14010ec27
mov word [rsi + 0x4502], bx
jmp 0x14010ec27
mov edx, dword [rsp + 0x38]
mov rcx, rsi
call fcn.140103fd0
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbbe0
mov rcx, rsi
movzx eax, ax
mov dword [rsi + 0x438], eax
call fcn.1400fbbe0
mov edi, dword [rsp + 0x30]
movzx eax, ax
mov dword [rsi + 0x43c], eax
imul eax, dword [rsi + 0x438]
cmp eax, 0x1000
jbe 0x14010ec27
mov dword [rsi + 0x43c], ebx
mov dword [rsi + 0x438], ebx
jmp 0x14010ec27
movzx eax, word [rsp + 0x38]
movaps xmm6, xmm7
test eax, eax
je 0x140110498
mov edi, dword [rsp + 0x34]
mov ebx, eax
nop dword [rax]
mov edx, edi
mov rcx, rsi
call fcn.1400fc2c0
addsd xmm6, xmm0
dec rbx
jne 0x140110480
mov ebx, 1
mov eax, dword [rsp + 0x38]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [rsi + 0x424]
divsd xmm6, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm6, xmm12
addsd xmm6, xmm0
cvttsd2si rax, xmm6
mov dword [rsi + 0x424], eax
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov dword [rsi + 0x4440], eax
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
mov edx, dword [rsp + 0x34]
mov rcx, rsi
movsd qword [rsi + 0x24638], xmm0
movaps xmm6, xmm0
call fcn.1400fc2c0
divsd xmm6, xmm0
movsd qword [rsi + 0x24638], xmm6
jmp 0x14010ec1e
xor eax, eax
mov dword [rsp + 0x48], eax
cmp dword [rsi + 0x24630], eax
jle 0x140110581
nop dword [rax + rax]
cdqe
lea rbx, [rbp + 0x370]
mov edi, 3
lea rcx, [rax + rax*2]
lea rbx, [rbx + rcx*8]
nop word [rax + rax]
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
lea rbx, [rbx + 8]
movsd qword [rbx - 8], xmm0
dec rdi
jne 0x140110550
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
cmp eax, dword [rsi + 0x24630]
jl 0x140110530
mov ebx, 1
mov dword [rsp + 0x48], ebx
jmp case.0x140110829.61444
xor edi, edi
mov eax, edi
mov dword [rsp + 0x4c], eax
cmp dword [rsi + 0x24630], eax
jle case.0x140110829.61444
nop
cmp dword [rsi + 0x24630], 0
mov ebx, edi
jle 0x1401105dd
movsxd rdi, eax
shl rdi, 2
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
movsxd rax, ebx
inc ebx
add rax, rdi
movsd qword [rbp + rax*8 + 0x290], xmm0
cmp ebx, dword [rsi + 0x24630]
jl 0x1401105b2
mov eax, dword [rsp + 0x4c]
xor edi, edi
inc eax
mov dword [rsp + 0x4c], eax
cmp eax, dword [rsi + 0x24630]
jl 0x1401105a0
jmp 0x14010ec1e
xor ebx, ebx
cmp dword [rsi + 0x24630], ebx
jle 0x14010ec1e
mov edi, dword [rsp + 0x34]
mov edx, edi
mov rcx, rsi
call fcn.1400fc2c0
movsxd rax, ebx
inc ebx
movsd qword [rbp + rax*8 + 0x270], xmm0
cmp ebx, dword [rsi + 0x24630]
jl 0x140110602
jmp 0x14010ec1e
xor ebx, ebx
cmp dword [rsi + 0x24630], ebx
jle 0x14010ec1e
mov edi, dword [rsp + 0x34]
nop dword [rax]
mov edx, edi
mov rcx, rsi
call fcn.1400fc2c0
movsxd rax, ebx
inc ebx
movsd qword [rbp + rax*8 + 0x250], xmm0
cmp ebx, dword [rsi + 0x24630]
jl 0x140110640
jmp 0x14010ec1e
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2c0
mov edx, dword [rsp + 0x34]
mov rcx, rsi
movsd qword [rbp + 0x238], xmm0
movaps xmm6, xmm0
call fcn.1400fc2c0
lea rax, [rbp + 0x238]
lea rcx, [0x1402210e8]
mov edx, 3
movaps xmm1, xmm9
subsd xmm1, xmm6
subsd xmm1, xmm0
movsd qword [rbp + 0x240], xmm0
movsd qword [rbp + 0x248], xmm1
nop word [rax + rax]
movsd xmm1, qword [rax]
movss xmm0, dword [rcx]
lea rax, [rax + 8]
lea rcx, [rcx + 4]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [rax - 8], xmm1
dec rdx
jne 0x1401106c0
jmp 0x14010ec1e
cmp dword [rsi + 0x4458], 0
jne case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov edi, dword [rsp + 0x30]
mov rcx, rsi
lea ebx, [rdi + rax]
mov edx, ebx
call fcn.14010cf80
mov rcx, qword [rsi + 0x55ba0]
xor r8d, r8d
mov edx, ebx
call fcn.1401c1f88
mov edx, edi
mov rcx, rsi
call fcn.14010e8f0
mov ebx, 1
jmp 0x14010ec27
lea rdx, [rsi + 0x24598]
mov r8d, 3
mov rcx, rsi
call fcn.1401144b0
jmp case.0x140110829.61444
mov ebx, dword [rsp + 0x34]
mov rcx, rsi
mov edx, ebx
call fcn.1400fc2a0
mov edx, ebx
mov rcx, rsi
mov word [rsi + 0x44f8], ax
call fcn.1400fc2a0
mov edx, ebx
mov rcx, rsi
mov word [rsi + 0x44fa], ax
call fcn.1400fc2a0
mov edx, ebx
mov rcx, rsi
sub ax, word [rsi + 0x44f8]
mov word [rsi + 0x44f4], ax
call fcn.1400fc2a0
sub ax, word [rsi + 0x44fa]
mov word [rsi + 0x44f6], ax
jmp 0x14010ec1e
mov edi, dword [rsp + 0x38]
xor ebx, ebx
test edi, edi
je 0x1401107d1
cmp ebx, 0x20
jge 0x1401107d1
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
movsxd rcx, ebx
inc ebx
mov dword [rsi + rcx*4 + 0x245a8], eax
cmp ebx, edi
jb 0x1401107b0
mov dword [rsi + 0x424], 0
jmp 0x14010ec1e
mov rcx, qword [rsi + 0x55ba0]
call fcn.1401c2310
mov dword [rsi + 0x3e8], eax
jmp case.0x140110829.61444
cmp edi, 0xf00e
ja 0x140110a35
je 0x1401109eb
add edi, 0xffff1000
cmp edi, 0xa
ja case.0x140110829.61444
lea rdx, [0x140000000]
mov ecx, dword [rdx + rdi*4 + 0x110ea0]
add rcx, rdx
jmp rcx
mov rcx, rsi
call fcn.1400fbc20
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsi + 0x55ba0]
lea edx, [rdi + rax]
xor r8d, r8d
call fcn.1401c1f88
mov edx, edi
mov rcx, rsi
call fcn.14010e8f0
jmp 0x14010ec27
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
add rcx, rcx
mov dword [rsi + rcx*8 + 0x55998], eax
jmp case.0x140110829.61444
mov edx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.1400fc2a0
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
add rcx, rcx
mov dword [rsi + rcx*8 + 0x5599c], eax
jmp case.0x140110829.61444
mov eax, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x34]
and eax, 7
lea rbx, [rdi + rdi*2]
mov rcx, rsi
add rbx, rbx
mov dword [rsi + rbx*8 + 0x559b4], eax
call fcn.1400fc2a0
mov dword [rsi + rbx*8 + 0x559a0], eax
cmp eax, 0x20
jle 0x1401108dd
mov dword [rsi + rbx*8 + 0x559a0], 8
mov eax, dword [rsi + rbx*8 + 0x559a0]
mov edi, dword [rsp + 0x30]
mov ebx, 1
cmp dword [rsi + 0x41c], eax
jae 0x14010ec27
mov dword [rsi + 0x41c], eax
jmp 0x14010ec27
xor eax, eax
mov rcx, rsi
mov word [rsi + 0x44f0], ax
call fcn.1400fbc20
mov ecx, 0x50
test eax, eax
mov eax, 0x18
cmovne ecx, eax
mov dword [rsi + 0x44ec], ecx
jmp case.0x140110829.61444
mov rcx, rsi
call fcn.1400fbc20
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
add rcx, rcx
mov dword [rsi + rcx*8 + 0x559b8], eax
jmp case.0x140110829.61444
mov eax, dword [rsp + 0x38]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
call fcn.1401c1904
comisd xmm11, xmm0
ja 0x14011096b
movaps xmm0, xmm11
cvttsd2si rax, xmm0
mov dword [rsi + 0x43c], eax
mov dword [rsi + 0x438], eax
mov eax, dword [rsi + 0x438]
imul eax, dword [rsi + 0x43c]
test eax, eax
jne 0x140110999
mov dword [rsi + 0x43c], ebx
mov dword [rsi + 0x438], ebx
mov eax, dword [rsi + 0x438]
xor edi, edi
mov ebx, edi
imul eax, dword [rsi + 0x43c]
test eax, eax
je 0x1401109e0
mov edi, dword [rsp + 0x34]
mov edx, edi
mov rcx, rsi
call fcn.1400fc2c0
movsxd rax, ebx
inc ebx
cvttsd2si rcx, xmm0
mov dword [rsi + rax*4 + 0x440], ecx
mov eax, dword [rsi + 0x438]
imul eax, dword [rsi + 0x43c]
cmp ebx, eax
jb 0x1401109b2
xor edi, edi
mov dword [rsi + 0x424], edi
jmp 0x14010ec1e
mov edi, dword [rsp + 0x34]
mov ebx, 4
mov edx, edi
mov rcx, rsi
call fcn.1400fc2a0
mov ecx, ebx
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, 0x55555556
imul ebx
dec ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
movsxd rax, ecx
movss dword [rsi + rax*4 + 0x2469c], xmm0
cmp ebx, 1
jg 0x1401109f4
jmp 0x14010ec1e
sub edi, 0xfd04
je 0x140110bb3
sub edi, 5
je 0x140110a71
sub edi, 0xf7
je 0x14010f9d0
cmp edi, 2
jne case.0x140110829.61444
cmp dword [rsp + 0x34], edi
jne case.0x140110829.61444
lea rcx, [rsi + 0x29d]
jmp 0x14010f40d
mov eax, dword [rsp + 0x38]
mov r9, qword [rsi + 0x55ba0]
mov ecx, 0x10
cmp eax, 0x10
mov rdx, rbx
cmova eax, ecx
lea rcx, [rbp + 0x3d0]
mov r8d, eax
mov dword [rsp + 0x78], eax
call fcn.1401c1e14
mov r11d, dword [rsp + 0x78]
xor edi, edi
mov r9d, edi
mov r10d, edi
mov dword [rsi + 0x24630], edi
test r11d, r11d
je 0x140110b2b
nop word [rax + rax]
mov r8d, dword [rsi + 0x24630]
cmp r8d, 4
jge 0x140110af8
movsxd rax, r9d
mov edx, ebx
movzx ecx, byte [rbp + rax + 0x3d0]
mov eax, edi
shl edx, cl
test r10d, edx
sete al
inc r9d
or r10d, edx
add eax, r8d
mov dword [rsi + 0x24630], eax
cmp r9d, r11d
jb 0x140110ac0
cmp r10d, 0x38
jne 0x140110b17
movzx eax, word [0x140222ba4]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x140222ba6]
mov byte [rsp + 0x3e], al
jmp 0x140110b2b
mov eax, dword [rsp + 0x3c]
cmp r10d, 0x3a
mov ecx, 0x1040305
cmove eax, ecx
mov dword [rsp + 0x3c], eax
mov r8d, dword [rsi + 0x24630]
mov ecx, edi
test r8d, r8d
jle 0x140110b55
lea rdx, [rsp + 0x3c]
nop
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rbp + rax + 0x420], cl
inc ecx
cmp ecx, r8d
jl 0x140110b40
movsxd rax, ecx
mov r8d, 0x10
mov byte [rax + rsi + 0x18], 0
mov r9d, dword [rsi + 0x3d0]
nop word [rax + rax]
xor edx, edx
dec r8d
mov eax, r8d
div r11d
movzx eax, byte [rbp + rdx + 0x3d0]
movzx ecx, byte [rbp + rax + 0x420]
lea eax, [r9*4]
or ecx, eax
mov r9d, ecx
test r8d, r8d
jne 0x140110b70
test ecx, ecx
mov eax, edi
sete al
sub r9d, eax
mov dword [rsi + 0x3d0], r9d
jmp case.0x140110829.61444
cmp dword [rsp + 0x38], 0xd
jb case.0x140110829.61444
mov rcx, qword [rsi + 0x55ba0]
mov r8d, ebx
mov edx, 0x10
call fcn.1401c1f88
mov rcx, rsi
call fcn.1400fbc20
mov rcx, qword [rsi + 0x55ba0]
mov r8d, ebx
mov edx, 0x1c
mov dword [rsi + 0x3e0], eax
call fcn.1401c1f88
mov rcx, rsi
call fcn.1400fbc20
add dword [rsi + 0x3e0], eax
lea rax, [0x1401080a0]
mov qword [rsi + 0x44720], rax
jmp case.0x140110829.61444
xor edx, edx
test r8d, r8d
jne 0x140110c58
cmp dword [rsi + 0x24630], r8d
jle 0x140110c58
movsxd rcx, edx
inc edx
lea rax, [rcx + rcx*4]
movss xmm0, dword [rsi + rcx*4 + 0x246ac]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [rbp + rax*8 + 0x290]
cvtpd2ps xmm0, xmm0
movss dword [rsi + rcx*4 + 0x246ac], xmm0
cmp edx, dword [rsi + 0x24630]
jl 0x140110c25
xor eax, eax
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.1401bd600
lea r11, [rsp + 0x6b0]
mov rbx, qword [r11 + 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret