Function at 0x501e56b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x504e900
call fcn.05040548
sub esp, 0x20
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [esi]
mov dword [ebp - 0x10], ebx
dec eax
mov dword [ebp - 0x14], ebx
je 0x501e62c
dec eax
je 0x501e60e
dec eax
je 0x501e5df
dec eax
jne 0x501e652
push dword [0x5060770]
call fcn.05041440
push dword [0x5060774]
mov edi, eax
call fcn.05041440
add edi, eax
mov eax, dword [ebp + 0x10]
pop ecx
cmp edi, dword [eax]
pop ecx
ja 0x501f39c
push dword [0x5060770]
push 0x50615c0
push dword [ebp - 0x10]
call fcn.05042217
add esp, 0xc
jmp 0x501e652
push dword [0x506076c]
call fcn.05041440
push dword [0x5060774]
mov edi, eax
call fcn.05041440
add edi, eax
mov eax, dword [ebp + 0x10]
pop ecx
cmp edi, dword [eax]
pop ecx
ja 0x501f39c
push dword [0x506076c]
jmp 0x501e5cd
push dword [0x5060774]
call fcn.05041440
add eax, 0xf
pop ecx
cmp eax, dword [edi]
ja 0x501f39c
push str.__CIEBasedABC
jmp 0x501e648
push dword [0x5060774]
call fcn.05041440
add eax, 0xf
pop ecx
cmp eax, dword [edi]
ja 0x501f39c
push str.__CIEBasedA
push dword [ebp - 0x10]
call fcn.05042217
pop ecx
pop ecx
push ebx
call fcn.05041440
pop ecx
add eax, ebx
push dword [0x5060774]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], eax
push 0x50615c0
push eax
call fcn.05042217
push ebx
call fcn.05041440
mov edi, dword [ebp + 0x14]
add esp, 0x10
add eax, ebx
movzx ecx, word [edi + 0xe]
push ecx
mov dword [ebp - 0x10], eax
movzx ecx, word [edi + 0xc]
push ecx
movzx ecx, word [edi + 0xa]
push ecx
movzx ecx, word [edi + 8]
push ecx
movzx ecx, word [edi + 6]
push ecx
movzx ecx, word [edi + 4]
push ecx
push str._ndup__CreationDate___04d_02d_02d_02d_02d_02d__put
push eax
call fcn.05042217
push ebx
call fcn.05041440
push dword [edi]
add eax, ebx
mov dword [ebp - 0x10], eax
call fcn.050220d0
add esp, 0x28
push eax
push str._ndup__RenderingIntent___s__put
push dword [ebp - 0x10]
call fcn.05042217
push ebx
call fcn.05041440
add eax, ebx
mov dword [ebp - 0x10], eax
lea eax, [edi + 0x10]
push eax
call fcn.05041440
shl eax, 1
push eax
call fcn.050423d4
mov dword [ebp + 0xc], eax
push eax
lea eax, [edi + 0x10]
push eax
call fcn.050220fa
add esp, 0x20
push dword [ebp + 0xc]
push str._ndup__Description___s__put
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp + 0xc]
call fcn.0503fbc7
push ebx
call fcn.05041440
mov ecx, dword [edi + 0x90]
add esp, 0x14
mov edx, ecx
add eax, ebx
sar edx, 0x18
mov byte [ebp - 0x2c], dl
mov byte [ebp + 0xf], dl
shl byte [ebp + 0xf], 8
mov edx, ecx
mov dword [ebp - 0x10], eax
sar edx, 0x10
sub dl, byte [ebp + 0xf]
mov byte [ebp - 0x2b], dl
shl dl, 0x10
mov byte [ebp + 0xb], dl
sar ecx, 8
sub cl, dl
mov dl, byte [edi + 0x90]
sub cl, byte [ebp + 0xf]
and byte [ebp - 0x28], 0
mov byte [ebp - 0x2a], cl
shl cl, 0x18
sub dl, cl
lea ecx, [ebp - 0x2c]
sub dl, byte [ebp + 0xb]
push ecx
push str._ndup__ColorSpace___s__put
push eax
sub dl, byte [ebp + 0xf]
mov byte [ebp - 0x29], dl
call fcn.05042217
push ebx
call fcn.05041440
add eax, ebx
mov dword [ebp + 0xc], 6
mov dword [ebp - 0x10], eax
lea eax, [edi + 0x94]
push eax
call fcn.05041440
shl eax, 1
push eax
call fcn.050423d4
mov dword [ebp + 8], eax
push eax
lea eax, [edi + 0x94]
push eax
call fcn.050220fa
add esp, 0x20
push dword [ebp + 8]
push str._ndup__Copyright___s__put
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp + 8]
call fcn.0503fbc7
push ebx
call fcn.05041440
mov ecx, eax
add esp, 0x14
add ecx, ebx
cmp dword [esi], 4
mov dword [ebp - 0x10], ecx
jne 0x501eb0c
fld qword [esi + 0x38]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x40]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x48]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x50]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x58]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x60]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x68]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e853
fld qword [esi + 0x70]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501e882
push str._ndup__RangeDEFG___n
push ecx
mov dword [ebp + 0xc], 7
call fcn.05042217
push ebx
call fcn.05041440
add eax, ebx
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.05020023
add esp, 0x18
xor eax, eax
cmp dword [esi + 0x118], eax
jne 0x501e8a4
cmp dword [esi + 0x128], eax
jne 0x501e8a4
cmp dword [esi + 0x138], eax
jne 0x501e8a4
cmp dword [esi + 0x148], eax
je 0x501e8d8
inc dword [ebp + 0xc]
push str._ndup__DecodeDEFG___n
push dword [ebp - 0x10]
call fcn.05042217
push ebx
call fcn.05041440
add eax, ebx
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x118]
push eax
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.0501fed9
add esp, 0x1c
fld qword [esi + 0x78]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0x80]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0x88]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0x90]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0x98]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0xa0]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0xa8]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501e95d
fld qword [esi + 0xb0]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501e98a
inc dword [ebp + 0xc]
push str._ndup__RANGEHIJK___n
push dword [ebp - 0x10]
call fcn.05042217
push ebx
call fcn.05041440
add eax, ebx
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x78]
push eax
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.05020023
add esp, 0x18
push dword [esi + 0x22c]
inc dword [ebp + 0xc]
push dword [esi + 0x228]
push dword [esi + 0x224]
push dword [esi + 0x220]
push str._ndup__Table__d__d__d__d__n
push dword [ebp - 0x10]
call fcn.05042217
push ebx
call fcn.05041440
and dword [ebp - 0x18], 0
add esp, 0x1c
add eax, ebx
cmp dword [esi + 0x220], 0
mov dword [ebp - 0x10], eax
jle 0x501eaec
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x506149c
push eax
call fcn.05042217
and dword [ebp - 0x14], 0
cmp dword [esi + 0x224], 0
pop ecx
pop ecx
jle 0x501eac7
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x505fdbc
push eax
call fcn.05042217
and dword [ebp + 0x14], 0
cmp dword [esi + 0x228], 0
pop ecx
pop ecx
jle 0x501ea8f
mov eax, dword [esi + 0x22c]
and dword [ebp + 8], 0
test eax, eax
jle 0x501ea81
imul eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x21c]
mov edx, dword [ebp - 0x18]
add eax, dword [ebp + 8]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebp - 0x14]
lea eax, [eax + eax*2]
add eax, dword [ecx + edx*4]
movzx ecx, byte [eax + 2]
push dword [ecx*4 + 0x5060784]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push dword [ecx*4 + 0x5060784]
push dword [eax*4 + 0x5060784]
push str._s_s_s
push dword [ebp - 0x10]
call fcn.05042217
add dword [ebp - 0x10], 6
mov eax, dword [esi + 0x22c]
add esp, 0x14
inc dword [ebp + 8]
cmp dword [ebp + 8], eax
jl 0x501ea23
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [esi + 0x228]
jl 0x501ea15
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x505fdb8
push eax
call fcn.05042217
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
pop ecx
pop ecx
push 0x5061490
push eax
call fcn.05042217
inc dword [ebp - 0x14]
pop ecx
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, dword [esi + 0x224]
jl 0x501e9f5
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x506148c
push eax
call fcn.05042217
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x220]
pop ecx
pop ecx
jl 0x501e9d1
push str.___put
push dword [ebp - 0x10]
call fcn.05042217
push ebx
call fcn.05041440
mov ecx, eax
add esp, 0xc
add ecx, ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
cmp dword [esi], 3
jne 0x501edae
fld qword [esi + 0x38]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501eb69
fld qword [esi + 0x40]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501eb69
fld qword [esi + 0x48]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501eb69
fld qword [esi + 0x50]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501eb69
fld qword [esi + 0x58]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501eb69
fld qword [esi + 0x60]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501eb97
inc dword [ebp + 0xc]
push str._ndup__RangeDEF___n
push ecx
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x38]
push eax
lea eax, [ebp - 0x10]
push 3
push eax
call fcn.05020023
add esp, 0x18
xor eax, eax
cmp dword [esi + 0x118], eax
jne 0x501ebb1
cmp dword [esi + 0x128], eax
jne 0x501ebb1
cmp dword [esi + 0x138], eax
je 0x501ebe8
inc dword [ebp + 0xc]
push str._ndup__DecodeDEF___n
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x118]
push eax
lea eax, [ebp - 0x10]
push 3
push eax
call fcn.0501fed9
add esp, 0x1c
fld qword [esi + 0x78]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501ec4b
fld qword [esi + 0x80]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501ec4b
fld qword [esi + 0x88]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501ec4b
fld qword [esi + 0x90]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501ec4b
fld qword [esi + 0x98]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501ec4b
fld qword [esi + 0xa0]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501ec7b
inc dword [ebp + 0xc]
push str._ndup__RangeHIJ___n
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x78]
push eax
lea eax, [ebp - 0x10]
push 3
push eax
call fcn.05020023
add esp, 0x18
push dword [esi + 0x228]
inc dword [ebp + 0xc]
push dword [esi + 0x224]
push dword [esi + 0x220]
push str._ndup__Table__d__d__d__n
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
and dword [ebp - 0x18], 0
add esp, 0x18
cmp dword [esi + 0x220], 0
mov dword [ebp - 0x10], eax
jle 0x501ed8b
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x505fdbc
push eax
call fcn.05042217
and dword [ebp + 0x14], 0
cmp dword [esi + 0x224], 0
pop ecx
pop ecx
jle 0x501ed53
mov eax, dword [esi + 0x228]
and dword [ebp + 8], 0
test eax, eax
jle 0x501ed45
imul eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
mov ecx, dword [esi + 0x218]
mov edx, dword [ebp - 0x18]
lea eax, [eax + eax*2]
add eax, dword [ecx + edx*4]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
push dword [eax*4 + 0x5060784]
push dword [edx*4 + 0x5060784]
push dword [ecx*4 + 0x5060784]
push str._s_s_s
push dword [ebp - 0x10]
call fcn.05042217
add dword [ebp - 0x10], 6
mov eax, dword [esi + 0x228]
add esp, 0x14
inc dword [ebp + 8]
cmp dword [ebp + 8], eax
jl 0x501eced
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [esi + 0x224]
jl 0x501ecdf
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
push 0x505fdb8
push eax
call fcn.05042217
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x10]
pop ecx
pop ecx
push 0x5061490
push eax
call fcn.05042217
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [esi + 0x220]
pop ecx
pop ecx
jl 0x501ecbf
push str.___put
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
mov ecx, eax
add esp, 0xc
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
fld qword [esi + 8]
fcom qword [0x5050208]
fnstsw ax
sahf
jne 0x501ee02
fld qword [esi + 0x10]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501ee02
fld qword [esi + 0x18]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501ee02
fld qword [esi + 0x20]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501ee02
fld qword [esi + 0x28]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501ee02
fld qword [esi + 0x30]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501ee64
inc dword [ebp + 0xc]
cmp dword [esi], 1
jne 0x501ee35
fld qword [esi + 0x10]
push ecx
push ecx
fstp qword [esp]
push ecx
push ecx
fstp qword [esp]
push str._ndup__RangeA___1.4f__1.4f_
push ecx
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add esp, 0x1c
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
jmp 0x501ee66
push str._ndup__RangeABC___n
push ecx
fstp st(0)
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x10]
push 3
push eax
call fcn.05020023
add esp, 0x18
jmp 0x501ee66
fstp st(0)
mov eax, dword [esi + 0xe8]
test eax, eax
jne 0x501ee84
cmp dword [esi + 0xf8], eax
jne 0x501ee84
cmp dword [esi + 0x108], eax
je 0x501ef22
inc dword [ebp + 0xc]
cmp dword [esi], 1
jne 0x501eee1
cmp eax, 1
jne 0x501eeb7
push dword [0x5060778]
push 0x50615c0
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add esp, 0x10
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
jmp 0x501ef22
push str._ndup__DecodeA_n
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 8]
push eax
lea eax, [esi + 0xe8]
push eax
push 1
jmp 0x501ef16
cmp eax, 2
jne 0x501eeee
push dword [0x506077c]
jmp 0x501ee97
push str._ndup__DecodeABC___n
push dword [ebp - 0x10]
call fcn.05042217
push dword [ebp - 0x14]
call fcn.05041440
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
lea eax, [esi + 8]
push eax
lea eax, [esi + 0xe8]
push eax
push 3
lea eax, [ebp - 0x10]
push eax
call fcn.0501fed9
add esp, 0x1c
fld qword [esi + 0x188]
fcom qword [0x5050268]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x190]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x198]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1a0]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1a8]
fcomp qword [0x5050268]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1b0]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1b8]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1c0]
fcomp qword [0x5050208]
fnstsw ax
sahf
jne 0x501efc3
fld qword [esi + 0x1c8]
fcomp qword [0x5050268]
fnstsw ax
sahf
je 0x501f078
inc dword [ebp + 0xc]
cmp dword [esi], 1
jne 0x501eff8
fld qword [esi + 0x1b8]
push ecx
push ecx
fstp qword [esp]
fld qword [esi + 0x1a0]
push ecx
push ecx
fstp qword [esp]
push ecx
push ecx
fstp qword [esp]
push str._ndup__MatrixA___1.4f__1.4f__1.4f__put
push dword [ebp - 0x10]
call fcn.05042217
add esp, 0x20
jmp 0x501f065
fld qword [esi + 0x1c8]
push ecx
push ecx
fstp qword [esp]
fld qword [esi + 0x1c0]
push ecx
push ecx
invalid