Function at 0x1001c670
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0xb8]
sub esp, 0xb8
push 0xffffffffffffffff
push 0x10135031
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x101be8d0]
xor eax, ebp
mov dword [ebp + 0xb4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 0xc0]
xor esi, esi
push str.Filter
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x14], esi
call fcn.1000b570
mov ebx, 1
push eax
mov ecx, edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], ebx
call fcn.1000f440
mov ecx, eax
call fcn.1002efd0
test al, al
je 0x1001c75e
push str.Standard
lea ecx, [ebp - 0x84]
call fcn.1000b570
mov esi, eax
push str.Filter
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 3
call fcn.1000b570
mov ebx, 7
push eax
mov ecx, edi
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], ebx
call fcn.1000f440
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10009890
mov ecx, dword [esi + 0x1c]
add eax, 8
cmp dword [esi + 0x20], 0x10
jb 0x1001c744
mov esi, dword [esi + 0xc]
jmp 0x1001c747
add esi, 0xc
push ecx
mov ecx, dword [eax + 0x14]
push esi
push ecx
push 0
mov ecx, eax
call fcn.10008010
mov byte [ebp - 0x15], 0
test eax, eax
je 0x1001c762
mov byte [ebp - 0x15], 1
mov dword [ebp - 4], 1
test bl, 4
je 0x1001c77c
and ebx, 0xfffffffb
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x14], ebx
call fcn.1002d6b0
mov dword [ebp - 4], 0
test bl, 2
je 0x1001c799
and ebx, 0xfffffffd
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x14], ebx
call fcn.1002d6b0
mov dword [ebp - 4], 0xffffffff
test bl, 1
je 0x1001c7ad
lea ecx, [ebp - 0x4c]
call fcn.1002d6b0
cmp byte [ebp - 0x15], 0
je 0x1001c8bf
push 1
push 2
lea ecx, [ebp - 0x198]
call fcn.1000e010
push str.Filter
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 3
call fcn.1000b570
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.1000f440
mov ecx, eax
call fcn.1002efd0
lea ecx, [ebp - 0x4c]
mov bl, al
mov byte [ebp - 4], 3
call fcn.1002d6b0
test bl, bl
je 0x1001c855
push str.Filter
lea ecx, [ebp - 0x4c]
call fcn.1000b570
push eax
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.1000f440
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10009890
add eax, 8
push eax
lea edx, [ebp - 0x198]
push str.Unsupported_encryption_filter:
push edx
call fcn.1000d7b0
add esp, 8
push eax
call fcn.1000d9c0
add esp, 8
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.1002d6b0
jmp 0x1001c869
lea eax, [ebp - 0x198]
push str.Encryption_dictionary_does_not_have_a_key__Filter.
push eax
call fcn.1000d7b0
add esp, 8
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x14], 0x23
call fcn.1000c080
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 6
jb 0x1001c891
mov eax, dword [eax + 4]
jmp 0x1001c894
add eax, 4
push eax
push 0x225
push str.......podofo_0.9.6_src_basePdfEncrypt.cpp
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x118]
call fcn.10021720
push 0x101a8490
lea eax, [ebp - 0x118]
push eax
call fcn.10104e7f
lea ecx, [ebp + 0x54]
call fcn.10005f80
lea ecx, [ebp + 0x84]
mov dword [ebp - 4], 7
call fcn.10005f80
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 8
call fcn.1001bbc0
lea ecx, [ebp]
mov byte [ebp - 0x14], 1
mov byte [ebp - 4], 0xa
call fcn.10005f80
push 0x10145e88
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10019a10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
push 0x10145e84
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10019a10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
push 0x10145e20
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10019a10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
push 0x10145e68
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10007f80
push eax
lea ecx, [ebp + 0x54]
call fcn.100065a0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
push 0x10145e64
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10007f80
push eax
lea ecx, [ebp + 0x84]
call fcn.100065a0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
push str.Length
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002efd0
lea ecx, [ebp - 0x4c]
mov bl, al
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
test bl, bl
je 0x1001ca9a
push str.Length
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov ecx, eax
call fcn.10019a10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
jmp 0x1001caa2
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
push str.EncryptMetadata
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
lea ecx, [ebp - 0x4c]
mov esi, eax
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
test esi, esi
je 0x1001caf9
cmp byte [esi + 0x13], 0
jne 0x1001cae9
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [esi + 0x13], 1
cmp byte [esi + 0x12], 0
jne 0x1001caf9
mov ecx, esi
call fcn.100199a0
mov byte [ebp - 0x14], al
push str.StmF
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov esi, eax
mov ecx, edi
mov byte [ebp - 4], 0x14
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
lea ecx, [ebp - 0x4c]
mov esi, eax
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
test esi, esi
je 0x1001cc0f
cmp byte [esi + 0x13], 0
jne 0x1001cb44
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [esi + 0x13], 1
cmp byte [esi + 0x12], 5
jne 0x1001cc0f
push 0x10145e44
lea ecx, [ebp - 0x84]
call fcn.1000b570
mov ebx, eax
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.1000f440
push ebx
mov ecx, eax
call fcn.1002ee90
lea ecx, [ebp - 0x84]
mov edi, eax
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
test edi, edi
je 0x1001cc0f
mov ecx, edi
call fcn.1000f3c0
test al, al
je 0x1001cc0f
mov ecx, esi
call fcn.10009890
mov ecx, edi
mov esi, eax
call fcn.1000f440
push esi
mov ecx, eax
call fcn.1002ee90
mov esi, eax
test esi, esi
je 0x1001cc0f
mov ecx, esi
call fcn.1000f3c0
test al, al
je 0x1001cc0f
push 0x10145e74
lea ecx, [ebp - 0x4c]
call fcn.1000b570
mov edi, eax
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.1000f440
push edi
mov ecx, eax
call fcn.1002ee90
lea ecx, [ebp - 0x4c]
mov esi, eax
mov byte [ebp - 4], 0xb
call fcn.1002d6b0
test esi, esi
je 0x1001cc0f
mov ecx, esi
call fcn.10009870
test al, al
je 0x1001cc0f
mov ecx, esi
call fcn.10009890
push eax
lea ecx, [ebp + 0x30]
call fcn.1001bc30
lea ecx, [ebp]
mov byte [ebp - 4], 0xa
call fcn.100060e0
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 4], 9
cmp esi, 1
jne 0x1001cca4
cmp edi, 2
je 0x1001cc37
cmp edi, 3
jne 0x1001ccae
test byte [0x101b263c], 1
je 0x1001ccae
push 0x214
call fcn.10104860
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov bl, 0x18
mov byte [ebp - 4], bl
test esi, esi
je 0x1001cdab
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x54]
push ecx
push 0x28
push 1
push edi
push edx
sub esp, 0x30
lea eax, [ebp + 0x84]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.100065e0
sub esp, 0x30
lea edx, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x24], esp
push edx
mov byte [ebp - 4], 0x19
call fcn.100065e0
mov ecx, esi
mov byte [ebp - 4], bl
call fcn.1001ad10
jmp 0x1001cdad
cmp esi, 2
jne 0x1001ccae
cmp edi, 3
je 0x1001ccbf
push 0x10145e78
lea ecx, [ebp + 0x30]
call fcn.1002dfb0
test al, al
je 0x1001cd30
mov eax, dword [0x101b263c]
shr eax, 1
test al, 1
je 0x1001cd30
push 0x214
call fcn.10104860
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov bl, 0x1a
mov byte [ebp - 4], bl
test esi, esi
je 0x1001cdab
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x54]
push edx
push 2
push eax
push ecx
sub esp, 0x30
lea edx, [ebp + 0x84]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edx
call fcn.100065e0
sub esp, 0x30
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x1b
call fcn.100065e0
mov ecx, esi
mov byte [ebp - 4], bl
call fcn.1001ad10
jmp 0x1001cdad
cmp esi, 4
jne 0x1001ce00
cmp edi, esi
jne 0x1001ce00
mov ecx, dword [0x101b263c]
shr ecx, 2
test cl, 1
je 0x1001ce00
push 0x218
call fcn.10104860
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov bl, 0x1c
mov byte [ebp - 4], bl
test esi, esi
je 0x1001cdab
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
push edx
push eax
sub esp, 0x30
lea edx, [ebp + 0x84]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edx
call fcn.100065e0
sub esp, 0x30
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x1d
call fcn.100065e0
mov ecx, esi
mov byte [ebp - 4], bl
call fcn.1001ae70
jmp 0x1001cdad
xor eax, eax
lea ecx, [ebp + 0x30]
mov esi, eax
mov byte [ebp - 4], 8
call fcn.1002d6b0
lea ecx, [ebp + 0x84]
mov byte [ebp - 4], 7
call fcn.100060e0
lea ecx, [ebp + 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.100060e0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xb4]
xor ecx, ebp
call fcn.101044ca
add ebp, 0xb8
mov esp, ebp
pop ebp
ret
push 1
push 2
lea ecx, [ebp - 0x218]
call fcn.1000e010
push edi
push str._Revision
push esi
lea ecx, [ebp - 0x218]
push str.Unsupported_encryption_method_Version
push ecx
mov byte [ebp - 4], 0x1e
call fcn.1000d7b0
add esp, 8
mov ecx, eax
call fcn.1000dc40
push eax
call fcn.1000d7b0
add esp, 8
mov ecx, eax
call fcn.1000dc40
lea edx, [ebp - 0xa0]
push edx
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x1c], 0x23
call fcn.1000c080
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0x1f
jb 0x1001ce6d
mov eax, dword [eax + 4]
jmp 0x1001ce70
add eax, 4
push eax
push 0x27a
push str.......podofo_0.9.6_src_basePdfEncrypt.cpp
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.10021720
push 0x101a8490
lea ecx, [ebp - 0xc8]
push ecx
call fcn.10104e7f
mov esi, dword [ebp - 0x60]
push str.Invalid_key_in_encryption_dictionary
push 0x254
push str.......podofo_0.9.6_src_basePdfEncrypt.cpp
mov ecx, esi
call fcn.10014b70
push esi
lea ecx, [ebp - 0xf0]
call fcn.10021910
push 0x101a8490
lea edx, [ebp - 0xf0]
push edx
call fcn.10104e7f
int3