Function at 0x45e940
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x52c610
mov eax, dword fs:[0]
push eax
mov eax, 0x10d4
call fcn.005124e0
mov eax, dword [0x59c6b8]
xor eax, esp
mov dword [esp + 0x10d0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x59c6b8]
xor eax, esp
push eax
lea eax, [esp + 0x10e8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x10f8]
mov edx, dword [esp + 0x1108]
mov edi, dword [esp + 0x111c]
mov esi, ecx
mov ecx, dword [esp + 0x10fc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x110c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1110]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x1114]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1118]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x59da88]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], edi
call fcn.004375a0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], 0
test edi, edi
je 0x45eda4
mov ebp, 2
xor ebx, ebx
cmp dword [esi + 0x6c], ebp
je 0x45ea14
cmp dword [esi + 0x198], ebx
jne 0x45ea14
cmp dword [esi + 0x8c], ebx
je 0x45ea36
mov ecx, dword [0x59da88]
call fcn.00437600
test eax, eax
je 0x45ea36
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
xor ebp, ebp
jmp 0x45eaca
mov edx, dword [edi]
mov eax, dword [edx + 0x30]
push 0x54bb28
push 3
mov ecx, edi
call eax
mov dword [esp + 0x1c], eax
cmp eax, ebx
jne 0x45ea95
mov ecx, dword [0x59da88]
call fcn.004375d0
test eax, eax
mov eax, 1
je 0x45ea6c
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebx
jmp 0x45ea74
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
cmp dword [esi + 0x6c], ebp
je 0x45ea8d
cmp dword [esi + 0x198], ebx
jne 0x45ea8d
mov dword [esp + 0x18], eax
cmp dword [esi + 0x8c], ebx
je 0x45ea91
mov dword [esp + 0x18], ebx
xor ebp, ebp
jmp 0x45eace
mov edx, dword [edi]
mov eax, dword [edx + 0x34]
mov ebp, 1
push ebp
mov ecx, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call eax
test eax, eax
je 0x45eaca
cmp dword [esi + 0x6c], 2
je 0x45eaca
cmp dword [esi + 0x198], ebx
jne 0x45eaca
mov dword [esp + 0x18], ebp
cmp dword [esi + 0x8c], ebx
je 0x45eace
mov dword [esp + 0x18], ebx
push 8
call fcn.00511699
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x10f0], ebx
cmp eax, ebx
je 0x45eaf2
mov ecx, eax
call fcn.004a1c60
mov ebx, eax
jmp 0x45eaf4
xor ebx, ebx
cmp dword [esp + 0x18], 0
mov dword [esp + 0x10f0], 0xffffffff
mov dword [esp + 0x40], ebx
je 0x45eb2a
cmp dword [esp + 0x2c], 0
mov eax, 0x54c100
jne 0x45eb1b
mov eax, 0x54c0fc
push eax
push str.___ASCII0:sDecode_filter_n
push ebx
call fcn.004a2fb0
add esp, 0xc
cmp dword [esp + 0x24], 0
je 0x45eb38
push str.___LZWDecode_filter_n
jmp 0x45eb44
cmp dword [esp + 0x20], 0
je 0x45eb4b
push str.___RunLengthDecode_filter_n
mov ecx, ebx
call fcn.004a1e60
test ebp, ebp
je 0x45eb5b
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, ebx
call fcn.004a1e10
cmp dword [esp + 0x1c], 0
je 0x45eb78
mov ecx, dword [esp + 0x1c]
call fcn.004a1da0
mov edx, dword [esp + 0x1c]
push edx
call fcn.0051163f
add esp, 4
cmp dword [esi + 0x6c], 2
je 0x45ed8a
cmp dword [esi + 0x198], 0
jne 0x45ed8a
cmp dword [esi + 0x8c], 0
jne 0x45ed8a
push str.currentfile_n
mov ecx, esi
call fcn.00451b50
mov eax, dword [ebx + 4]
push eax
mov ecx, esi
call fcn.00451b50
push str.pdfMask_n
mov ecx, esi
call fcn.00451b50
test ebp, ebp
je 0x45ebd2
mov eax, dword [edi]
mov edx, dword [eax + 0x3c]
mov ecx, edi
call edx
mov edi, eax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x24], 0
je 0x45ec27
push 0xd024
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10f0], 1
test eax, eax
je 0x45ec13
push edi
mov ecx, eax
call fcn.0046d3c0
or ebx, 0xffffffff
mov edi, eax
mov dword [esp + 0x10f0], ebx
mov dword [esp + 0x30], edi
jmp 0x45ec6b
xor eax, eax
or ebx, 0xffffffff
mov edi, eax
mov dword [esp + 0x10f0], ebx
mov dword [esp + 0x30], edi
jmp 0x45ec6b
cmp dword [esp + 0x20], 0
je 0x45ec68
push 0xa0
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10f0], 2
test eax, eax
je 0x45ec13
push edi
mov ecx, eax
call fcn.0046d170
or ebx, 0xffffffff
mov edi, eax
mov dword [esp + 0x10f0], ebx
mov dword [esp + 0x30], edi
jmp 0x45ec6b
or ebx, 0xffffffff
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x45ecd7
cmp dword [esp + 0x2c], 0
je 0x45eca1
push 0x20
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10f0], 3
test eax, eax
je 0x45ecc8
push edi
mov ecx, eax
call fcn.0046cd10
jmp 0x45ecca
push 0x24
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10f0], 4
test eax, eax
je 0x45ecc8
push edi
mov ecx, eax
call fcn.0046ce00
jmp 0x45ecca
xor eax, eax
mov edi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x10f0], ebx
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
push 0x1000
lea ecx, [esp + 0xe8]
push ecx
mov ecx, edi
call edx
test eax, eax
jle 0x45ed4e
lea ebx, [ebx]
mov ecx, dword [esi + 0x19c]
push eax
test ecx, ecx
je 0x45ed1a
lea eax, [esp + 0xe8]
push eax
call fcn.004a1ec0
jmp 0x45ed34
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
lea ecx, [esp + 0xe8]
push ecx
push edx
call eax
add esp, 0xc
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 0x1000
lea eax, [esp + 0xe8]
push eax
mov ecx, edi
call edx
test eax, eax
jg 0x45ed00
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
mov ecx, edi
call edx
push 0xa
mov ecx, esi
call fcn.00451b10
push str.__EOD__n
mov ecx, esi
call fcn.00451b50
cmp dword [esp + 0x24], 0
jne 0x45ed7e
cmp dword [esp + 0x20], 0
jne 0x45ed7e
test ebp, ebp
je 0x45eda4
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
jmp 0x45eda4
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
push eax
push ecx
push str.MaskData_0:d_1:d_pdfMaskInit_n
push esi
call fcn.00451ba0
add esp, 0x10
mov eax, dword [esp + 0x28]
test eax, eax
je 0x45edeb
mov eax, dword [eax]
push 0
push 1
push 0
push eax
mov ecx, esi
call fcn.0045bf10
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45edd2
push str._setcolorspace_n
call fcn.004a1e60
jmp 0x45edeb
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0xf
push str._setcolorspace_n
push eax
call ecx
add esp, 0xc
cmp dword [esi + 0x6c], 2
je 0x45ee07
cmp dword [esi + 0x198], 0
jne 0x45ee07
cmp dword [esi + 0x8c], 0
je 0x45f1ea
or ebx, 0xffffffff
cmp dword [esp + 0x1104], 0
je 0x45f1d0
push 0x14
call fcn.00511699
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x10f0], 5
test eax, eax
je 0x45ee4a
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push edx
push ecx
mov ecx, eax
call fcn.0046cc60
mov edi, eax
jmp 0x45ee4c
xor edi, edi
mov ecx, dword [0x59da88]
mov dword [esp + 0x10f0], ebx
call fcn.004375d0
test eax, eax
je 0x45ee8c
push 0xd024
call fcn.00511699
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x10f0], 6
test eax, eax
je 0x45eeb6
push edi
mov ecx, eax
call fcn.0046d3c0
jmp 0x45eeb8
push 0xa0
call fcn.00511699
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x10f0], 7
test eax, eax
je 0x45eeb6
push edi
mov ecx, eax
call fcn.0046d170
jmp 0x45eeb8
xor eax, eax
mov ebp, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x10f0], ebx
test ebp, ebp
je 0x45ef00
push 0x20
call fcn.00511699
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x10f0], 8
test eax, eax
je 0x45eef6
push edi
mov ecx, eax
call fcn.0046cd10
mov ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x45ef2f
xor eax, eax
mov ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x45ef2f
push 0x24
call fcn.00511699
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x10f0], 9
test eax, eax
je 0x45ef27
push edi
mov ecx, eax
call fcn.0046ce00
jmp 0x45ef29
xor eax, eax
mov ecx, eax
mov dword [esp + 0x1c], eax
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov dword [esp + 0x10f0], ebx
call eax
mov dword [esp + 0x18], 0
mov edx, 0x54ad84
test ebp, ebp
jne 0x45ef53
mov edx, 0x54c198
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45ef65
push edx
call fcn.004a1e60
jmp 0x45ef90
mov eax, edx
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45ef70
mov ecx, dword [esi + 0x94]
sub eax, edi
push eax
push edx
mov edx, dword [esi + 0x90]
push ecx
call edx
add esp, 0xc
lea ecx, [ecx]
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
mov ecx, edi
call edx
mov ebx, eax
cmp ebx, 0xa
je 0x45ef94
cmp ebx, 0xd
je 0x45ef90
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
and eax, 0xffffffc0
add eax, 0x7e
mov dword [esp + 0x20], eax
cmp ebx, eax
je 0x45f118
cmp ebx, 0xffffffff
je 0x45f118
mov ecx, dword [esi + 0x19c]
cmp ebx, 0x7a
jne 0x45f010
mov byte [esp + 0x14], bl
test ecx, ecx
je 0x45efee
push ebx
call fcn.004a1dd0
inc dword [esp + 0x18]
jmp 0x45f0ae
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 1
lea eax, [esp + 0x18]
push eax
push ecx
call edx
add esp, 0xc
inc dword [esp + 0x18]
jmp 0x45f0ae
mov byte [esp + 0x14], bl
test ecx, ecx
je 0x45f020
push ebx
call fcn.004a1dd0
jmp 0x45f039
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 1
lea eax, [esp + 0x18]
push eax
push ecx
call edx
add esp, 0xc
mov edi, dword [esp + 0x2c]
mov ebp, 1
add dword [esp + 0x18], ebp
neg edi
sbb edi, edi
and edi, 0xfffffffd
add edi, 4
cmp edi, ebp
jl 0x45f0ae
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov ebx, eax
cmp ebx, 0xa
je 0x45f054
cmp ebx, 0xd
je 0x45f054
cmp ebx, dword [esp + 0x20]
je 0x45f0ae
cmp ebx, 0xffffffff
je 0x45f0ae
mov ecx, dword [esi + 0x19c]
mov byte [esp + 0x14], bl
test ecx, ecx
je 0x45f08c
push ebx
call fcn.004a1dd0
jmp 0x45f0a5
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 1
lea eax, [esp + 0x18]
push eax
push ecx
call edx
add esp, 0xc
inc dword [esp + 0x18]
inc ebp
cmp ebp, edi
jle 0x45f054
cmp dword [esp + 0x18], 0xf0
jle 0x45f105
cmp dword [esp + 0x2c], 0
mov edx, 0x54ad80
jne 0x45f0c9
mov edx, 0x54c190
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f0db
push edx
call fcn.004a1e60
jmp 0x45f0fd
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f0e0
mov ecx, dword [esi + 0x90]
sub eax, edi
push eax
mov eax, dword [esi + 0x94]
push edx
push eax
call ecx
add esp, 0xc
mov dword [esp + 0x18], 0
cmp ebx, dword [esp + 0x20]
je 0x45f114
cmp ebx, 0xffffffff
jne 0x45ef90
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x2c], 0
mov edx, 0x54c18c
jne 0x45f129
mov edx, 0x54c188
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f13b
push edx
call fcn.004a1e60
jmp 0x45f15d
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f140
sub eax, ebx
push eax
mov eax, dword [esi + 0x90]
push edx
mov edx, dword [esi + 0x94]
push edx
call eax
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f173
push 0x54c180
call fcn.004a1e60
jmp 0x45f18c
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 4
push 0x54c180
push ecx
call edx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f1a2
push 0x54ad78
call fcn.004a1e60
jmp 0x45f1bb
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 2
push 0x54ad78
push eax
call ecx
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
jmp 0x45f1ea
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
push eax
push ecx
push str.ImData_0:d_1:d_0_n
push esi
call fcn.00451ba0
add esp, 0x10
cmp dword [esp + 0x30], 0
je 0x45f282
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f20b
push str.___n___ImageType_3_n
call fcn.004a1e60
jmp 0x45f224
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0x12
push str.___n___ImageType_3_n
push ecx
call edx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f23a
push str.___InterleaveType_3_n
call fcn.004a1e60
jmp 0x45f253
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0x14
push str.___InterleaveType_3_n
push eax
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f269
push str.___DataDict_n
call fcn.004a1e60
jmp 0x45f282
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 0xc
push str.___DataDict_n
push edx
call eax
add esp, 0xc
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x28]
test edi, edi
je 0x45f297
mov eax, 4
test ebp, ebp
jne 0x45f29c
mov eax, 1
push eax
push str.___n___ImageType_0:d_n
push esi
call fcn.00451ba0
add esp, 0xc
test edi, edi
je 0x45f351
test ebp, ebp
je 0x45f351
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f2d1
push str.___MaskColor___n
call fcn.004a1e60
jmp 0x45f2ea
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0xf
push str.___MaskColor___n
push ecx
call edx
add esp, 0xc
mov eax, dword [ebp + 8]
lea ebx, [eax + eax]
xor edi, edi
test ebx, ebx
jle 0x45f322
jmp 0x45f300
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + edi*4 + 4]
mov edx, dword [eax + edi*4]
push ecx
push edx
push str.____0:d_1:d_n
push esi
call fcn.00451ba0
add edi, 2
add esp, 0x10
cmp edi, ebx
jl 0x45f300
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f338
push str.____n
call fcn.004a1e60
jmp 0x45f351
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 4
push str.____n
push eax
call ecx
add esp, 0xc
mov ebx, dword [esp + 0x3c]
push ebx
push str.___Width_0:d_n
push esi
call fcn.00451ba0
mov edi, dword [esp + 0x5c]
push edi
push str.___Height_0:d_n
push esi
call fcn.00451ba0
push edi
neg edi
push edi
push ebx
push str.___ImageMatrix__0:d_0_0_1:d_0_2:d__n
push esi
call fcn.00451ba0
add esp, 0x2c
test ebp, ebp
je 0x45f3ca
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 9
jne 0x45f3c5
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f3ad
push str.___BitsPerComponent_8_n
call fcn.004a1e60
jmp 0x45f3de
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0x16
push str.___BitsPerComponent_8_n
push ecx
call edx
jmp 0x45f3db
mov eax, dword [ebp + 4]
jmp 0x45f3cf
mov eax, 1
push eax
push str.___BitsPerComponent_0:d_n
push esi
call fcn.00451ba0
add esp, 0xc
test ebp, ebp
je 0x45f5b4
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f3fc
push str.___Decode__
call fcn.004a1e60
jmp 0x45f415
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0xb
push str.___Decode__
push eax
call ecx
add esp, 0xc
mov eax, dword [esi + 0x68]
cmp eax, 3
je 0x45f422
cmp eax, 5
jne 0x45f477
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 8
jne 0x45f477
mov ecx, dword [ebp + 4]
fld qword [ebp + 0x118]
mov edx, 1
shl edx, cl
sub esp, 0x10
dec edx
mov dword [esp + 0x54], edx
fild dword [esp + 0x54]
fld qword [ebp + 0x218]
fadd qword [ebp + 0x118]
fmul st(1)
fstp qword [esp + 8]
fmulp st(1)
fstp qword [esp]
push str.0:.4g_1:.4g
push esi
call fcn.00451ba0
add esp, 0x18
jmp 0x45f581
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
cmp eax, 9
jne 0x45f50f
mov eax, dword [ebp]
mov ecx, dword [eax + 0x8c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x45f581
test edi, edi
jle 0x45f4d9
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f4c0
push 0x534dc8
call fcn.004a1e60
jmp 0x45f4d9
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 1
push 0x534dc8
push eax
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f4ef
push 0x54c144
call fcn.004a1e60
jmp 0x45f508
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 3
push 0x54c144
push edx
call eax
add esp, 0xc
inc edi
cmp edi, ebx
jl 0x45f4a6
jmp 0x45f581
mov ecx, dword [esp + 0x28]
mov ebp, dword [ecx + 8]
xor ebx, ebx
test ebp, ebp
jle 0x45f581
mov edi, ecx
add edi, 0x118
test ebx, ebx
jle 0x45f557
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f53e
push 0x534dc8
call fcn.004a1e60
jmp 0x45f557
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 1
push 0x534dc8
push edx
call eax
add esp, 0xc
fld qword [edi]
sub esp, 0x10
fld qword [edi + 0x100]
fadd qword [edi]
fstp qword [esp + 8]
fstp qword [esp]
push str.0:.4g_1:.4g
push esi
call fcn.00451ba0
inc ebx
add esp, 0x18
add edi, 8
cmp ebx, ebp
jl 0x45f524
mov ecx, dword [esi + 0x19c]
xor edi, edi
cmp ecx, edi
je 0x45f599
push 0x54bf04
call fcn.004a1e60
jmp 0x45f5db
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 2
push 0x54bf04
push ecx
call edx
add esp, 0xc
jmp 0x45f5db
mov eax, dword [esp + 0x1100]
xor ecx, ecx
test eax, eax
sete cl
xor edx, edx
test eax, eax
setne dl
push ecx
push edx
push str.___Decode__0:d_1:d__n
push esi
call fcn.00451ba0
add esp, 0x10
xor edi, edi
mov ebx, 2
cmp dword [esi + 0x6c], ebx
je 0x45f623
cmp dword [esi + 0x198], edi
jne 0x45f623
cmp dword [esi + 0x8c], edi
jne 0x45f623
mov ecx, dword [esi + 0x19c]
cmp ecx, edi
je 0x45f60b
push str.___DataSource_currentfile_n
call fcn.004a1e60
jmp 0x45f652
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0x1a
push str.___DataSource_currentfile_n
push eax
call ecx
jmp 0x45f64f
mov ecx, dword [esi + 0x19c]
cmp ecx, edi
je 0x45f639
push str.___DataSource__pdfImStr__n
call fcn.004a1e60
jmp 0x45f652
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 0x1b
push str.___DataSource__pdfImStr__n
push edx
call eax
add esp, 0xc
cmp dword [esi + 0x6c], ebx
je 0x45f667
cmp dword [esi + 0x198], edi
jne 0x45f667
cmp dword [esi + 0x8c], edi
je 0x45f68f
mov ecx, dword [0x59da88]
call fcn.00437600
test eax, eax
je 0x45f68f
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
jmp 0x45f861
mov eax, dword [esi + 0x68]
cmp eax, ebx
jge 0x45f69d
mov eax, 1
jmp 0x45f6a8
xor ecx, ecx
cmp eax, 4
setge cl
lea eax, [ebx + ecx]
mov ebp, dword [esp + 0x48]
mov edx, dword [ebp]
push 0x54c104
push eax
mov eax, dword [edx + 0x30]
mov ecx, ebp
call eax
mov ebx, eax
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x45f6d4
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 9
je 0x45f726
cmp dword [esp + 0x1104], edi
jne 0x45f726
cmp ebx, edi
je 0x45f726
mov edx, dword [ebp]
mov eax, dword [edx + 0x34]
xor edi, edi
push 1
mov ecx, ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call eax
test eax, eax
je 0x45f71a
cmp dword [esi + 0x6c], 2
je 0x45f71a
cmp dword [esi + 0x198], edi
jne 0x45f71a
cmp dword [esi + 0x8c], edi
jne 0x45f71a
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
jmp 0x45f77b
xor eax, eax
mov dword [esp + 0x18], 1
jmp 0x45f77b
mov ecx, dword [0x59da88]
call fcn.004375d0
test eax, eax
je 0x45f744
mov edi, 1
mov dword [esp + 0x20], 0
jmp 0x45f74e
mov dword [esp + 0x20], 1
xor edi, edi
cmp dword [esi + 0x6c], 2
mov dword [esp + 0x24], edi
je 0x45f771
cmp dword [esi + 0x198], 0
jne 0x45f771
cmp dword [esi + 0x8c], 0
jne 0x45f771
mov eax, 1
jmp 0x45f773
xor eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x45f7a3
cmp dword [esp + 0x2c], 0
mov eax, 0x54c100
jne 0x45f794
mov eax, 0x54c0fc
push eax
push str._____ASCII0:sDecode_filter_n
push esi
call fcn.00451ba0
add esp, 0xc
test edi, edi
je 0x45f7d5
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f7bd
push str._____LZWDecode_filter_n
call fcn.004a1e60
jmp 0x45f80b
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0x16
push str._____LZWDecode_filter_n
push ecx
call edx
jmp 0x45f808
cmp dword [esp + 0x20], 0
je 0x45f80b
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f7f2
push str._____RunLengthDecode_filter_n
call fcn.004a1e60
jmp 0x45f80b
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0x1c
push str._____RunLengthDecode_filter_n
push eax
call ecx
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x45f84d
mov ecx, dword [esi + 0x19c]
mov edx, dword [ebx + 4]
test ecx, ecx
je 0x45f827
push edx
call fcn.004a1e60
jmp 0x45f84d
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f830
sub eax, edi
push eax
mov eax, dword [esi + 0x90]
push edx
mov edx, dword [esi + 0x94]
push edx
call eax
add esp, 0xc
test ebx, ebx
je 0x45f861
mov ecx, ebx
call fcn.004a1da0
push ebx
call fcn.0051163f
add esp, 4
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f877
push 0x54a2a0
call fcn.004a1e60
jmp 0x45f890
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 3
push 0x54a2a0
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0x30], 0
je 0x45fae2
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f8b1
push str.___MaskDict_n
call fcn.004a1e60
jmp 0x45f8ca
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0xc
push str.___MaskDict_n
push eax
call ecx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f8e0
push 0x54c258
call fcn.004a1e60
jmp 0x45f8f9
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 3
push 0x54c258
push edx
call eax
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f90f
push str.___ImageType_1_n
call fcn.004a1e60
jmp 0x45f928
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0xf
push str.___ImageType_1_n
push ecx
call edx
add esp, 0xc
mov ebx, dword [esp + 0x1120]
push ebx
push str.___Width_0:d_n
push esi
call fcn.00451ba0
mov edi, dword [esp + 0x1130]
push edi
push str.___Height_0:d_n
push esi
call fcn.00451ba0
push edi
neg edi
push edi
push ebx
push str.___ImageMatrix__0:d_0_0_1:d_0_2:d__n
push esi
call fcn.00451ba0
mov ecx, dword [esi + 0x19c]
add esp, 0x2c
test ecx, ecx
je 0x45f977
push str.___BitsPerComponent_1_n
call fcn.004a1e60
jmp 0x45f990
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0x16
push str.___BitsPerComponent_1_n
push eax
call ecx
add esp, 0xc
mov eax, dword [esp + 0x1128]
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
test eax, eax
setne cl
push edx
push ecx
push str.___Decode__0:d_1:d__n
push esi
call fcn.00451ba0
add esp, 0x10
cmp dword [esi + 0x6c], 2
je 0x45fa06
cmp dword [esi + 0x198], 0
jne 0x45fa06
cmp dword [esi + 0x8c], 0
jne 0x45fa06
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45f9ea
push str.___DataSource_maskStream_n
call fcn.004a1e60
mov ebx, dword [esp + 0x40]
jmp 0x45fa70
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 0x19
push str.___DataSource_maskStream_n
push edx
call eax
mov ebx, dword [esp + 0x4c]
jmp 0x45fa6d
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45fa1c
push str.___DataSource_pdfMaskSrc_n
call fcn.004a1e60
jmp 0x45fa35
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 0x1b
push str.___DataSource_pdfMaskSrc_n
push ecx
call edx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
mov ebx, dword [esp + 0x40]
mov edx, dword [ebx + 4]
test ecx, ecx
je 0x45fa4e
push edx
call fcn.004a1e60
jmp 0x45fa70
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45fa53
mov ecx, dword [esi + 0x90]
sub eax, edi
push eax
mov eax, dword [esi + 0x94]
push edx
push eax
call ecx
add esp, 0xc
test ebx, ebx
je 0x45fa84
mov ecx, ebx
call fcn.004a1da0
push ebx
call fcn.0051163f
add esp, 4
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45fa9a
push 0x54a2a0
call fcn.004a1e60
jmp 0x45fab3
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
push 3
push 0x54a2a0
push edx
call eax
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45fac9
push 0x54a2a0
call fcn.004a1e60
jmp 0x45fae2
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 3
push 0x54a2a0
push ecx
call edx
add esp, 0xc
cmp dword [esi + 0x6c], 2
je 0x45fbab
cmp dword [esi + 0x198], 0
jne 0x45fbab
cmp dword [esi + 0x8c], 0
jne 0x45fbab
mov eax, dword [esi + 0x68]
cmp eax, 3
je 0x45fb17
cmp eax, 5
jne 0x45fb97
mov edi, dword [esp + 0x28]
test edi, edi
je 0x45fba4
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
cmp eax, 8
jne 0x45fb9b
mov ebx, edi
mov edi, dword [ebx]
lea ecx, [esp + 0x54]
mov dword [esp + 0x64], 0x10000
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
push ecx
lea edx, [esp + 0x68]
push edx
mov ecx, edi
call eax
fild dword [esp + 0x60]
mov edi, dword [edi + 8]
fld qword [0x535de0]
push edi
fmul st(1), st(0)
sub esp, 0x20
fxch st(1)
fstp qword [esp + 0x18]
fild dword [esp + 0x80]
fmul st(1)
fstp qword [esp + 0x10]
fild dword [esp + 0x7c]
fmul st(1)
fstp qword [esp + 8]
fimul dword [esp + 0x78]
fstp qword [esp]
push str.0:.4g_1:.4g_2:.4g_3:.4g__4:t__pdfImSep_n
push esi
call fcn.00451ba0
add esp, 0x2c
jmp 0x45fbcf
mov edi, dword [esp + 0x28]
mov eax, str.pdfIm
test edi, edi
jne 0x45fbbc
mov eax, str.pdfImM
jmp 0x45fbbc
cmp dword [esp + 0x28], 0
mov eax, str.image
jne 0x45fbbc
mov eax, str.imagemask
push eax
push str.0:s_n
push esi
call fcn.00451ba0
mov ebx, dword [esp + 0x34]
add esp, 0xc
cmp dword [esi + 0x6c], 2
je 0x45fe88
cmp dword [esi + 0x198], 0
jne 0x45fe88
cmp dword [esi + 0x8c], 0
jne 0x45fe88
cmp dword [esp + 0x1104], 0
je 0x45fc45
push 0x14
call fcn.00511699
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x10f0], 0xa
test eax, eax
je 0x45fc35
mov ecx, dword [esp + 0x4c]
push ecx
push ebp
mov ecx, eax
call fcn.0046cc60
or edi, 0xffffffff
mov dword [esp + 0x10f0], edi
mov ebp, eax
jmp 0x45fc5b
xor eax, eax
or edi, 0xffffffff
mov dword [esp + 0x10f0], edi
mov ebp, eax
jmp 0x45fc5b
cmp dword [esp + 0x18], 0
je 0x45fc58
mov edx, dword [ebp]
mov eax, dword [edx + 0x3c]
mov ecx, ebp
call eax
mov ebp, eax
or edi, 0xffffffff
test ebx, ebx
je 0x45fcad
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
cmp eax, 9
jne 0x45fcad
push 0xac
call fcn.00511699
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x10f0], 0xb
test eax, eax
je 0x45fca2
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x3c]
push ebx
push ecx
push edx
push ebp
mov ecx, eax
call fcn.004516d0
jmp 0x45fca4
xor eax, eax
mov dword [esp + 0x10f0], edi
mov ebp, eax
cmp dword [esp + 0x24], 0
je 0x45fcde
push 0xd024
call fcn.00511699
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10f0], 0xc
test eax, eax
je 0x45fd0f
push ebp
mov ecx, eax
call fcn.0046d3c0
jmp 0x45fd11
cmp dword [esp + 0x20], 0
je 0x45fd1a
push 0xa0
call fcn.00511699
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10f0], 0xd
test eax, eax
je 0x45fd0f
push ebp
mov ecx, eax
call fcn.0046d170
jmp 0x45fd11
xor eax, eax
mov ebp, eax
mov dword [esp + 0x10f0], edi
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x45fd82
cmp dword [esp + 0x2c], 0
je 0x45fd50
push 0x20
call fcn.00511699
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10f0], 0xe
test eax, eax
je 0x45fd77
push ebp
mov ecx, eax
call fcn.0046cd10
jmp 0x45fd79
push 0x24
call fcn.00511699
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10f0], 0xf
test eax, eax
je 0x45fd77
push ebp
mov ecx, eax
call fcn.0046ce00
jmp 0x45fd79
xor eax, eax
mov ebp, eax
mov dword [esp + 0x10f0], edi
mov eax, dword [ebp]
mov edx, dword [eax + 8]
mov ecx, ebp
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x1c]
push 0x1000
lea ecx, [esp + 0xe8]
push ecx
mov ecx, ebp
call edx
test eax, eax
jle 0x45fdf6
mov ecx, dword [esi + 0x19c]
push eax
test ecx, ecx
je 0x45fdc1
lea eax, [esp + 0xe8]
push eax
call fcn.004a1ec0
jmp 0x45fddb
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
lea ecx, [esp + 0xe8]
push ecx
push edx
call eax
add esp, 0xc
mov edx, dword [ebp]
mov edx, dword [edx + 0x1c]
push 0x1000
lea eax, [esp + 0xe8]
push eax
mov ecx, ebp
call edx
test eax, eax
jg 0x45fda7
mov eax, dword [ebp]
mov edx, dword [eax + 0xc]
mov ecx, ebp
call edx
mov ecx, dword [esi + 0x19c]
mov byte [esp + 0x38], 0xa
test ecx, ecx
je 0x45fe18
push 0xa
call fcn.004a1dd0
jmp 0x45fe31
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 1
lea eax, [esp + 0x3c]
push eax
push ecx
call edx
add esp, 0xc
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45fe47
push str.__EOD__n
call fcn.004a1e60
jmp 0x45fe60
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 7
push str.__EOD__n
push eax
call ecx
add esp, 0xc
cmp dword [esp + 0x24], 0
jne 0x45fe7b
cmp dword [esp + 0x20], 0
jne 0x45fe7b
test ebx, ebx
jne 0x45fe7b
cmp dword [esp + 0x1104], ebx
je 0x45feb7
mov edx, dword [ebp]
mov eax, dword [edx]
push 1
mov ecx, ebp
call eax
jmp 0x45feb7
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45fe9e
push str.pop_pop_n
call fcn.004a1e60
jmp 0x45feb7
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
push 8
push str.pop_pop_n
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0x30], 0
je 0x45ff05
cmp dword [esi + 0x6c], 2
je 0x45ff05
cmp dword [esi + 0x198], 0
jne 0x45ff05
cmp dword [esi + 0x8c], 0
jne 0x45ff05
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x45feec
push str.pdfMaskEnd_n
call fcn.004a1e60
jmp 0x45ff05
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push 0xb
push str.pdfMaskEnd_n
push eax
call ecx
add esp, 0xc
mov ecx, dword [esp + 0x10e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10d0]
xor ecx, esp
call fcn.00511afd
add esp, 0x10e0
ret 0x34