Function at 0x14012fc30
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xb0]
mov r15d, edx
mov dword [rsp + 0x74], edx
xor edx, edx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov dword [rax], edx
mov rcx, qword [rcx]
mov r12, r9
mov qword [rsp + 0x50], r9
mov rdi, r8
mov qword [rbp], rax
mov dword [rbp - 0x78], edx
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x48], edx
lea ebx, [rdx + 1]
mov r13d, edx
mov dword [rbp - 0x18], edx
mov dword [rsp + 0x3c], edx
mov esi, edx
mov dword [rbp - 0x1c], edx
mov dword [rbp - 0x14], edx
mov dword [rbp - 0x6c], edx
mov dword [rbp - 4], edx
mov dword [rbp - 0x68], edx
mov dword [rsp + 0x68], edx
mov dword [rbp - 0x64], edx
mov dword [rbp - 0x60], edx
mov dword [rsp + 0x58], edx
mov dword [rbp - 0x44], edx
mov dword [rbp - 0x34], edx
mov dword [rbp - 0x7c], edx
mov dword [rbp - 0x3c], edx
mov dword [rbp - 0x74], edx
mov dword [rbp - 0x5c], edx
mov dword [rsp + 0x7c], edx
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x40], edx
mov dword [rbp - 0x80], edx
mov dword [rsp + 0x70], edx
mov dword [rbp - 0xc], edx
mov dword [rsp + 0x44], edx
mov dword [rbp - 0x70], edx
mov dword [rbp - 8], edx
mov dword [rbp - 0x10], edx
mov dword [rbp - 0x50], edx
mov dword [rbp - 0x48], edx
mov dword [rbp - 0x40], edx
mov dword [rbp - 0x38], edx
mov dword [rbp - 0x30], edx
mov dword [rbp - 0x58], edx
mov dword [rsp + 0x78], edx
mov word [rsp + 0x5c], dx
mov dword [rbp - 0x24], edx
mov dword [rbp + 0x10], edx
mov dword [rbp - 0x20], edx
mov dword [rbp - 0x28], edx
mov dword [rbp - 0x2c], edx
mov dword [rbp + 8], edx
call fcn.1401c2310
xor r8d, r8d
mov edx, r15d
mov dword [rdi + 0x74], eax
mov rcx, qword [r14]
call fcn.1401c1f88
mov dword [r12 + 0x6c], esi
mov rcx, qword [r14]
mov r12d, r15d
mov dword [rbp - 0x4c], r15d
call fcn.1401c1a94
lea edx, [rbx + 1]
test eax, eax
jne 0x14012fe1a
nop word [rax + rax]
mov r9, qword [r14]
lea rcx, [rsp + 0x30]
mov r8d, 1
call fcn.1401c1e14
movzx ecx, word [rsp + 0x30]
call qword [rdi + 0x50]
mov ecx, 0x4e20
mov word [rsp + 0x30], ax
cmp ax, cx
ja 0x140130054
test ebx, ebx
jne 0x14012ff27
cmp dword [rsp + 0x48], ebx
jne 0x14012ff27
movzx eax, ax
lea ecx, [rax + rax*2]
shl ecx, 2
movsxd rdx, ecx
mov rcx, r14
call fcn.140066ff0
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + 0xc4]
mov ecx, dword [rdx + 0x6c]
cmp eax, ecx
jne 0x14012fdd1
test eax, eax
cmovg r15d, r12d
mov dword [rsp + 0x74], r15d
lea eax, [rcx + 1]
mov dword [rdx + 0x6c], eax
mov rcx, r14
call qword [rdi + 0x48]
movsxd r12, eax
mov dword [rbp - 0x4c], r12d
cmp r12d, 1
jl 0x14012fe1a
cmp r12, qword [r14 + 0x108]
jg 0x14012fe1a
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r12d
call fcn.1401c1f88
test eax, eax
js 0x14012fe1a
mov rcx, qword [r14]
call fcn.1401c1a94
mov edx, 2
test eax, eax
je 0x14012fd60
mov r12, qword [rsp + 0x50]
mov eax, dword [rsp + 0x48]
xor ecx, ecx
mov dword [rdi + 0x138], eax
mov dword [rdi + 0x134], ecx
test eax, eax
je 0x14012fe55
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x14012fe53
mov eax, dword [r12 + 0xc4]
mov dword [r12 + 0x6c], r13d
cdq
idiv ecx
mov dword [rdi + 0x134], edx
xor ecx, ecx
mov eax, dword [r12 + 0x6c]
cmp dword [r12 + 0xc4], eax
jl 0x14012fe6c
mov dword [r12 + 0xc4], ecx
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r15d
call fcn.1401c1f88
mov r9, qword [r14]
mov ebx, 1
lea edx, [rbx + 1]
lea rcx, [rsp + 0x30]
mov r8d, ebx
call fcn.1401c1e14
movzx ecx, word [rsp + 0x30]
call qword [rdi + 0x50]
mov esi, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x44]
mov dword [rsp + 0x3c], esi
mov word [rsp + 0x30], ax
test ax, ax
je 0x14013014c
mov rbx, qword [rbp]
mov r15d, dword [rsp + 0x34]
mov eax, 1
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r14]
lea rcx, [rbp + 0x28]
mov r8, rax
mov edx, 0xc
call fcn.1401c1e14
test rax, rax
je 0x140130065
mov ecx, dword [rbp + 0x2c]
call qword [rdi + 0x58]
movzx ecx, word [rbp + 0x2a]
mov dword [rbp + 0x2c], eax
call qword [rdi + 0x50]
movzx ecx, ax
mov word [rbp + 0x2a], ax
add ecx, 0xfffffffe
cmp ecx, 7
ja case.0x14012ff25.6
lea r8, [0x140000000]
movsxd rcx, ecx
mov edx, dword [r8 + rcx*4 + 0x1311f8]
add rdx, r8
jmp rdx
movzx ebx, ax
xor r14d, r14d
test ebx, ebx
je 0x140130018
mov r13, qword [rsp + 0x60]
mov r12d, 0xfe
mov r15d, 0x866c
nop word [rax + rax]
mov r9, qword [r13]
mov edx, 0xc
lea rcx, [rbp + 0x28]
lea r8d, [rdx - 0xb]
call fcn.1401c1e14
movzx ecx, word [rbp + 0x28]
call qword [rdi + 0x50]
cmp ax, r15w
jne 0x14012ff86
mov ecx, dword [rbp + 0x30]
mov dword [rsp + 0x48], 1
call qword [rdi + 0x58]
mov r14d, eax
jmp 0x14012ffb4
movzx ecx, word [rbp + 0x28]
call qword [rdi + 0x50]
cmp ax, r12w
jne 0x14012ffb4
movzx ecx, word [rbp + 0x2a]
call qword [rdi + 0x50]
cmp ax, 3
jne 0x14012ffac
movzx ecx, word [rbp + 0x30]
call qword [rdi + 0x50]
movzx esi, ax
jmp 0x14012ffb4
mov ecx, dword [rbp + 0x30]
call qword [rdi + 0x58]
mov esi, eax
dec ebx
jne 0x14012ff50
mov r15d, dword [rsp + 0x74]
mov r12d, dword [rbp - 0x4c]
mov r13d, dword [rbp - 0x18]
test r14d, r14d
je 0x140130018
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.1401c2310
lea edx, [r14 + 8]
mov r14, qword [rsp + 0x60]
mov rcx, qword [r14]
xor r8d, r8d
mov ebx, eax
call fcn.1401c1f88
mov rcx, r14
call qword [rdi + 0x48]
mov rcx, r14
call qword [rdi + 0x48]
mov rcx, r14
call qword [rdi + 0x48]
mov rcx, r14
call qword [rdi + 0x48]
mov rcx, qword [r14]
xor r8d, r8d
mov edx, ebx
mov dword [rsp + 0x3c], eax
call fcn.1401c1f88
jmp 0x14013001d
mov r14, qword [rsp + 0x60]
xor ebx, ebx
cmp dword [rsp + 0x48], ebx
je 0x14012fdb4
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xc4], r13d
cmovge r15d, r12d
mov dword [rsp + 0x74], r15d
test esi, esi
jne 0x14012fdd7
add r13d, dword [rsp + 0x3c]
mov dword [rbp - 0x18], r13d
jmp 0x14012fdd7
mov r12, qword [rsp + 0x50]
cmp dword [r12 + 0x6c], 0
jg 0x14012fe1f
xor al, al
jmp 0x1401311d8
cmp dword [rbp + 0x2c], 2
ja case.0x14012ff25.2
movzx ecx, word [rbp + 0x30]
call qword [rdi + 0x50]
movzx ecx, word [rbp + 0x32]
mov word [rbp + 0x30], ax
call qword [rdi + 0x50]
mov word [rbp + 0x32], ax
jmp case.0x14012ff25.6
cmp ax, 2
jne case.0x14012ff25.4
cmp dword [rbp + 0x2c], 4
ja case.0x14012ff25.5
mov rcx, qword [r14]
call fcn.1401c2310
sub eax, 4
mov dword [rbp + 0x30], eax
jmp case.0x14012ff25.6
cmp ax, 4
jne case.0x14012ff25.5
cmp dword [rbp + 0x2c], 1
jne case.0x14012ff25.5
mov ecx, dword [rbp + 0x30]
call qword [rdi + 0x58]
mov dword [rbp + 0x30], eax
jmp case.0x14012ff25.6
mov ecx, dword [rbp + 0x30]
call qword [rdi + 0x58]
mov dword [rbp + 0x30], eax
mov eax, eax
cmp rax, qword [r14 + 0x108]
jg 0x140130065
mov eax, dword [rbp + 0x2c]
cmp rax, qword [r14 + 0x108]
jge 0x140130065
movzx ecx, word [rbp + 0x28]
call qword [rdi + 0x50]
movzx ecx, ax
cmp ecx, 0x201
jg 0x14013076d
je 0x14013075f
sub ecx, 0x100
cmp ecx, 0x5b
ja case.0x140130120.260
lea rdx, [0x140000000]
movsxd rax, ecx
movzx eax, byte [rdx + rax + 0x1312a4]
mov ecx, dword [rdx + rax*4 + 0x131218]
add rcx, rdx
jmp rcx
cmp word [rbp + 0x2a], 4
jne 0x140130343
mov eax, dword [rbp + 0x30]
mov dword [rdi], eax
mov eax, 1
mov ecx, 0xffff
add word [rsp + 0x30], cx
jne 0x14012fed0
mov ebx, 1
cmp dword [rsp + 0x48], 0
je 0x14013015f
mov word [rdi + 0xa], bx
mov dword [rsp + 0x34], ebx
mov word [rdi + 0xe], bx
movzx r8d, word [rdi + 0x64]
lea rdx, str.PhotometricInterpretation
mov rcx, r12
call fcn.14005a8f0
movsx r8d, word [rdi + 0xe]
lea rdx, str.PlanarConfiguration
mov rcx, r12
call fcn.14005a8f0
movsx r8d, word [rdi + 0xa]
lea rdx, str.SamplesPerPixel
mov rcx, r12
call fcn.14005a8f0
cmp word [rdi + 0x62], 2
jne 0x1401301ad
cmp word [rdi + 0x60], 1
jne 0x1401301ad
mov word [rdi + 0x62], bx
mov ecx, dword [rbp - 0x50]
mov r15, qword [rbp]
test ecx, ecx
je 0x1401301d1
lea rax, [r15 + 0x2c]
mov edx, ecx
mov r9, rdi
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012d500
mov ecx, dword [rbp - 0x10]
test ecx, ecx
je 0x1401301f1
lea rax, [r15 + 0x30]
mov edx, ecx
mov r9, rdi
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012d500
mov eax, dword [rbp - 8]
test eax, eax
je 0x14013024b
cmp dword [rbp - 0x70], 0
je 0x14013024b
mov r8d, dword [r15 + 0x2c]
lea rsi, [rdi + 0x128]
mov r9, rdi
mov edx, eax
mov rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.140129be0
mov r8d, dword [r15 + 0x30]
mov edx, dword [rbp - 0x70]
lea rbx, [rdi + 0x12c]
mov r9, rdi
mov rcx, r14
mov qword [rsp + 0x20], rbx
call fcn.140129be0
mov eax, dword [rsi]
mov esi, dword [rsp + 0x3c]
mov dword [r12 + 0x60], eax
mov eax, dword [rbx]
mov dword [r12 + 0x64], eax
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x130], eax
test dword [r12 + 0xc0], 0x10000
je 0x140130ae9
mov r9d, dword [rbp - 0x1c]
mov r8d, dword [rbp - 0x44]
mov rdx, r12
mov rcx, r14
call fcn.14012e000
test dword [r12 + 0xc0], 0x40000
je 0x140130293
cmp dword [rsp + 0x70], 0
jne 0x140130ae9
mov r9d, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x74]
lea rax, str.Artist
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r9d, dword [rbp - 4]
mov r8d, dword [rbp - 0x3c]
lea rax, str.Copyright
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r9d, dword [rbp - 0x6c]
mov r8d, dword [rbp - 0x7c]
lea rax, str.DateTime
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r9d, dword [rbp - 0x14]
mov r8d, dword [rbp - 0x34]
lea rax, str.HostComputer
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov ebx, dword [rsp + 0x58]
cmp ebx, 4
jne 0x140130a65
mov ecx, dword [rsp + 0x38]
call qword [rdi + 0x58]
lea r8, [rsp + 0x38]
lea rdx, str.Make
mov r9d, ebx
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.14005ac50
jmp 0x140130a84
movzx eax, word [rbp + 0x30]
jmp 0x140130130
cmp word [rbp + 0x2a], 4
jne 0x140130361
mov eax, dword [rbp + 0x30]
mov dword [rdi + 4], eax
mov dword [rdi + 0x70], eax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov dword [rdi + 4], eax
mov dword [rdi + 0x70], eax
jmp case.0x140130120.260
cmp word [rbp + 0x2a], 3
jne 0x140130391
mov eax, dword [rbp + 0x2c]
cmp eax, 2
jbe 0x140130391
mov ecx, dword [rbp + 0x30]
mov dword [rsp + 0x34], eax
mov r15d, eax
mov dword [rbp - 0x78], ecx
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 8], ax
jmp case.0x140130120.260
movzx eax, word [rdi + 0xa]
cmp ax, 1
jne 0x1401303d9
movzx eax, word [rbp + 0x2a]
cmp ax, 4
jne 0x1401303c0
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x84], eax
jmp case.0x140130120.260
cmp ax, 3
jne case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov dword [rdi + 0x84], eax
jmp case.0x140130120.260
cmp ax, 2
mov eax, 1
jle 0x140130137
mov ecx, dword [rbp + 0x30]
movzx r13d, word [rbp + 0x2a]
mov dword [rbp + 8], ecx
jmp 0x140130137
movzx eax, word [rdi + 0xa]
cmp ax, 1
jne 0x140130433
movzx eax, word [rbp + 0x2a]
cmp ax, 4
jne 0x14013041a
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x88], eax
jmp case.0x140130120.260
cmp ax, 3
jne case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov dword [rdi + 0x88], eax
jmp case.0x140130120.260
cmp ax, 2
mov eax, 1
jle 0x140130137
mov ecx, dword [rbp + 0x30]
movzx esi, word [rbp + 0x2a]
mov dword [rbp - 0x2c], ecx
mov dword [rsp + 0x3c], esi
jmp 0x140130137
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x60], ax
sub ax, 2
cmp ax, 2
ja case.0x140130120.260
xor eax, eax
mov word [rdi + 0x64], ax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x68], eax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x62], ax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x64], ax
mov ecx, eax
test eax, eax
je 0x1401304ad
dec ecx
jne case.0x140130120.260
lea r8, str.Black0
jmp 0x1401304b4
lea r8, str.White0
lea rdx, str.Photometric_Interpretation
xor r9d, r9d
mov rcx, r12
call fcn.14005ac50
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x66], ax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x2a]
movzx eax, word [rbp + 0x30]
mov word [rdi + 0xe], ax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x2c]
movzx ecx, word [rbp + 0x2a]
mov dword [rdi + 0x78], eax
cmp eax, 1
mov eax, dword [rbp + 0x30]
jne 0x140130504
cmp cx, 4
je 0x140130504
movzx eax, ax
mov dword [rdi + 0x74], eax
mov word [rdi + 0x80], cx
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0xa], ax
jmp case.0x140130120.260
cmp dword [rbp + 0x2c], 1
movzx eax, word [rbp + 0x2a]
mov word [rdi + 0x82], ax
jne 0x140130545
cmp ax, 4
mov eax, dword [rbp + 0x30]
je 0x14013053d
movzx eax, ax
mov dword [rdi + 0x7c], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x7c], eax
jmp case.0x140130120.260
cmp word [rbp + 0x2a], 4
mov eax, dword [rbp + 0x30]
je 0x14013055d
movzx eax, ax
mov dword [rdi + 0x70], eax
test eax, eax
je 0x14013056d
cmp eax, dword [rdi + 4]
jbe case.0x140130120.260
movzx eax, word [rdi + 4]
mov dword [rdi + 0x70], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x30], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x34], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x50], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x10], eax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x6c], ax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
add eax, 0xfffffffe
cmp eax, 6
ja case.default.0x1401305ca
cdqe
mov ecx, dword [rdx + rax*4 + 0x131300]
add rcx, rdx
jmp rcx
mov eax, 1
mov word [rbx + 4], ax
jmp 0x140130137
mov eax, 0x11
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, 0x10
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, 0x81
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, 0x91
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, 0x80
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, 0x90
mov word [rbx + 4], ax
jmp case.0x140130120.260
xor eax, eax
mov word [rbx + 4], ax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x2c]
mov dword [rdi + 0x20], eax
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x1c], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x2c]
mov dword [rdi + 0xa4], eax
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0xa8], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x5c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rsp + 0x68], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x74], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x68], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x6c], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x34], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x14], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x44], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x1c], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov ecx, dword [rbp + 0x2c]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x58], ecx
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x6c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x60], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x7c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x64], eax
jmp case.0x140130120.260
mov ecx, dword [rbp + 0x30]
mov dword [rbp - 8], ecx
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x70], eax
jmp case.0x140130120.260
cmp word [rbp + 0x2a], 3
jne case.0x140130120.260
movzx eax, word [rbp + 0x2c]
mov word [rdi + 0xc], ax
mov eax, dword [rbp + 0x2c]
cmp eax, 2
jne 0x14013073e
cmp r15d, 4
jl 0x140130753
xor eax, eax
cmp word [rbp + 0x30], 1
sete al
add eax, 3
mov dword [rsp + 0x34], eax
mov r15d, eax
jmp case.0x140130120.260
cmp eax, 1
jne 0x140130753
cmp r15d, 4
jne 0x140130753
mov dword [rsp + 0x34], r15d
jmp case.0x140130120.260
mov ecx, dword [rbp + 0x30]
mov dword [rsp + 0x44], ecx
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0xb8], eax
jmp case.0x140130120.260
cmp ecx, 0x85d8
jg 0x1401308d6
je 0x140130881
cmp ecx, 0x830e
jg 0x14013085f
je 0x140130881
sub ecx, 0x211
je 0x140130851
dec ecx
je 0x140130834
sub ecx, 0xaa
je 0x1401307e3
sub ecx, 0x7de8
je 0x1401307d2
cmp ecx, 0x1f4
jne case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 4], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x20], eax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x2a]
mov ecx, dword [rbp + 0x30]
cmp ax, 7
je 0x140130800
call qword [rdi + 0x58]
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x30], eax
movzx eax, word [rbp + 0x2a]
jmp 0x140130804
mov dword [rsp + 0x78], ecx
cmp ax, 0xe
jae 0x14013080f
movzx ecx, ax
jmp 0x140130813
xor eax, eax
mov ecx, eax
movsxd rax, ecx
lea rcx, [0x140000000]
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rbp + 0x2c]
mov dword [rbp - 0x58], eax
jmp case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0x90], ax
mov eax, dword [rbp + 0x30]
shr eax, 0x10
mov word [rdi + 0x92], ax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rdi + 0x94], eax
jmp case.0x140130120.260
sub ecx, 0x835c
je 0x1401309c1
sub ecx, 0x5f
je 0x140130892
sub ecx, 0xc5
je 0x140130881
cmp ecx, 2
jne case.0x140130120.260
mov eax, 1
mov word [rdi + 0x8e], ax
jmp 0x140130137
movzx eax, word [rbp + 0x2a]
mov edx, dword [rbp + 0x30]
mov dword [rbp - 0x80], edx
cmp ax, 0xe
jae 0x1401308a7
movzx ecx, ax
jmp 0x1401308ab
xor eax, eax
mov ecx, eax
movsxd rax, ecx
lea rcx, [0x140000000]
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rbp + 0x2c]
mov dword [rsp + 0x40], eax
mov eax, 0x83bb
mov dword [rsp + 0x5c], eax
jmp case.0x140130120.260
cmp ecx, 0x8773
jg 0x1401309e3
je 0x1401309d2
cmp ecx, 0x8639
jl case.0x140130120.260
cmp ecx, 0x863a
jle 0x1401309c1
mov edx, 0x8649
cmp ecx, edx
je 0x14013096a
mov eax, 0x866c
cmp ecx, eax
je 0x140130959
cmp ecx, 0x8769
jne case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0xc], eax
movzx eax, word [rbp + 0x2a]
cmp ax, 0xe
jae 0x140130933
movzx ecx, ax
jmp 0x140130937
xor eax, eax
mov ecx, eax
movsxd rax, ecx
lea rcx, [0x140000000]
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rbp + 0x2c]
mov dword [rsp + 0x70], eax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x38], eax
jmp case.0x140130120.260
mov eax, 0x83bb
cmp word [rsp + 0x5c], ax
jne 0x140130981
cmp dword [rsp + 0x40], 0x10
jg case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x80], eax
movzx eax, word [rbp + 0x2a]
cmp ax, 0xe
jae 0x140130996
movzx ecx, ax
jmp 0x14013099a
xor eax, eax
mov ecx, eax
movsxd rax, ecx
lea rcx, [0x140000000]
mov word [rsp + 0x5c], dx
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rbp + 0x2c]
mov dword [rsp + 0x40], eax
jmp case.0x140130120.260
mov eax, 1
mov word [rdi + 0x8c], ax
jmp 0x140130137
mov eax, dword [rbp + 0x30]
mov dword [rbp - 0x40], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x48], eax
jmp case.0x140130120.260
cmp ecx, 0x87af
jl case.0x140130120.260
cmp ecx, 0x87b1
jle 0x140130881
cmp ecx, 0x8825
je 0x140130a2b
cmp ecx, 0x935c
je case.0x140130120.260
cmp ecx, 0x10002
jne case.0x140130120.260
movzx eax, word [rbp + 0x30]
mov word [rdi + 0xbc], ax
jmp case.0x140130120.260
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x10], eax
movzx eax, word [rbp + 0x2a]
cmp ax, 0xe
jae 0x140130a40
movzx ecx, ax
jmp 0x140130a44
xor eax, eax
mov ecx, eax
movsxd rax, ecx
lea rcx, [0x140000000]
movsx eax, byte [rax + rcx + 0x1f6fe0]
sub eax, 0x30
imul eax, dword [rbp + 0x2c]
mov dword [rbp - 0x24], eax
jmp case.0x140130120.260
mov r8d, dword [rsp + 0x38]
lea rax, str.Make
mov r9d, ebx
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rsp + 0x6c]
lea rax, str.Model
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r9d, dword [rbp - 0x64]
mov r8d, dword [rsp + 0x7c]
lea rax, str.Software
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
mov r15d, dword [rsp + 0x68]
mov r8d, dword [rbp - 0x5c]
lea rax, str.DocumentName
mov r9d, r15d
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14012e050
jmp 0x140130af2
mov r15d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x58]
mov eax, dword [rbp + 8]
test eax, eax
je 0x140130b29
mov rcx, qword [r14]
xor r8d, r8d
mov edx, eax
call fcn.1401c1f88
cmp r13d, 4
jne 0x140130b14
mov rcx, r14
call qword [rdi + 0x48]
jmp 0x140130b23
cmp r13d, 3
jne 0x140130b29
mov rcx, r14
call qword [rdi + 0x40]
movzx eax, ax
mov dword [rdi + 0x84], eax
mov eax, dword [rbp - 0x2c]
test eax, eax
je 0x140130b5e
mov rcx, qword [r14]
xor r8d, r8d
mov edx, eax
call fcn.1401c1f88
cmp esi, 4
jne 0x140130b4a
mov rcx, r14
call qword [rdi + 0x48]
jmp 0x140130b58
cmp esi, 3
jne 0x140130b5e
mov rcx, r14
call qword [rdi + 0x40]
movzx eax, ax
mov dword [rdi + 0x88], eax
mov eax, dword [rbp - 0x78]
test eax, eax
je 0x140130b7c
mov rcx, qword [r14]
xor r8d, r8d
mov edx, eax
call fcn.1401c1f88
mov rcx, r14
call qword [rdi + 0x40]
mov word [rdi + 8], ax
test dword [r12 + 0xc0], 0x40000
je 0x140130f64
xor eax, eax
lea rsi, [fcn.140065fc0]
mov rcx, r12
cmp qword [rdi + 0x50], rsi
mov edx, eax
setne dl
call fcn.14005aac0
mov r8d, dword [rbp - 0x5c]
mov eax, 0x10d
mov r9d, r15d
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
cmp ebx, 4
jne 0x140130c10
mov rcx, r12
call fcn.14005ab00
mov r13d, 1
mov rbx, rax
lea r15d, [r13 + 1]
test rax, rax
je 0x140130c37
lea ecx, [r13 + 3]
mov dword [rax], 0x2010f
mov dword [rax + 4], r13d
mov dword [rax + 0x10], 4
mov dword [rax + 8], 4
call fcn.1401bee78
mov qword [rbx + 0x18], rax
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
jmp 0x140130c37
mov r8d, dword [rsp + 0x38]
mov eax, 0x10f
mov r9d, ebx
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
mov r13d, 1
lea r15d, [r13 + 1]
mov r9d, dword [rbp - 0x60]
mov r8d, dword [rsp + 0x6c]
mov eax, pe_nt_image_headers64
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
mov r9d, dword [rbp - 0x64]
mov r8d, dword [rsp + 0x7c]
mov eax, 0x131
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
mov r9d, dword [rbp - 0x6c]
mov r8d, dword [rbp - 0x7c]
mov eax, 0x132
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
mov r9d, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x74]
mov eax, 0x13b
mov rdx, r12
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.14012d420
mov ebx, dword [rsp + 0x70]
test ebx, ebx
je 0x140130cd9
mov edx, dword [rbp - 0xc]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
mov r9d, ebx
mov r8, rdi
mov edx, r15d
mov rcx, r14
mov qword [rsp + 0x20], r12
call fcn.14012d4f0
cmp dword [rbp - 0x24], 0
je 0x140130d1a
xor eax, eax
cmp qword [rdi + 0x50], rsi
mov rcx, r12
mov edx, eax
setne dl
call fcn.14005aac0
mov edx, dword [rbp + 0x10]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
mov eax, 0x10
mov r9d, ebx
mov r8, rdi
mov rcx, r14
mov edx, eax
mov qword [rsp + 0x20], r12
call fcn.14012d4f0
movsxd r15, dword [rbp - 0x58]
test r15d, r15d
je 0x140130d80
mov edx, dword [rsp + 0x78]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
test eax, eax
jne 0x140130d80
test dword [r12 + 0xc0], 0x40000
je 0x140130d80
mov rcx, r15
call fcn.1401bee78
mov r9, qword [r14]
mov r8, r13
mov rcx, rax
mov rdx, r15
mov rsi, rax
call fcn.1401c1e14
test rax, rax
je 0x140130d78
mov r9d, r15d
mov r8, rsi
mov edx, 3
mov rcx, r12
call fcn.14005a950
mov rcx, rsi
call fcn.1401be23c
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x140130e94
movzx eax, byte [0x1402131b6]
movsd xmm0, qword [str.Photoshop_3.0]
mov r15d, dword [0x1402131b0]
movzx r12d, word [0x1402131b4]
mov ebx, dword [0x14021a118]
lea r14d, [rcx + 0x1a]
movsd qword [rbp + 0x10], xmm0
mov byte [rbp + 0x26], al
movzx eax, byte [0x14021a11c]
movsxd rcx, r14d
mov byte [rbp - 0x54], al
call fcn.1401bee78
mov rsi, rax
test rax, rax
je 0x140130e8a
mov r13, qword [rsp + 0x60]
mov edx, dword [rbp - 0x80]
xor r8d, r8d
mov rcx, qword [r13]
call fcn.1401c1f88
mov eax, 0x83bb
mov r8d, 1
movsd xmm0, qword [rbp + 0x10]
movsd qword [rsi], xmm0
mov dword [rsi + 8], r15d
mov word [rsi + 0xc], r12w
cmp word [rsp + 0x5c], ax
jne 0x140130e4b
movsxd rcx, dword [rsp + 0x40]
mov dword [rsi + 0xe], ebx
mov eax, 0x404
mov word [rsi + 0x12], ax
xor eax, eax
mov rdx, rcx
mov dword [rsi + 0x14], eax
mov eax, ecx
mov byte [rsi + 0x19], cl
sar eax, 8
lea rcx, [rsi + 0x1a]
mov byte [rsi + 0x18], al
mov r9, qword [r13]
call fcn.1401c1e14
mov ebx, r14d
mov r14, r13
jmp 0x140130e66
movsxd rbx, dword [rsp + 0x40]
mov r9, qword [r13]
lea rcx, [rsi + 0xe]
mov rdx, rbx
mov r14, r13
call fcn.1401c1e14
add ebx, 0xe
mov r12, qword [rsp + 0x50]
mov eax, 2
mov r9d, ebx
mov rcx, r12
mov r8, rsi
mov edx, eax
call fcn.14005a950
mov rcx, rsi
call fcn.1401be23c
jmp 0x140130e94
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x50]
movsxd r15, dword [rbp - 0x48]
test r15d, r15d
jle 0x140130ee7
mov rcx, r15
call fcn.1401bee78
mov edx, dword [rbp - 0x40]
mov rcx, qword [r14]
xor r8d, r8d
mov rsi, rax
call fcn.1401c1f88
mov r9, qword [r14]
mov eax, 1
mov r8d, eax
mov rdx, r15
mov rcx, rsi
call fcn.1401c1e14
mov r9d, r15d
mov r8, rsi
mov edx, 4
mov rcx, r12
call fcn.14005a950
mov rcx, rsi
call fcn.1401be23c
mov ebx, dword [rbp - 0x38]
test ebx, ebx
je 0x140130f0d
mov edx, dword [rbp - 0x30]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401c1f88
mov r9d, ebx
mov r8, rdi
mov rdx, r12
mov rcx, r14
call fcn.14012e0a0
mov r15d, dword [rbp - 0x28]
test r15d, r15d
je 0x140130f64
movsxd r13, dword [rbp - 0x20]
mov rcx, r13
call fcn.1401bee78
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r15d
mov rsi, rax
call fcn.1401c1f88
mov r9, qword [r14]
mov eax, 1
mov r8d, eax
mov rdx, r13
mov rcx, rsi
call fcn.1401c1e14
mov r9d, r13d
mov r8, rsi
mov edx, 0xa
mov rcx, r12
call fcn.14005a950
mov rcx, rsi
call fcn.1401be23c
movzx eax, word [rdi + 8]
mov rsi, qword [rbp]
mov r12d, 8
cmp ax, r12w
jg 0x140130f7e
mov word [rsi + 0x22], ax
jmp 0x140130f83
mov word [rsi + 0x22], r12w
mov r15d, dword [rsp + 0x34]
cmp r15d, 4
jne 0x140130f9d
cmp word [rdi + 0xa], 3
jne 0x14013100e
mov r15d, 3
jmp 0x140130fa3
cmp r15d, 3
jne 0x140130fb9
cmp word [rdi + 0xa], 4
jl 0x14013100e
cmp word [rdi + 0x64], 5
jne 0x14013100e
mov r15d, 4
jmp 0x14013100e
cmp r15d, 4
jle 0x140131008
cmp word [rdi + 0x64], 2
jne 0x140130fb1
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x140130fb1
mov rcx, qword [r14]
xor r8d, r8d
mov edx, eax
mov r15d, 3
call fcn.1401c1f88
xor eax, eax
mov ebx, eax
cmp ax, word [rdi + 0xc]
jge 0x14013100e
nop dword [rax + rax]
mov rcx, r14
call qword [rdi + 0x40]
cmp ax, 1
je 0x140130fb1
movsx eax, word [rdi + 0xc]
inc ebx
cmp ebx, eax
jl 0x140130ff0
jmp 0x14013100e
cmp r15d, 3
jl 0x14013101e
cmp word [rdi + 0x64], 1
jne 0x14013101e
mov eax, 2
mov word [rdi + 0x64], ax
movzx ecx, word [rdi + 0x64]
cmp cx, r12w
ja 0x140131035
movzx eax, cx
mov edx, 0x164
bt edx, eax
jb 0x140131083
mov eax, 0x7fb4
add eax, ecx
cmp ax, 1
jbe 0x140131083
cmp word [rdi + 0xe], 2
jne 0x140131057
mov edx, 1
mov word [rsi + 0x20], dx
jmp 0x14013111e
cmp r15d, 1
jle 0x140131071
cmp cx, 1
jne 0x140131071
mov edx, 1
mov word [rsi + 0x20], dx
jmp 0x14013111e
movzx eax, word [rdi + 0xa]
mov edx, 1
mov word [rsi + 0x20], ax
jmp 0x14013111e
mov ecx, dword [rbp - 0x78]
test ecx, ecx
jne 0x1401310b7
cmp word [rdi + 0xa], 4
jne 0x1401310a8
movzx eax, word [rsi + 0x22]
mov edx, 1
shl ax, 2
mov word [rsi + 0x20], dx
mov word [rsi + 0x22], ax
jmp 0x14013110a
movzx ecx, word [rsi + 0x22]
movzx eax, cx
add ax, ax
add cx, ax
jmp 0x1401310eb
cmp word [rdi + 0xe], 1
jne 0x1401310fa
movzx ecx, word [rsi + 0x22]
cmp cx, r12w
jge 0x1401310e6
lea eax, [r15 - 2]
cmp eax, 1
ja 0x1401310e6
shl r15w, 3
mov edx, 1
mov word [rsi + 0x22], r15w
mov word [rsi + 0x20], dx
jmp 0x14013110a
imul cx, r15w
mov edx, 1
mov word [rsi + 0x22], cx
mov word [rsi + 0x20], dx
jmp 0x14013110a
mov word [rsi + 0x20], r15w
mov dword [rsi], 4
mov edx, 1
cmp word [rdi + 0xa], 4
jne 0x14013111e
cmp word [rdi + 8], 4
jne 0x14013111e
mov dword [rsi], 0x400
movzx eax, word [rsi + 0x22]
cmp ax, 1
jne 0x14013112c
mov word [rsi + 0x20], dx
movsx ecx, ax
movsx eax, word [rsi + 0x20]
imul ecx, eax
mov dword [rdi + 0x10], ecx
test ecx, ecx
jle 0x140130065
movzx eax, word [rdi + 8]
mov ecx, 0xfff7
sub ax, r12w
test cx, ax
jne 0x140131165
cmp word [rdi + 0xa], 2
jne 0x140131165
xor eax, eax
mov dword [rsi + 0x20], 0x80001
mov dword [rsi], eax
mov ecx, dword [rdi + 0x30]
test ecx, ecx
jle 0x14013117a
cmp dword [rdi + 0x34], 0
jle 0x14013117a
or dword [rsi], 0x1000000
jmp 0x14013117c
mov ecx, dword [rdi]
mov r8d, dword [rdi + 0x10]
cmp r8d, r12d
jg 0x1401311ba
cmp word [rsi + 0x20], 1
je 0x140131199
lea eax, [rcx + 0xf]
shr eax, 3
and eax, 0x1ffffffe
jmp 0x1401311d3
cmp r8d, r12d
jg 0x1401311ba
mov eax, r12d
cdq
idiv r8d
mov r8d, eax
dec eax
add eax, ecx
lea ecx, [r8 - 1]
not ecx
and eax, ecx
cdq
idiv r8d
jmp 0x1401311d3
cmp word [rdi + 0xe], 2
jne 0x1401311c6
mov dword [rsi + 0x28], ecx
jmp 0x1401311d6
movsx eax, word [rsi + 0x22]
add eax, 7
sar eax, 3
imul eax, ecx
mov dword [rsi + 0x28], eax
mov al, 1
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret