Function at 0x1004f1a0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bdd18
mov eax, dword fs:[0]
push eax
sub esp, 0xa38
mov eax, dword [0x1010aef8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x3e8], ecx
mov ecx, ebx
mov dword [ebp - 0x3b4], ebx
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x390], edi
call fcn.1002ed10
test eax, eax
je 0x1004f203
xor eax, eax
jmp 0x1005304d
mov ecx, ebx
call fcn.1002eb70
xor esi, esi
test ax, ax
je 0x1004f232
cmp byte [ebx + 0x3b], 0
jne 0x1004f232
mov ecx, dword [ebx + 0x1c]
fldz
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
push esi
push esi
push ecx
shr edi, 3
fstp dword [esp]
and edi, 1
push edi
push 6
call eax
mov dword [ebp - 0x3d8], esi
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x414], esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x38c], esi
lea ecx, [ebp - 0x458]
call fcn.1009d630
mov dword [ebp - 0x454], esi
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x39c], esi
call fcn.1009d630
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x398], esi
lea ecx, [ebp - 0x3ac]
call fcn.1009d630
mov dword [ebp - 0x3a8], esi
lea ecx, [ebp - 0x3f4]
call fcn.1009d630
mov dword [ebp - 0x3f0], esi
lea ecx, [ebp - 0x46c]
call fcn.1009d630
mov byte [ebp - 4], 7
call fcn.100a1d00
mov dword [0x1010e240], eax
cmp eax, esi
je 0x1004f2c8
mov ecx, dword [eax]
call ecx
jmp 0x1004f2ca
xor eax, eax
push eax
lea ecx, [ebp - 0x40c]
mov dword [ebp - 0x508], eax
call fcn.1009e380
lea edx, [ebp - 0x40c]
push edx
mov ecx, 0x1010ae10
mov byte [ebp - 4], 8
call fcn.100a2050
mov byte [ebp - 4], 9
call fcn.100a1d00
mov dword [0x1010e240], eax
cmp eax, esi
je 0x1004f309
mov eax, dword [eax]
call eax
jmp 0x1004f30b
xor eax, eax
push eax
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x530], eax
call fcn.1009e380
lea ecx, [ebp - 0x444]
push ecx
mov ecx, 0x1010ae10
mov byte [ebp - 4], 0xa
call fcn.100a2050
mov byte [ebp - 4], 0xb
call fcn.100a1d00
mov dword [0x1010e240], eax
cmp eax, esi
je 0x1004f34a
mov edx, dword [eax]
call edx
jmp 0x1004f34c
xor eax, eax
push eax
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x4e0], eax
call fcn.1009e380
lea eax, [ebp - 0x3d0]
push eax
mov ecx, 0x1010ae10
mov byte [ebp - 4], 0xc
call fcn.100a2050
lea ecx, [ebp - 0x4bc]
call fcn.1009d630
mov byte [ebp - 4], 0xe
call fcn.100a1cc0
mov dword [0x1010e23c], eax
cmp eax, esi
je 0x1004f396
mov ecx, dword [eax]
call ecx
jmp 0x1004f398
xor eax, eax
push eax
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x464], eax
call fcn.1009e380
lea edx, [ebp - 0x41c]
push edx
mov ecx, 0x1010ae10
mov byte [ebp - 4], 0xf
call fcn.100a2050
mov byte [ebp - 4], 0x10
call fcn.100a1cc0
mov dword [0x1010e23c], eax
cmp eax, esi
je 0x1004f3d7
mov eax, dword [eax]
call eax
jmp 0x1004f3d9
xor eax, eax
push eax
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x3e4], eax
call fcn.1009e380
lea ecx, [ebp - 0x484]
push ecx
mov ecx, 0x1010ae10
mov byte [ebp - 4], 0x11
call fcn.100a2050
mov dword [ebp - 0x4ac], esi
mov dword [ebp - 0x4a8], esi
mov dword [ebp - 0x4a4], esi
lea ecx, [ebp - 0x404]
call fcn.1009d630
mov dword [ebp - 0x400], esi
lea ecx, [ebp - 0x48c]
call fcn.1009d630
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x410], esi
mov dword [ebp - 0x4a0], esi
lea ecx, [ebp - 0x474]
call fcn.1009d630
mov dword [ebp - 0x470], esi
lea ecx, [ebp - 0x434]
call fcn.1009d630
mov dword [ebp - 0x430], esi
fld1
mov eax, dword [0x1010e108]
fst dword [ebp - 0xc8]
fldz
lea edx, [ebp - 0x50]
fst dword [ebp - 0xc4]
push 0x100a15f0
fst dword [ebp - 0xc0]
push edx
fst dword [ebp - 0xb8]
mov byte [ebp - 4], 0x18
fstp dword [ebp - 0xb4]
fstp dword [ebp - 0xbc]
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [ebp - 4]
push 0x100f2a68
push eax
push 0x100a2da1
lea edx, [ebp - 0x50]
push 3
push edx
call fcn.100a4340
add esp, 0x1c
test eax, eax
jne 0x10052d6c
mov edi, dword [ebp - 0x3d4]
mov eax, dword [edi]
lea ecx, [edi + 4]
mov dword [ebp - 0x3b0], ecx
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x18]
push eax
call edx
mov ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x58], ecx
mov edx, dword [eax + 0xc]
add esp, 4
lea eax, [ebp - 0x5ec]
push eax
mov ecx, edi
mov dword [ebp - 0x54], edx
call fcn.10025420
mov ebx, eax
push ebx
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0x19
call fcn.1009e3b0
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
lea ecx, [ebp - 0x45c]
mov dword [ebp - 0x3ac], eax
call fcn.1009dac0
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x5ec]
mov dword [ebp - 0x3a8], edx
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [0x1010ef28]
mov ecx, dword [eax + 0x14]
push str.Couldnt_create_PDEImage
push 4
call ecx
add esp, 8
lea edx, [ebp - 0x828]
push edx
mov ecx, edi
mov dword [ebp - 0x3e0], eax
call fcn.10031c70
mov ebx, eax
push ebx
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x1a
call fcn.1009e3b0
mov ecx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x460], ecx
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x3f4], eax
call fcn.1009dac0
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x3f0], edx
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [ebp - 0x3f4]
cmp eax, esi
je 0x1004f6b1
push eax
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [eax]
call ecx
add esp, 4
test eax, eax
je 0x1004f6b1
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [eax]
push edx
mov dword [ebp - 0x380], 1
call ecx
mov ecx, eax
add esp, 4
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], esi
mov byte [ebp - 0xb0], 0
lea ebx, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1004f626
sub ecx, ebx
push ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.1003e050
cmp dword [ebp - 0xa0], esi
jne 0x1004f64a
mov dword [ebp - 0x380], esi
cmp dword [ebp - 0x9c], 0x10
jb 0x1004f663
mov edx, dword [ebp - 0xb0]
push edx
call dword [0x1010db78]
add esp, 4
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xa0], esi
mov byte [ebp - 0xb0], 0
mov ebx, dword [ebp - 0x3b4]
cmp dword [ebx + 0x5c], esi
je 0x10052d43
mov eax, dword [ebx + 0x5c]
add eax, 0x118
je 0x10052d43
mov eax, dword [ebx + 0x5c]
cmp dword [eax + 0x154], esi
je 0x1004f6b9
cmp dword [ebp - 0x380], esi
je 0x1004f6b9
mov ecx, 1
jmp 0x1004f6bb
mov dword [ebp - 0x380], esi
jmp 0x1004f67a
xor ecx, ecx
mov eax, dword [ebx + 0x5c]
cmp dword [eax + 0x158], esi
je 0x1004fb6c
cmp ecx, esi
je 0x1004fb6c
fild dword [ebp - 0x54]
lea ecx, [ebp - 0x5fc]
push ecx
lea edx, [ebp - 0x7a4]
fstp qword [ebp - 0x5fc]
push edx
fild dword [ebp - 0x58]
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x894]
fstp qword [ebp - 0x7a4]
push ecx
fild dword [ebp - 0x5c]
lea ecx, [ebp - 0x16c]
fstp qword [ebp - 0x60c]
fild dword [ebp - 0x60]
fstp qword [ebp - 0x894]
call fcn.10072730
fld qword [ebp - 0x16c]
fld qword [ebp - 0x15c]
fucompp
fnstsw ax
fld1
test ah, 0x44
jnp 0x1004f749
fld qword [ebp - 0x164]
fld qword [ebp - 0x154]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1004f770
lea edx, [ebp - 0x61c]
fst qword [ebp - 0x61c]
push edx
fstp qword [ebp - 0x7b0]
lea eax, [ebp - 0x7b0]
push eax
lea ecx, [ebp - 0x16c]
call fcn.10072900
fld1
mov ecx, dword [ebp - 0x3e8]
fst qword [ebp - 0x8dc]
fldz
fst qword [ebp - 0x8d4]
fst qword [ebp - 0x8cc]
fst qword [ebp - 0x8bc]
fstp qword [ebp - 0x8b4]
fstp qword [ebp - 0x8c4]
cmp word [ebx + 0xdc], si
je 0x1004f7ab
push ecx
jmp 0x1004f8b7
lea edx, [ebp - 0x16c]
push edx
call fcn.10073030
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [ebp - 0x238]
push edx
call eax
push eax
lea ecx, [ebp - 0x9c4]
call fcn.10072a60
lea ecx, [ebp - 0x9c4]
push ecx
lea ecx, [ebp - 0x8dc]
call fcn.10072af0
mov edx, dword [ebp - 0x3e8]
push edx
lea ecx, [ebp - 0x8dc]
call fcn.10072af0
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x5c]
push ecx
mov dword [ebp - 0x3e4], eax
fild dword [ebp - 0x3e4]
neg eax
mov dword [ebp - 0x3e4], eax
fstp qword [ebp - 0x62c]
lea edx, [ebp - 0x834]
fldz
push edx
fst qword [ebp - 0x834]
lea eax, [ebp - 0x63c]
fild dword [ebp - 0x3e4]
push eax
lea ecx, [ebp - 0x7bc]
push ecx
lea edx, [ebp - 0x64c]
fstp qword [ebp - 0x63c]
push edx
lea eax, [ebp - 0x87c]
fst qword [ebp - 0x7bc]
push eax
fstp qword [ebp - 0x64c]
lea ecx, [ebp - 0x964]
fild dword [ebp - 0x464]
fstp qword [ebp - 0x87c]
call fcn.100729f0
fild dword [ebp - 0x5c]
lea ecx, [ebp - 0x65c]
push ecx
lea edx, [ebp - 0x7c8]
fstp qword [ebp - 0x65c]
push edx
fild dword [ebp - 0x60]
lea ecx, [ebp - 0x964]
fstp qword [ebp - 0x7c8]
call fcn.1002dad0
lea eax, [ebp - 0x964]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.10072af0
cmp dword [ebx + 0x60], esi
je 0x1004f8ca
lea edi, [ebx + 0x60]
push edi
lea ecx, [ebp - 0x448]
call fcn.1009e3b0
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x448], ecx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x424], eax
call fcn.1009dac0
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0x390]
push eax
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x420], edx
push ecx
lea edx, [ebp - 0x66c]
push edx
mov ecx, ebx
call fcn.10046770
mov esi, eax
push esi
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x1b
call fcn.1009e3b0
mov ecx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x450], ecx
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x458], eax
call fcn.1009dac0
mov edx, dword [esi + 4]
lea ecx, [ebp - 0x66c]
mov dword [ebp - 0x454], edx
mov byte [ebp - 4], 0x18
call fcn.1009dac0
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.10072a90
mov ecx, dword [eax]
mov dword [ebp - 0xe0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xdc], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xd4], edx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x14]
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x9e4]
mov dword [ebp - 0xcc], edx
call fcn.1002f010
mov esi, eax
mov ecx, 8
lea edi, [ebp - 0x220]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [ebx + 0x18]
mov eax, dword [ebx]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0x390]
lea edx, [ebp - 0x3d8]
push edx
mov edx, dword [ebp - 0x458]
push ecx
mov ecx, dword [ebp - 0x424]
push edx
push ecx
push 0
lea edx, [ebp - 0x220]
push edx
mov ecx, ebx
call eax
mov ecx, dword [0x1010e108]
test eax, eax
je 0x1004fa3c
mov edx, dword [ecx + 4]
push 0x40000001
call edx
add esp, 4
push 0x100f0edc
lea eax, [ebp - 0x510]
push eax
mov dword [ebp - 0x510], 0
call fcn.100a2c75
mov edx, dword [ecx + 0xc]
call edx
mov esi, dword [ebp - 0x3d8]
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x17
call fcn.1009dac0
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x16
call fcn.1009dac0
mov eax, dword [ebp - 0x4a0]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1004fa84
push eax
mov eax, dword [0x1010e128]
mov ecx, dword [eax + 0xd0]
call ecx
add esp, 4
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x14
call fcn.1009dac0
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x13
call fcn.1009dac0
mov ecx, dword [ebp - 0x4ac]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x1004fabf
mov eax, dword [0x1010db8c]
test eax, eax
je 0x1004fabf
push ecx
call eax
add esp, 4
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x10
call fcn.1009dac0
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 0xe
call fcn.1009dac0
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 0xd
call fcn.1009dac0
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0xb
call fcn.1009dac0
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 9
call fcn.1009dac0
lea ecx, [ebp - 0x40c]
mov byte [ebp - 4], 7
call fcn.1009dac0
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 6
call fcn.1009dac0
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 5
call fcn.1009dac0
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 4
call fcn.1009dac0
mov eax, dword [ebp - 0x398]
mov byte [ebp - 4], 3
test eax, eax
je 0x10052ffe
mov edx, dword [0x1010e128]
push eax
mov eax, dword [edx + 0xd0]
call eax
jmp 0x10052ffb
lea eax, [ebx + 0xdc]
mov dword [ebp - 0x3dc], eax
cmp word [eax], si
jne 0x1004fbc3
cmp dword [ebx + 0xd8], esi
jne 0x1004fbc3
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x98]
call eax
push eax
lea ecx, [ebp - 0x55c]
call fcn.10032240
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x55c], esi
je 0x1004fbb4
push esi
push esi
push esi
mov ecx, ebx
call fcn.1004c570
lea ecx, [ebp - 0x55c]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x3b0]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ecx]
mov dword [ebp - 0x3bc], eax
mov eax, dword [edi]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov esi, eax
push edi
mov dword [ebp - 0x394], esi
call fcn.10032840
mov edx, dword [ebp - 0x390]
add esp, 8
xor ecx, ecx
test ax, ax
setne cl
lea eax, [ebp - 0x3ac]
push ecx
push edx
push esi
push eax
mov ecx, ebx
call fcn.10030920
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x37c], ecx
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov dword [ebp - 0x3c0], eax
mov eax, dword [edi]
push eax
mov eax, dword [edx + 0x24]
call eax
mov edx, dword [ebp - 0x3ac]
test eax, eax
mov eax, dword [ebp - 0x3a8]
setne cl
mov byte [ebp - 0x3c4], cl
mov ecx, dword [eax]
push edx
call ecx
add esp, 8
cmp eax, 6
mov ecx, ebx
sete byte [ebp - 0x375]
call fcn.1002df80
cmp dword [eax + 0x50], 0
jne 0x1004fc98
lea ecx, [ebp - 0x3ac]
call fcn.10035970
mov dword [ebp - 0x380], 1
test ax, ax
jne 0x1004fca2
mov dword [ebp - 0x380], 0
push 0x34
lea edx, [ebp - 0x94]
push 0
push edx
call fcn.100a3580
mov esi, dword [ebp - 0x390]
add esp, 0xc
and esi, 1
jne 0x1004fcd7
mov eax, dword [ebp - 0x3dc]
cmp word [eax], si
je 0x1004fcde
mov ecx, ebx
call fcn.1002eb70
test ax, ax
jne 0x1004fcde
or dword [ebp - 0x94], 2
test byte [ebp - 0x390], 4
je 0x1004fcf8
cmp word [ebp - 0x380], 0
jne 0x1004fcf8
or dword [ebp - 0x94], 4
cmp byte [ebp - 0x375], 0
je 0x1004fd08
or dword [ebp - 0x94], 0x10
mov ecx, dword [ebp - 0x3b0]
mov edi, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
push edi
call eax
add esp, 4
mov dword [ebp - 0x3f8], eax
test eax, eax
je 0x1004fe11
lea ecx, [ebp - 0x3ac]
push ecx
mov ecx, ebx
call fcn.10035630
cmp eax, 4
jg 0x1004fe6b
or dword [ebp - 0x94], 8
lea edi, [eax + eax]
test edi, edi
je 0x1004fe6b
mov eax, dword [ebp - 0x3f8]
lea edx, [ebp - 0x84]
sub eax, edx
mov dword [ebp - 0x380], eax
jmp 0x1004fd70
mov eax, dword [ebp - 0x3dc]
dec edi
cmp word [eax], 0
mov dword [ebp - 0x384], edi
je 0x1004fddb
mov ecx, ebx
call fcn.1002eb70
test ax, ax
je 0x1004fd96
cmp word [ebp + 0x14], 0
je 0x1004fddb
mov ecx, dword [ebp - 0x380]
fld1
fstp qword [ebp - 0x67c]
lea edx, [ecx + edi*4]
fld dword [ebp + edx - 0x84]
lea eax, [ebp - 0x840]
push eax
fstp qword [ebp - 0x840]
call fcn.1002d920
lea ecx, [ebp - 0x67c]
push ecx
mov edi, eax
call fcn.1002d920
add esp, 8
sub eax, edi
mov edi, dword [ebp - 0x384]
jmp 0x1004fe00
mov edx, dword [ebp - 0x380]
lea eax, [edx + edi*4]
fld dword [ebp + eax - 0x84]
lea ecx, [ebp - 0x7d4]
push ecx
fstp qword [ebp - 0x7d4]
call fcn.1002d920
add esp, 4
mov dword [ebp + edi*4 - 0x84], eax
test edi, edi
jne 0x1004fd70
jmp 0x1004fe6b
mov edx, dword [ebp - 0x3dc]
cmp word [edx], 0
je 0x1004fe6b
mov ecx, ebx
call fcn.1002eb70
test ax, ax
je 0x1004fe30
cmp word [ebp + 0x14], 0
je 0x1004fe6b
fld1
or dword [ebp - 0x94], 8
lea eax, [ebp - 0x68c]
fstp qword [ebp - 0x68c]
push eax
call fcn.1002d920
fldz
lea ecx, [ebp - 0x848]
fstp qword [ebp - 0x848]
push ecx
mov dword [ebp - 0x84], eax
call fcn.1002d920
add esp, 8
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x374]
mov ecx, dword [ebp - 0x37c]
or dword [ebp - 0x94], 1
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
lea edi, [ebx + 0x1c]
mov dword [ebp - 0x4f8], edi
call eax
test dword [eax], 0x400
je 0x1004febc
mov cx, word [eax + 0x9c]
mov word [ebp - 0x64], cx
fld1
mov edx, dword [ebp - 0x3dc]
fst qword [ebp - 0x5bc]
fldz
fst qword [ebp - 0x5b4]
fst qword [ebp - 0x5ac]
fst qword [ebp - 0x59c]
fstp qword [ebp - 0x594]
fstp qword [ebp - 0x5a4]
cmp word [edx], 0
je 0x1004fefb
mov eax, dword [ebp - 0x3e8]
jmp 0x10050015
mov ecx, dword [edi]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x310]
push eax
call edx
push eax
lea ecx, [ebp - 0xa14]
call fcn.10072a60
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [ebp - 0x250]
push edx
call eax
push eax
lea ecx, [ebp - 0x994]
call fcn.10072a60
lea ecx, [ebp - 0x994]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.10072af0
mov edx, dword [ebp - 0x3e8]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.10072af0
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x69c]
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x5c]
push ecx
mov dword [ebp - 0x384], eax
fild dword [ebp - 0x384]
neg eax
mov dword [ebp - 0x384], eax
fstp qword [ebp - 0x69c]
lea edx, [ebp - 0x7e0]
fldz
push edx
fst qword [ebp - 0x7e0]
lea eax, [ebp - 0x6ac]
fild dword [ebp - 0x384]
push eax
lea ecx, [ebp - 0x850]
push ecx
lea edx, [ebp - 0x6bc]
fstp qword [ebp - 0x6ac]
push edx
lea eax, [ebp - 0x704]
fst qword [ebp - 0x850]
push eax
fstp qword [ebp - 0x6bc]
lea ecx, [ebp - 0x934]
fild dword [ebp - 0x380]
fstp qword [ebp - 0x704]
call fcn.100729f0
fild dword [ebp - 0x5c]
lea ecx, [ebp - 0x6cc]
push ecx
lea edx, [ebp - 0x710]
fstp qword [ebp - 0x6cc]
push edx
fild dword [ebp - 0x60]
lea ecx, [ebp - 0x934]
fstp qword [ebp - 0x710]
call fcn.1002dad0
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.10072af0
mov edi, dword [ebp - 0x3d4]
push edi
call fcn.10032840
add esp, 4
test ax, ax
je 0x100509d6
push 0
push 0
lea ecx, [ebp - 0xc8]
push ecx
push edi
lea ecx, [ebp - 0x6dc]
call fcn.10031eb0
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x1d
call fcn.1003b050
lea ecx, [ebp - 0x6dc]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
call fcn.1009b450
push eax
lea ecx, [ebp - 0x77c]
call fcn.10045ad0
lea edx, [ebp - 0x77c]
push edx
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0x1e
call fcn.10045b70
lea ecx, [ebp - 0x51c]
call fcn.1009d630
mov dword [ebp - 0x518], 0
lea eax, [ebp - 0x730]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x20
call fcn.10025420
push 0
lea ecx, [ebp - 0x6ec]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x21
call fcn.10031670
push 0
push 0
lea edx, [ebp - 0x51c]
push edx
lea ecx, [ebp - 0x564]
push ecx
push eax
lea edx, [ebp - 0x720]
push edx
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x22
call fcn.10032420
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x23
call fcn.1003b050
lea ecx, [ebp - 0x720]
mov byte [ebp - 4], 0x22
call fcn.1009dac0
lea ecx, [ebp - 0x6ec]
mov byte [ebp - 4], 0x21
call fcn.1009dac0
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 0x20
call fcn.1009dac0
lea ecx, [ebp - 0x51c]
mov byte [ebp - 4], 0x1f
call fcn.1009dac0
mov eax, dword [ebp - 0x564]
push eax
mov byte [ebp - 4], 0x1e
call dword [0x1010dab0]
mov ecx, dword [ebp - 0x77c]
push ecx
mov byte [ebp - 4], 0x18
call dword [0x1010dab0]
add esp, 8
push 0
push 0
push 0
lea edx, [ebp - 0x434]
push edx
lea ecx, [ebp - 0x474]
call fcn.1003cf20
lea eax, [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x434]
call fcn.10025420
push eax
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x24
call fcn.10026410
lea ecx, [ebp - 0x6fc]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
cmp byte [ebp - 0x375], 0
jne 0x1005038f
mov ecx, dword [ebp - 0x3c0]
cmp ecx, 2
jle 0x1005038f
mov eax, dword [ebp - 0x394]
cdq
idiv ecx
cmp eax, 8
jne 0x1005038f
mov ecx, dword [ebp - 0x3bc]
imul ecx, dword [ebp - 0x374]
cmp ecx, 0x100
jle 0x1005038f
push 0
lea edx, [ebp - 0x4ac]
push edx
lea ecx, [ebp - 0x434]
call fcn.10037330
test al, al
je 0x1005038f
or dword [ebp - 0x94], 0x10
push 0x7c
call fcn.100328c0
add esp, 4
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x25
test eax, eax
je 0x1005025a
mov edx, dword [ebp - 0x390]
lea ecx, [ebp - 0x4ac]
push ecx
push edx
lea ecx, [ebp - 0x434]
push ecx
mov ecx, eax
call fcn.10026a00
mov dword [ebp - 0x380], eax
jmp 0x10050264
mov dword [ebp - 0x380], 0
mov edx, dword [ebp - 0x380]
push edx
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x8ac], 0
call fcn.10030e50
mov ecx, dword [ebp - 0x380]
lea eax, [ebp - 0x740]
push eax
call fcn.10032810
push eax
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x26
call fcn.10026410
lea ecx, [ebp - 0x740]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov ecx, dword [ebp - 0x390]
push ecx
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x4dc]
push ecx
mov ecx, ebx
call fcn.1003b860
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x27
call fcn.10036060
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x18
call fcn.10030df0
mov edx, dword [ebp - 0x48c]
push 0
push 0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x7a8], esp
push 0
push edx
mov dword [ebp - 0x384], ecx
call fcn.1009b0d0
mov eax, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3c4]
push 0
push edx
sub esp, 0xc
lea eax, [ebx + 0x128]
mov ecx, esp
mov dword [ebp - 0x7b4], esp
push eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x394], eax
call fcn.10030310
mov ecx, ebx
mov byte [ebp - 4], 0x29
call fcn.1002df80
mov ecx, dword [ebp - 0x37c]
push eax
mov eax, dword [ebp - 0x390]
push eax
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x404]
push eax
mov byte [ebp - 4], 0x18
call fcn.10059a40
add esp, 0x38
mov dword [ebp - 0x39c], eax
jmp 0x100504bd
mov ecx, dword [ebp - 0x390]
push ecx
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0x4d8]
push ecx
mov ecx, ebx
call fcn.1003b860
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2a
call fcn.10036060
mov eax, dword [ebp - 0x4d8]
mov byte [ebp - 4], 0x18
test eax, eax
je 0x100503e2
mov edx, dword [0x1010e128]
push eax
mov eax, dword [edx + 0xd0]
call eax
add esp, 4
mov eax, dword [edi]
push 0
push 0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x7cc], esp
push 0
push eax
mov dword [ebp - 0x384], ecx
call fcn.1009b0d0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x384]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3c4]
push 0
push ecx
sub esp, 0xc
lea eax, [ebx + 0x128]
mov ecx, esp
mov dword [ebp - 0x7d8], esp
push eax
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x394], eax
call fcn.10030310
mov ecx, ebx
mov byte [ebp - 4], 0x2c
call fcn.1002df80
mov edx, dword [ebp - 0x390]
push eax
mov eax, dword [ebp - 0x37c]
push edx
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x3ac]
push edx
mov byte [ebp - 4], 0x18
call fcn.10059a40
push 0x50
mov dword [ebp - 0x39c], eax
call fcn.100328c0
add esp, 0x3c
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x2d
test eax, eax
je 0x100504a1
mov ecx, dword [ebp - 0x390]
push 0
push ecx
lea edx, [ebp - 0x434]
push edx
mov ecx, eax
call fcn.10026490
jmp 0x100504a3
xor eax, eax
push eax
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x7e4], 0
call fcn.10030e50
mov ecx, ebx
call fcn.1002eb70
test ax, ax
je 0x100508e1
cmp byte [ebx + 0x3b], 0
jne 0x100508e1
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.10072ac0
mov edi, dword [edi]
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x7f0], esp
push 0
push edi
mov dword [ebp - 0x384], ecx
call fcn.1009b0d0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x384]
mov dword [eax + 4], edx
sub esp, 8
mov edi, esp
add ebx, 0x120
mov dword [ebp - 0x7fc], esp
push ebx
mov ecx, edi
mov byte [ebp - 4], 0x2e
call fcn.1009e3b0
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x3c8]
push 0
push 0
mov byte [ebp - 4], 0x2f
call fcn.10025340
mov edx, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x398]
push eax
push edx
neg esi
sbb esi, esi
lea eax, [ebp - 0x11c]
and esi, eax
push esi
push ecx
mov ecx, dword [ebp - 0x3b4]
push 0
lea edx, [ebp - 0x1d0]
push edx
push 0x34
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x18
call fcn.10033df0
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x39c]
test ecx, ecx
je 0x100505a7
mov edx, dword [ebp - 0x39c]
push edx
call fcn.100a4601
add esp, 4
xor esi, esi
mov dword [ebp - 0x39c], esi
mov eax, dword [ebp - 0x38c]
test eax, eax
jne 0x100505e5
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [0x1010e108]
mov eax, dword [edx + 4]
push ecx
call eax
add esp, 4
push 0x100f0edc
lea ecx, [ebp - 0x504]
push ecx
mov dword [ebp - 0x504], esi
call fcn.100a2c75
mov dword [ebp - 0x490], esi
lea edx, [ebp - 0x490]
push edx
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x30
call fcn.10036060
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x18
call fcn.10030df0
push 0x50
call fcn.100328c0
add esp, 4
mov dword [ebp - 0x384], eax
mov edi, dword [ebp - 0x3d4]
mov byte [ebp - 4], 0x31
cmp eax, esi
je 0x10050641
mov ecx, dword [ebp - 0x390]
push 1
push ecx
push edi
mov ecx, eax
call fcn.10026490
jmp 0x10050643
xor eax, eax
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x808], 0
call fcn.10030e50
mov edx, dword [0x1010e108]
mov eax, dword [edx + 0x14]
mov esi, dword [0x1010e130]
push str.DeviceGray
call eax
mov edx, dword [esi + 0x94]
movzx ecx, ax
push ecx
call edx
add esp, 8
mov dword [ebp - 0x49c], eax
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x32
call fcn.10036060
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 0x18
call fcn.10030df0
mov eax, dword [edi]
push 0
push 0
sub esp, 8
mov esi, esp
mov dword [ebp - 0x814], esp
push 0
push eax
mov ecx, esi
call fcn.1009b0d0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov dword [esi + 4], edx
mov eax, dword [ebp - 0x3c4]
mov edx, dword [ebp - 0x394]
push 1
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x820], esp
push edx
mov byte [ebp - 4], 0x33
call fcn.10030310
push 0
push 0
push 0
push 1
push 0
push 0
lea ecx, [ebp - 0x750]
mov byte [ebp - 4], 0x34
call fcn.100315f0
mov esi, eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x3b4]
call fcn.1002df80
mov edi, dword [ebp - 0x37c]
push eax
mov eax, dword [ebp - 0x390]
push eax
push edi
lea ecx, [ebp - 0x60]
push ecx
push esi
mov byte [ebp - 4], 0x36
call fcn.10059a40
add esp, 0x38
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x39c], eax
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push 0x34
lea edx, [ebp - 0x1a0]
push 0
push edx
call fcn.100a3580
mov ecx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x3bc]
or dword [ebp - 0x1a0], 1
add esp, 0xc
lea edx, [ebp - 0x370]
mov dword [ebp - 0x198], ecx
push edx
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x194], edi
call fcn.10072ac0
sub esp, 8
mov ecx, 0xc
lea esi, [ebp - 0x370]
lea edi, [ebp - 0x1d0]
rep movsd dword es:[edi], dword [esi]
mov esi, esp
mov ecx, esi
mov dword [ebp - 0x838], esp
call fcn.1009d630
xor edi, edi
mov dword [esi + 4], edi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x85c], esp
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x37
call fcn.1009e3b0
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0x414]
push edi
push edi
mov byte [ebp - 4], 0x38
call fcn.10025340
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x398]
push eax
push ecx
push edi
push edx
push edi
lea eax, [ebp - 0x1d0]
push eax
push 0x34
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp - 4], 0x18
call fcn.10033df0
mov esi, eax
cmp esi, edi
jne 0x1005085b
mov edx, dword [ebp - 0x3e0]
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 4]
push edx
call ecx
add esp, 4
push 0x100f0edc
lea edx, [ebp - 0x4e4]
push edx
mov dword [ebp - 0x4e4], edi
call fcn.100a2c75
mov ecx, dword [ebp - 0x38c]
mov eax, dword [0x1010e130]
mov edx, dword [eax + 0x170]
push esi
push ecx
call edx
mov eax, dword [0x1010e128]
mov ecx, dword [eax + 0xd0]
push esi
call ecx
add esp, 0xc
mov edi, dword [ebp - 0x3b4]
cmp dword [edi + 0xd8], 0
je 0x100527d2
mov edx, dword [ebp - 0x3dc]
cmp word [edx], 0
jne 0x100527d2
mov ecx, edi
call fcn.1002eb70
test ax, ax
je 0x10052747
cmp byte [edi + 0x3b], 0
jne 0x10052747
mov ecx, dword [edi + 0xd8]
mov edx, dword [ebp - 0x38c]
mov eax, dword [0x1010e130]
mov eax, dword [eax + 0x170]
push ecx
push edx
call eax
add esp, 8
jmp 0x100527d2
lea edx, [ebp - 0x2f8]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.10072ac0
mov edi, dword [edi]
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x868], esp
push 0
push edi
mov dword [ebp - 0x384], ecx
call fcn.1009b0d0
mov eax, dword [ebp - 0x3b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x384]
mov dword [edx + 4], ecx
sub esp, 8
mov edi, esp
add ebx, 0x120
mov dword [ebp - 0x874], esp
push ebx
mov ecx, edi
mov byte [ebp - 4], 0x39
call fcn.1009e3b0
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0x3c8]
push 0
push 0
mov byte [ebp - 4], 0x3a
call fcn.10025340
mov ecx, dword [ebp - 0x39c]
push eax
mov eax, dword [ebp - 0x398]
push ecx
neg esi
sbb esi, esi
lea edx, [ebp - 0x11c]
and esi, edx
push esi
push eax
push 0
lea ecx, [ebp - 0x2f8]
push ecx
mov ecx, dword [ebp - 0x3b4]
push 0x34
lea edx, [ebp - 0x94]
push edx
mov byte [ebp - 4], 0x18
call fcn.10033df0
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
test eax, eax
jne 0x10050881
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [0x1010e108]
mov eax, dword [edx + 4]
push ecx
call eax
add esp, 4
push 0x100f0edc
lea ecx, [ebp - 0x52c]
push ecx
mov dword [ebp - 0x52c], 0
call fcn.100a2c75
mov edx, dword [ebp - 0x3b0]
mov eax, dword [edi]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x44]
push eax
call edx
add esp, 4
test eax, eax
je 0x10050a1a
lea eax, [ebp - 0x7ec]
push eax
mov ecx, edi
call fcn.1002ff50
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x3b
call fcn.10015500
lea ecx, [ebp - 0x7ec]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
test esi, esi
jne 0x10050a3e
mov ecx, dword [ebp - 0x3dc]
cmp word [ecx], si
je 0x10050a35
mov ecx, ebx
call fcn.1002eb70
test ax, ax
je 0x10050a3e
mov byte [ebp - 0x380], 0
jmp 0x10050a45
mov byte [ebp - 0x380], 1
lea edx, [ebp - 0x3ec]
push edx
lea eax, [ebp - 0x3b5]
push eax
mov ecx, ebx
mov byte [ebp - 0x3b5], 0
mov byte [ebp - 0x3ec], 0
call fcn.1002df80
push eax
mov ecx, ebx
call fcn.1002df80
mov ecx, dword [eax + 0x10]
push ecx
sub esp, 8
mov ecx, esp
lea edx, [ebp - 0x46c]
mov dword [ebp - 0x880], esp
push edx
mov dword [ebp - 0x384], ecx
call fcn.1009e3b0
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x380]
mov eax, dword [edi]
push edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x88c], esp
push 0
push eax
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x384], ecx
call fcn.1009b0d0
mov eax, dword [ebp - 0x3b0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x384]
mov dword [edx + 4], ecx
mov byte [ebp - 4], 0x18
call fcn.10032dd0
add esp, 0x24
test al, al
je 0x10052188
cmp byte [ebx + 0x3a], 0
je 0x10050b2a
mov edi, dword [edi]
lea eax, [ebp - 0x47c]
push eax
sub esp, 8
mov esi, esp
mov dword [ebp - 0x898], esp
push 0
push edi
mov ecx, esi
call fcn.1009b0d0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 0x5c]
call fcn.10032700
test al, al
jne 0x100520a5
mov esi, dword [0x1010e118]
push 5
push 0
mov ecx, ebx
call fcn.1002df80
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x34]
push eax
call ecx
mov edi, edx
mov edx, dword [0x1010e118]
mov esi, eax
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 0x14]
add edx, 0x28
push str.XObject
mov dword [ebp - 0x3bc], edx
call ecx
movzx edx, ax
add esp, 0x10
push edx
push 0
mov ecx, ebx
call fcn.1002df80
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ecx]
push eax
call edx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push 0x100c9e98
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
mov ecx, dword [0x1010e118]
mov edx, dword [0x1010e108]
mov eax, dword [edx + 0x14]
add ecx, 0x28
push str.Image
mov dword [ebp - 0x3bc], ecx
call eax
movzx ecx, ax
add esp, 0x18
push ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x3bc]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.Subtype
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
add esp, 4
movzx ecx, ax
push ecx
push edi
push esi
mov eax, dword [edx]
call eax
add esp, 0x14
push 0
lea ecx, [ebp - 0x46c]
push ecx
lea ecx, [ebp - 0x718]
call fcn.10004cb0
push eax
lea ecx, [ebp - 0x40c]
mov byte [ebp - 4], 0x3d
call fcn.100155f0
lea ecx, [ebp - 0x718]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push str.Bounds
lea edx, [ebp - 0x728]
push edx
lea ecx, [ebp - 0x40c]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x3e
call fcn.10004cb0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0x3f
call fcn.100155f0
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x3e
call fcn.1009dac0
lea ecx, [ebp - 0x728]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push str.ImageDict
lea ecx, [ebp - 0x40c]
call fcn.100a1da0
mov byte [ebp - 0x375], al
test al, al
je 0x10050d2d
push str.ImageDict
lea eax, [ebp - 0x738]
push eax
lea ecx, [ebp - 0x40c]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x7f8]
mov byte [ebp - 4], 0x40
call fcn.10004cb0
push eax
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x41
call fcn.100155f0
lea ecx, [ebp - 0x7f8]
mov byte [ebp - 4], 0x40
call fcn.1009dac0
lea ecx, [ebp - 0x738]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
cmp byte [ebp - 0x375], 0
je 0x10050ec3
push str.Width
lea ecx, [ebp - 0x748]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x42
call fcn.100049b0
mov eax, dword [eax]
mov edx, dword [0x1010e228]
push eax
mov eax, dword [edx + 8]
mov byte [ebp - 4], 0x43
call eax
mov ecx, dword [0x1010e118]
add ecx, 0x1c
add esp, 4
mov dword [ebp - 0x374], ecx
call fcn.100a3160
push eax
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.Width
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x42
call fcn.1009dac0
lea ecx, [ebp - 0x748]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push str.Height
lea ecx, [ebp - 0x758]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x804]
mov byte [ebp - 4], 0x44
call fcn.100049b0
mov eax, dword [eax]
mov edx, dword [0x1010e228]
push eax
mov eax, dword [edx + 8]
mov byte [ebp - 4], 0x45
call eax
mov ecx, dword [0x1010e118]
add ecx, 0x1c
add esp, 4
mov dword [ebp - 0x374], ecx
call fcn.100a3160
push eax
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.Height
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
lea ecx, [ebp - 0x804]
mov byte [ebp - 4], 0x44
call fcn.1009dac0
lea ecx, [ebp - 0x758]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
jmp 0x10051157
push str.xMax
lea ecx, [ebp - 0x770]
push ecx
lea ecx, [ebp - 0x444]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0x46
call fcn.100049b0
mov dword [ebp - 0x384], eax
push str.xMin
lea edx, [ebp - 0x764]
push edx
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0x47
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x864]
mov byte [ebp - 4], 0x48
call fcn.100049b0
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x384]
mov eax, dword [eax]
mov ecx, dword [0x1010e228]
mov edx, dword [ecx + 8]
push eax
mov byte [ebp - 4], 0x49
call edx
fstp qword [ebp - 0x3a4]
mov eax, dword [ebp - 0x394]
mov eax, dword [eax]
mov ecx, dword [0x1010e228]
mov edx, dword [ecx + 8]
push eax
call edx
fsubr qword [ebp - 0x3a4]
add esp, 8
call fcn.100a3160
lea ecx, [ebp - 0x864]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 4], 0x48
call fcn.1009dac0
lea ecx, [ebp - 0x764]
mov byte [ebp - 4], 0x47
call fcn.1009dac0
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0x46
call fcn.1009dac0
lea ecx, [ebp - 0x770]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push str.yMax
lea eax, [ebp - 0x78c]
push eax
lea ecx, [ebp - 0x444]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0x4a
call fcn.100049b0
mov dword [ebp - 0x384], eax
push str.yMin
lea ecx, [ebp - 0x5dc]
push ecx
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0x4b
call fcn.100a23c0
push 0
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0x8a0]
call fcn.100049b0
mov dword [ebp - 0x394], eax
mov edx, dword [ebp - 0x384]
mov eax, dword [edx]
push eax
mov eax, dword [0x1010e228]
mov ecx, dword [eax + 8]
mov byte [ebp - 4], 0x4d
call ecx
fstp qword [ebp - 0x3a4]
mov edx, dword [ebp - 0x394]
mov eax, dword [edx]
push eax
mov eax, dword [0x1010e228]
mov ecx, dword [eax + 8]
call ecx
fsubr qword [ebp - 0x3a4]
add esp, 8
call fcn.100a3160
lea ecx, [ebp - 0x8a0]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x4c
call fcn.1009dac0
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x4b
call fcn.1009dac0
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 0x4a
call fcn.1009dac0
lea ecx, [ebp - 0x78c]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [ebp - 0x3c4]
mov edx, dword [0x1010e118]
push eax
add edx, 0x1c
push 0
mov ecx, ebx
mov dword [ebp - 0x374], edx
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x374]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.Width
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x384]
add esp, 0x14
add ecx, 0x1c
push edx
mov dword [ebp - 0x374], ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx]
push eax
call edx
mov ecx, dword [0x1010e118]
add esp, 0xc
add ecx, 0x58
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
push str.Height
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
push str.BitsPerComponent
lea ecx, [ebp - 0x3d0]
call fcn.100a1da0
test al, al
je 0x10051233
push str.BitsPerComponent
lea ecx, [ebp - 0x798]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x4e
call fcn.100049b0
mov eax, dword [eax]
mov edx, dword [0x1010e228]
push eax
mov eax, dword [edx + 8]
mov byte [ebp - 4], 0x4f
call eax
mov ecx, dword [0x1010e118]
add ecx, 0x1c
add esp, 4
mov dword [ebp - 0x374], ecx
call fcn.100a3160
push eax
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.BitsPerComponent
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x4e
call fcn.1009dac0
lea ecx, [ebp - 0x798]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
jmp 0x1005129a
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x37c]
add ecx, 0x1c
push edx
mov dword [ebp - 0x374], ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx]
push eax
call edx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.BitsPerComponent
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
push str.Interpolate
lea ecx, [ebp - 0x3d0]
call fcn.100a1da0
test al, al
je 0x10051373
push str.Interpolate
lea ecx, [ebp - 0x5e4]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0x50
call fcn.10004af0
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 4], 0x52
call fcn.1009dac0
push 1
push str.CosBoolean
lea ecx, [ebp - 0x554]
call fcn.1002fdb0
test eax, eax
je 0x10051364
movzx ecx, byte [eax]
mov edx, dword [0x1010e118]
push ecx
add edx, 0x24
push 0
mov ecx, ebx
mov dword [ebp - 0x3c4], edx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.Interpolate
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
lea ecx, [ebp - 0x5f4]
push ecx
mov ecx, dword [ebp - 0x3d4]
call fcn.1002fff0
push eax
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 0x53
call fcn.100372b0
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov ecx, dword [0x1010ef28]
xor eax, eax
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], eax
lea edx, [ebp - 0x4bc]
push edx
lea eax, [ebp - 0x584]
mov dword [ebp - 0x580], 0x100307e0
mov dword [ebp - 0x584], 0x18
mov edx, dword [ecx + 0x14c]
push eax
call edx
add esp, 8
push str.SMaskInData
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x410], eax
call fcn.100a1da0
test al, al
je 0x100514dc
push str.SMaskInData
lea eax, [ebp - 0x614]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x54
call fcn.100049b0
mov eax, dword [eax]
mov ecx, dword [0x1010e228]
mov edx, dword [ecx + 8]
push eax
mov byte [ebp - 4], 0x55
call edx
mov eax, dword [0x1010e118]
add eax, 0x1c
add esp, 4
mov dword [ebp - 0x374], eax
call fcn.100a3160
push eax
push 0
mov ecx, ebx
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x374]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.SMaskInData
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
add esp, 0x14
lea ecx, [ebp - 0x604]
mov byte [ebp - 4], 0x54
call fcn.1009dac0
lea ecx, [ebp - 0x614]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
cmp byte [ebp - 0x380], 0
je 0x100515ad
lea ecx, [ebp - 0x624]
push ecx
mov ecx, dword [ebp - 0x3d4]
call fcn.10025420
mov edx, dword [ebp - 0x390]
push edx
lea ecx, [ebp - 0x11c]
push ecx
push eax
lea edx, [ebp - 0x4ec]
push edx
mov ecx, ebx
mov byte [ebp - 4], 0x56
call fcn.1003b860
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x57
call fcn.10036060
lea ecx, [ebp - 0x4ec]
mov byte [ebp - 4], 0x56
call fcn.10030df0
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [0x1010e118]
push 1
add eax, 0x24
push 0
mov ecx, ebx
mov dword [ebp - 0x3c4], eax
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x3c4]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [0x1010e118]
add esp, 0xc
push edx
mov edx, dword [0x1010e108]
push eax
mov eax, dword [edx + 0x14]
add ecx, 0x58
push str.ImageMask
mov dword [ebp - 0x374], ecx
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
jmp 0x10051745
push str.ColorSpace
lea ecx, [ebp - 0x3d0]
call fcn.100a1da0
test al, al
je 0x1005163f
push str.ColorSpace
lea ecx, [ebp - 0x644]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push eax
lea edx, [ebp - 0x634]
push edx
mov byte [ebp - 4], 0x58
call fcn.100368a0
add esp, 8
mov ecx, dword [ebx + 0x5c]
push eax
lea eax, [ebp - 0x50c]
push eax
mov byte [ebp - 4], 0x59
call fcn.10062bd0
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x5a
call fcn.10036060
lea ecx, [ebp - 0x50c]
mov byte [ebp - 4], 0x59
call fcn.10030df0
lea ecx, [ebp - 0x634]
mov byte [ebp - 4], 0x58
call fcn.1009dac0
lea ecx, [ebp - 0x644]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
jmp 0x10051681
cmp byte [ebp - 0x3b5], 0
jne 0x10051748
lea ecx, [ebp - 0x3ac]
push ecx
mov ecx, dword [ebx + 0x5c]
lea edx, [ebp - 0x4f4]
push edx
call fcn.10062bd0
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x5b
call fcn.10036060
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x18
call fcn.10030df0
mov ecx, dword [ebp - 0x398]
mov edx, dword [0x1010e128]
lea eax, [ebp - 0x43c]
push eax
mov eax, dword [edx + 0xb4]
push ecx
call eax
mov ecx, dword [ebp - 0x438]
mov edx, dword [ebp - 0x43c]
mov eax, dword [0x1010e118]
push ecx
mov ecx, dword [eax + 8]
push edx
call ecx
add esp, 0x10
cmp eax, 7
jne 0x10051705
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x43c]
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0xc]
push eax
call edx
add esp, 8
test ax, ax
je 0x10051705
mov eax, dword [ebp - 0x398]
push eax
lea ecx, [ebp - 0x8e4]
push ecx
mov ecx, dword [ebx + 0x5c]
call fcn.1005a740
mov edx, dword [eax]
mov dword [ebp - 0x43c], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x438], eax
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x43c]
add ecx, 0x58
push edx
mov dword [ebp - 0x374], ecx
mov ecx, dword [0x1010e108]
mov edx, dword [ecx + 0x14]
push eax
push str.ColorSpace
call edx
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx]
add esp, 4
movzx eax, ax
push eax
push edi
push esi
call edx
add esp, 0x14
cmp byte [ebp - 0x375], 0
je 0x1005193a
push str.Decode
lea ecx, [ebp - 0x3d0]
call fcn.100a1da0
test al, al
je 0x10051aed
push str.Decode
lea eax, [ebp - 0x654]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.100a23c0
push 0
push eax
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x5c
call fcn.10004c10
lea ecx, [ebp - 0x654]
mov byte [ebp - 4], 0x5e
call fcn.1009dac0
mov ecx, dword [ebp - 0x498]
mov edx, dword [0x1010e23c]
mov eax, dword [edx + 0xc]
push ecx
call eax
mov ecx, dword [0x1010e118]
add esp, 4
add ecx, 0x30
push eax
mov dword [ebp - 0x37c], ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
push edx
call ecx
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x1010e23c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3a0], edx
mov edx, dword [ebp - 0x498]
push edx
mov dword [ebp - 0x37c], 0
call ecx
add esp, 0x10
test eax, eax
je 0x100518e5
mov edx, dword [ebp - 0x37c]
push edx
lea eax, [ebp - 0x674]
push eax
lea ecx, [ebp - 0x498]
call fcn.100232f0
push 0
push eax
lea ecx, [ebp - 0x664]
mov byte [ebp - 4], 0x5f
call fcn.100049b0
mov eax, dword [eax]
mov ecx, dword [0x1010e228]
mov edx, dword [ecx + 8]
push eax
mov byte [ebp - 4], 0x60
call edx
mov eax, dword [0x1010e118]
push ecx
fstp qword [esp]
add eax, 0x1a0
push 0
mov ecx, ebx
mov dword [ebp - 0x374], eax
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x374]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [ebp - 0x37c]
push edx
mov edx, dword [ebp - 0x3a0]
push eax
mov eax, dword [ebp - 0x3a4]
push ecx
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0x68]
push eax
call edx
add esp, 0x24
lea ecx, [ebp - 0x664]
mov byte [ebp - 4], 0x5f
call fcn.1009dac0
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 0x5e
call fcn.1009dac0
mov eax, dword [ebp - 0x498]
mov ecx, dword [0x1010e23c]
mov edx, dword [ecx + 0xc]
inc dword [ebp - 0x37c]
push eax
call edx
add esp, 4
cmp dword [ebp - 0x37c], eax
jb 0x10051813
mov eax, dword [0x1010e118]
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x3a4]
add eax, 0x58
push ecx
mov dword [ebp - 0x374], eax
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 0x14]
push edx
push str.Decode
call ecx
movzx edx, ax
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
add esp, 4
push edx
push edi
push esi
call ecx
add esp, 0x14
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
jmp 0x10051aed
cmp dword [ebp - 0x3f8], 0
je 0x10051aed
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [eax + 4]
push edx
call ecx
mov edx, dword [0x1010e118]
add esp, 4
add eax, eax
push eax
add edx, 0x30
push 0
mov ecx, ebx
mov dword [ebp - 0x37c], edx
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x3a0], edx
mov edx, dword [ebp - 0x3a8]
mov dword [ebp - 0x3a4], eax
mov eax, dword [edx + 4]
push ecx
mov dword [ebp - 0x37c], 0
call eax
add esp, 0x10
test eax, eax
je 0x10051aac
jmp 0x100519c0
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x37c]
fld dword [edx + eax*8]
add ecx, 0x1a0
sub esp, 8
fstp qword [esp]
mov dword [ebp - 0x374], ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x374]
mov eax, dword [edx]
push ecx
call eax
mov ecx, dword [ebp - 0x37c]
push edx
mov edx, dword [ebp - 0x3a4]
push eax
mov eax, dword [0x1010e118]
add ecx, ecx
push ecx
mov ecx, dword [ebp - 0x3a0]
push ecx
mov ecx, dword [eax + 0x68]
push edx
call ecx
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x37c]
fld dword [eax + ecx*8 + 4]
mov edx, dword [0x1010e118]
add esp, 0x1c
fstp qword [esp]
add edx, 0x1a0
push 0
mov ecx, ebx
mov dword [ebp - 0x374], edx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
push edx
call ecx
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ebp - 0x3a0]
push eax
mov eax, dword [ebp - 0x37c]
add eax, eax
inc eax
push eax
mov eax, dword [ebp - 0x3a4]
push edx
mov edx, dword [ecx + 0x68]
push eax
call edx
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ecx + 4]
inc dword [ebp - 0x37c]
push eax
call edx
add esp, 0x28
cmp dword [ebp - 0x37c], eax
jb 0x100519c0
mov eax, dword [0x1010e118]
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x3a4]
add eax, 0x58
push ecx
mov dword [ebp - 0x374], eax
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 0x14]
push edx
push str.Decode
call ecx
movzx edx, ax
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
add esp, 4
push edx
push edi
push esi
call ecx
add esp, 0x14
push str.Filter
lea edx, [ebp - 0x684]
push edx
lea ecx, [ebp - 0x40c]
call fcn.100a23c0
mov dword [ebp - 0x384], eax
push eax
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 0x61
call fcn.1009e3b0
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4b0], ecx
mov byte [ebp - 4], 0x62
call fcn.100a1cc0
mov dword [0x1010e23c], eax
test eax, eax
je 0x10051b4e
mov edx, dword [ebp - 0x4b4]
mov eax, dword [eax + 4]
push edx
call eax
add esp, 4
test eax, eax
jne 0x10051b58
push str.downcast_from_CPOSObject_to_CPOSArray_failed
call fcn.10001060
lea ecx, [ebp - 0x4b4]
push ecx
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 0x63
call fcn.10019a20
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 4], 0x61
call fcn.1009dac0
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
push str.DecodeParms
lea edx, [ebp - 0x694]
push edx
lea ecx, [ebp - 0x40c]
call fcn.100a23c0
mov dword [ebp - 0x384], eax
push eax
lea ecx, [ebp - 0x4cc]
mov byte [ebp - 4], 0x64
call fcn.1009e3b0
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4c8], ecx
mov byte [ebp - 4], 0x65
call fcn.100a1cc0
mov dword [0x1010e23c], eax
test eax, eax
je 0x10051bed
mov edx, dword [ebp - 0x4cc]
mov eax, dword [eax + 4]
push edx
call eax
add esp, 4
test eax, eax
jne 0x10051bf7
push str.downcast_from_CPOSObject_to_CPOSArray_failed
call fcn.10001060
lea ecx, [ebp - 0x4cc]
push ecx
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x66
call fcn.10019a20
lea ecx, [ebp - 0x4cc]
mov byte [ebp - 4], 0x64
call fcn.1009dac0
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov edx, dword [ebp - 0x41c]
mov eax, dword [0x1010e23c]
mov ecx, dword [eax + 0xc]
push edx
call ecx
mov edx, dword [0x1010e118]
add esp, 4
push eax
add edx, 0x30
push 0
mov ecx, ebx
mov dword [ebp - 0x37c], edx
call fcn.1002df80
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx]
push eax
call edx
mov ecx, dword [0x1010e23c]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], edx
mov edx, dword [ecx + 0xc]
push eax
call edx
mov ecx, dword [0x1010e118]
add esp, 0x10
add ecx, 0x30
push eax
mov dword [ebp - 0x37c], ecx
push 0
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
push edx
call ecx
mov dword [ebp - 0x3a4], eax
mov eax, dword [0x1010e23c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3a0], edx
mov edx, dword [ebp - 0x41c]
push edx
mov dword [ebp - 0x374], 0
call ecx
add esp, 0x10
test eax, eax
je 0x10051f2c
mov edx, dword [ebp - 0x374]
push edx
lea eax, [ebp - 0x6a4]
push eax
lea ecx, [ebp - 0x41c]
call fcn.100232f0
mov dword [ebp - 0x384], eax
push eax
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0x67
call fcn.1009e3b0
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4c0], edx
mov byte [ebp - 4], 0x68
call fcn.100a1bc0
mov dword [0x1010e22c], eax
test eax, eax
je 0x100520ec
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [eax + 4]
push ecx
call edx
add esp, 4
test eax, eax
je 0x100520ec
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [0x1010e22c]
mov edx, dword [ecx + 8]
push eax
mov byte [ebp - 4], 0x69
call edx
add esp, 4
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x394], eax
mov byte [ebp - 4], 0x67
call fcn.1009dac0
lea ecx, [ebp - 0x6a4]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
cmp dword [ebx + 0x5c], 0
je 0x100520f6
mov eax, dword [ebx + 0x5c]
add eax, 0x118
je 0x100520f6
mov eax, dword [ebx + 0x5c]
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x394]
add eax, 0x118
add ecx, 0x28
mov dword [ebp - 0x384], eax
mov eax, dword [0x1010e108]
mov dword [ebp - 0x3bc], ecx
mov ecx, dword [eax + 0x14]
push edx
call ecx
movzx edx, ax
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 4]
push edx
mov edx, dword [ebp - 0x3bc]
mov eax, dword [edx]
push 0
push ecx
call eax
mov ecx, dword [ebp - 0x374]
push edx
mov edx, dword [ebp - 0x3f8]
push eax
mov eax, dword [ebp - 0x3fc]
push ecx
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0x68]
push eax
call edx
mov eax, dword [ebp - 0x374]
add esp, 0x24
push 1
push eax
lea ecx, [ebp - 0x6b4]
push ecx
lea ecx, [ebp - 0x484]
call fcn.10001de0
cmp dword [eax], 0
lea ecx, [ebp - 0x6b4]
setne byte [ebp - 0x375]
call fcn.1009dac0
cmp byte [ebp - 0x375], 0
je 0x10051ed6
mov edx, dword [ebx + 0x5c]
push edx
mov ecx, ebx
call fcn.1002df80
mov ecx, dword [ebp - 0x374]
mov eax, dword [eax + 4]
push ecx
lea edx, [ebp - 0x6c4]
push edx
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x384], eax
call fcn.100232f0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x8a4], esp
push 0
push eax
mov byte [ebp - 4], 0x6a
call fcn.10004cb0
mov eax, dword [ebp - 0x394]
mov ecx, dword [ebp - 0x384]
push eax
call fcn.10037ba0
mov ecx, dword [ebp - 0x374]
push edx
mov edx, dword [ebp - 0x3a0]
push eax
mov eax, dword [ebp - 0x3a4]
push ecx
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0x68]
push eax
call edx
add esp, 0x24
lea ecx, [ebp - 0x6c4]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
jmp 0x10051f05
mov eax, dword [0x1010e118]
mov ecx, dword [eax + 0x18]
call ecx
mov ecx, dword [ebp - 0x3a4]
push edx
mov edx, dword [ebp - 0x374]
push eax
mov eax, dword [ebp - 0x3a0]
push edx
mov edx, dword [0x1010e118]
push eax
mov eax, dword [edx + 0x68]
push ecx
call eax
add esp, 0x14
mov ecx, dword [ebp - 0x41c]
mov edx, dword [0x1010e23c]
mov eax, dword [edx + 0xc]
inc dword [ebp - 0x374]
push ecx
call eax
add esp, 4
cmp dword [ebp - 0x374], eax
jb 0x10051ce0
mov edx, dword [0x1010e118]
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x3fc]
add edx, 0x58
push eax
mov dword [ebp - 0x374], edx
mov edx, dword [0x1010e108]
mov eax, dword [edx + 0x14]
push ecx
push str.Filter
call eax
mov edx, dword [ebp - 0x374]
movzx ecx, ax
mov eax, dword [edx]
add esp, 4
push ecx
push edi
push esi
call eax
mov ecx, dword [0x1010e118]
mov edx, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a4]
add esp, 0x14
add ecx, 0x58
push edx
mov dword [ebp - 0x374], ecx
mov ecx, dword [0x1010e108]
mov edx, dword [ecx + 0x14]
push eax
push str.DecodeParms
call edx
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx]
movzx eax, ax
add esp, 4
push eax
push edi
push esi
call edx
add esp, 0xc
lea eax, [ebx + 0x120]
mov ecx, esp
mov dword [ebp - 0x3a0], esp
push eax
mov dword [ebp - 0x384], ecx
call fcn.1009e3b0
mov eax, dword [ebx + 0x124]
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 4], eax
push edi
push esi
mov ecx, ebx
mov byte [ebp - 4], 0x6b
call fcn.1002df80
mov edx, dword [eax + 4]
push edx
mov byte [ebp - 4], 0x18
call fcn.10033bc0
mov eax, dword [0x1010e118]
mov ecx, dword [eax + 0x18]
add esp, 0x14
call ecx
mov ecx, dword [0x1010e118]
push 0xffffffffffffffff
push edx
push eax
push edi
push esi
mov esi, dword [ebp - 0x410]
push 0
push 0xffffffffffffffff
add ecx, 0x38
push esi
mov dword [ebp - 0x384], ecx
push 1
mov ecx, ebx
call fcn.1002df80
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x384]
push edx
mov ecx, dword [eax]
call ecx
mov dword [ebp - 0x478], edx
mov edx, dword [0x1010ef28]
mov dword [ebp - 0x47c], eax
mov eax, dword [edx + 0xb4]
push esi
call eax
add esp, 0x2c
cmp byte [ebx + 0x3a], 0
mov dword [ebp - 0x410], 0
je 0x100520a5
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x3d4]
mov eax, dword [eax]
push ecx
push edx
sub esp, 8
mov esi, esp
mov dword [ebp - 0x8a8], esp
push 0
push eax
mov ecx, esi
call fcn.1009b0d0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 0x5c]
call fcn.10032790
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.10072ac0
cmp byte [ebp - 0x380], 0
je 0x10052122
mov edx, dword [ebp - 0x398]
lea ecx, [ebp - 0x11c]
push ecx
push edx
mov edx, dword [0x1010e130]
lea eax, [ebp - 0x200]
push eax
mov eax, dword [edx + 0x280]
lea ecx, [ebp - 0x47c]
push ecx
call eax
jmp 0x10052141
push str.downcast_from_CPOSObject_to_CPOSString_failed
call fcn.10001060
push 0
push 0
push 0
push 0x100c8900
push str.PDFPort_error
lea ecx, [ebp - 0x904]
call fcn.1009d960
push 0x100eeddc
lea ecx, [ebp - 0x904]
push ecx
call fcn.100a2c75
mov eax, dword [0x1010e130]
push 0
push 0
lea ecx, [ebp - 0x200]
push ecx
mov ecx, dword [eax + 0x280]
lea edx, [ebp - 0x47c]
push edx
call ecx
mov dword [ebp - 0x38c], eax
mov edx, dword [ebp - 0x38c]
add esp, 0x10
test edx, edx
jne 0x10050881
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [0x1010e108]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
push 0x100f0edc
lea eax, [ebp - 0x520]
push eax
mov dword [ebp - 0x520], 0
call fcn.100a2c75
cmp byte [ebp - 0x3ec], 0
mov dword [ebp - 0x380], 0
je 0x100521c7
mov ecx, dword [ebp - 0x37c]
push ecx
sub esp, 8
lea edx, [ebp - 0x46c]
mov ecx, esp
mov dword [ebp - 0x708], esp
push edx
call fcn.10001b00
call fcn.10058560
add esp, 0xc
mov dword [ebp - 0x380], eax
cmp byte [ebp - 0x375], 0
jne 0x1005254f
cmp dword [ebp - 0x3c0], 1
jle 0x10052262
cmp dword [ebp - 0x394], 8
jle 0x10052262
mov eax, dword [ebp - 0x3bc]
imul eax, dword [ebp - 0x374]
cmp eax, 0x100
jle 0x10052262
cmp byte [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x380]
jne 0x10052245
push 0
lea ecx, [ebp - 0x500]
push ecx
mov ecx, ebx
call fcn.1002df80
push eax
mov eax, dword [ebp - 0x37c]
lea edx, [ebp - 0x3ac]
push edx
push 0
push eax
mov ecx, edx
call fcn.100252a0
mov ecx, dword [ebp - 0x390]
push eax
push ecx
call fcn.10058c00
add esp, 0x20
cmp eax, 4
jl 0x1005224f
cmp eax, 8
jle 0x10052257
add eax, 0xffffffe9
cmp eax, 4
ja 0x10052262
push 0
push 3
mov ecx, edi
call fcn.1002fe30
cmp byte [ebp - 0x375], 0
jne 0x1005254f
mov ecx, dword [ebp - 0x3c0]
cmp ecx, 1
jle 0x1005254f
mov eax, dword [ebp - 0x394]
cdq
idiv ecx
cmp eax, 8
jne 0x1005254f
mov eax, dword [ebp - 0x3bc]
imul eax, dword [ebp - 0x374]
cmp eax, 0x100
jle 0x1005254f
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [eax]
push edx
call ecx
add esp, 4
cmp eax, 3
je 0x1005254f
push 0
lea edx, [ebp - 0x4ac]
push edx
mov ecx, edi
call fcn.10037330
test al, al
je 0x1005254f
mov ecx, edi
call fcn.1002fe20
test eax, eax
jne 0x1005254f
or dword [ebp - 0x94], 0x10
push 0x7c
call fcn.100328c0
add esp, 4
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x6c
test eax, eax
je 0x10052329
mov edx, dword [ebp - 0x390]
lea ecx, [ebp - 0x4ac]
push ecx
push edx
push edi
mov ecx, eax
call fcn.10026a00
mov dword [ebp - 0x394], eax
jmp 0x10052333
mov dword [ebp - 0x394], 0
mov eax, dword [ebp - 0x394]
push eax
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x4fc], 0
call fcn.10030e50
lea ecx, [ebp - 0x4fc]
call fcn.1002f520
lea ecx, [ebp - 0x6d4]
push ecx
mov ecx, dword [ebp - 0x394]
call fcn.10032810
push eax
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x6d
call fcn.10026410
lea ecx, [ebp - 0x6d4]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov edx, dword [ebp - 0x390]
push edx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x514]
push edx
mov ecx, ebx
call fcn.1003b860
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x6e
call fcn.10036060
lea ecx, [ebp - 0x514]
mov byte [ebp - 4], 0x18
call fcn.10030df0
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x3ec]
push eax
push ecx
sub esp, 8
lea edx, [ebp - 0x48c]
mov ecx, esp
mov dword [ebp - 0x780], esp
push edx
call fcn.100253e0
mov eax, dword [ebp - 0x3c4]
push 0
push eax
sub esp, 0xc
lea edx, [ebx + 0x128]
mov ecx, esp
mov dword [ebp - 0x790], esp
push edx
mov byte [ebp - 4], 0x6f
call fcn.10030310
mov ecx, ebx
mov byte [ebp - 4], 0x70
call fcn.1002df80
mov ecx, dword [ebp - 0x37c]
push eax
mov eax, dword [ebp - 0x390]
push eax
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x404]
push eax
mov byte [ebp - 4], 0x18
call fcn.10059a40
fld qword [0x100c9cf8]
or dword [ebp - 0x94], 8
fstp qword [ebp - 0x6e4]
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x84], 0
push ecx
call fcn.1002d920
add esp, 0x3c
lea edx, [ebp - 0x340]
push edx
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x80], eax
call fcn.10072ac0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x82c], esp
push edi
call fcn.100253e0
sub esp, 8
add ebx, 0x120
mov ecx, esp
mov dword [ebp - 0x7c0], esp
push ebx
mov byte [ebp - 4], 0x71
call fcn.10001b00
mov ecx, dword [ebp - 0x3c8]
push 0
push 0
mov byte [ebp - 4], 0x72
call fcn.10025340
push eax
mov eax, dword [ebp - 0x39c]
mov edx, dword [ebp - 0x398]
push eax
neg esi
sbb esi, esi
lea ecx, [ebp - 0x11c]
and esi, ecx
push esi
push edx
push 0
lea eax, [ebp - 0x340]
push eax
push 0x34
lea ecx, [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp - 4], 0x18
call fcn.10033df0
mov dword [ebp - 0x38c], eax
mov edx, dword [ebp - 0x38c]
test edx, edx
jne 0x10050881
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [0x1010e108]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
push 0x100f0edc
lea eax, [ebp - 0x4d4]
push eax
mov dword [ebp - 0x4d4], 0
call fcn.100a2c75
lea ecx, [ebp - 0x6f4]
push ecx
mov ecx, edi
call fcn.10025420
mov edx, dword [ebp - 0x390]
push edx
lea ecx, [ebp - 0x11c]
push ecx
push eax
lea edx, [ebp - 0x4d0]
push edx
mov ecx, ebx
mov byte [ebp - 4], 0x73
call fcn.1003b860
push eax
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x74
call fcn.10036060
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x73
call fcn.10030df0
lea ecx, [ebp - 0x6f4]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x3ec]
push eax
push ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x75c], esp
push edi
call fcn.100253e0
mov edx, dword [ebp - 0x3c4]
push 0
push edx
sub esp, 0xc
lea eax, [ebx + 0x128]
mov ecx, esp
mov dword [ebp - 0x768], esp
push eax
mov byte [ebp - 4], 0x75
call fcn.10030310
mov ecx, ebx
mov byte [ebp - 4], 0x76
call fcn.1002df80
mov ecx, dword [ebp - 0x390]
mov edx, dword [ebp - 0x37c]
push eax
push ecx
push edx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x3ac]
push ecx
mov byte [ebp - 4], 0x18
call fcn.10059a40
push 0x50
mov dword [ebp - 0x39c], eax
call fcn.100328c0
add esp, 0x3c
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x77
test eax, eax
je 0x1005264e
mov edx, dword [ebp - 0x390]
push 0
push edx
push edi
mov ecx, eax
call fcn.10026490
jmp 0x10052650
xor eax, eax
push eax
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x4e8], 0
call fcn.10030e50
lea ecx, [ebp - 0x4e8]
call fcn.1002f520
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.10072ac0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x784], esp
push edi
call fcn.100253e0
sub esp, 8
add ebx, 0x120
mov ecx, esp
mov dword [ebp - 0x79c], esp
push ebx
mov byte [ebp - 4], 0x78
call fcn.10001b00
mov ecx, dword [ebp - 0x3c8]
push 0
push 0
mov byte [ebp - 4], 0x79
call fcn.10025340
mov ecx, dword [ebp - 0x39c]
push eax
mov eax, dword [ebp - 0x398]
push ecx
neg esi
sbb esi, esi
lea edx, [ebp - 0x11c]
and esi, edx
push esi
push eax
push 0
lea ecx, [ebp - 0x280]
push ecx
mov ecx, dword [ebp - 0x3b4]
push 0x34
lea edx, [ebp - 0x94]
push edx
mov byte [ebp - 4], 0x18
call fcn.10033df0
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
test eax, eax
jne 0x10050881
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [0x1010e108]
mov eax, dword [edx + 4]
push ecx
call eax
add esp, 4
push 0x100f0edc
lea ecx, [ebp - 0x4f0]
push ecx
mov dword [ebp - 0x4f0], 0
call fcn.100a2c75
mov edx, dword [ebp - 0x38c]
mov eax, dword [0x1010e128]
mov eax, dword [eax + 0x84]
lea ecx, [ebp - 0x54c]
push ecx
push edx
call eax
mov edx, dword [edi + 0xd8]
mov eax, dword [0x1010e128]
lea ecx, [ebp - 0x56c]
push ecx
mov ecx, dword [eax + 0x84]
push edx
call ecx
mov edx, dword [ebp - 0x548]
mov eax, dword [ebp - 0x54c]
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0x7c]
push eax
call edx
mov ecx, dword [ebp - 0x56c]
mov ebx, dword [0x1010e118]
mov esi, eax
mov eax, dword [ebp - 0x568]
add esp, 0x18
push eax
mov edi, edx
mov edx, dword [0x1010e108]
mov eax, dword [edx + 0x14]
push ecx
push 0x100cad18
call eax
mov edx, dword [ebx + 0x58]
movzx ecx, ax
add esp, 4
push ecx
push edi
push esi
call edx
add esp, 0x14
mov eax, dword [ebp - 0x3d4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x394], eax
test eax, eax
je 0x10052970
mov edx, dword [ebp - 0x38c]
mov eax, dword [0x1010e128]
mov eax, dword [eax + 0x84]
lea ecx, [ebp - 0x42c]
push ecx
push edx
call eax
mov ebx, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x428]
mov eax, dword [0x1010e118]
add esp, 8
lea ecx, [ebx + ebx]
push ecx
mov ecx, dword [ebp - 0x42c]
push 1
push edx
mov edx, dword [eax + 0x14]
push ecx
lea esi, [eax + 0x30]
call edx
add esp, 8
push eax
mov eax, dword [esi]
call eax
add esp, 0xc
xor esi, esi
mov edi, eax
mov dword [ebp - 0x384], edx
test ebx, ebx
jle 0x10052914
jmp 0x10052860
mov ecx, dword [ebp - 0x394]
mov edx, dword [ecx]
movzx ecx, byte [esi + edx]
mov edx, dword [ebp - 0x428]
mov eax, dword [0x1010e118]
push ecx
mov ecx, dword [ebp - 0x42c]
push 0
push edx
mov edx, dword [eax + 0x14]
push ecx
lea ebx, [eax + 0x1c]
call edx
add esp, 8
push eax
mov eax, dword [ebx]
call eax
mov ecx, dword [ebp - 0x384]
push edx
mov edx, dword [0x1010e118]
push eax
mov eax, dword [edx + 0x68]
lea ebx, [esi + esi]
push ebx
push ecx
push edi
call eax
mov eax, dword [0x1010e118]
mov edx, dword [ebp - 0x394]
lea ecx, [eax + 0x1c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x374], ecx
mov ecx, dword [edx + 4]
movzx edx, byte [ecx + esi]
mov ecx, dword [ebp - 0x428]
add esp, 0x20
push edx
mov edx, dword [ebp - 0x42c]
push 0
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx]
add esp, 8
push eax
call edx
mov ecx, dword [0x1010e118]
push edx
mov edx, dword [ecx + 0x68]
push eax
mov eax, dword [ebp - 0x384]
inc ebx
push ebx
push eax
push edi
call edx
inc esi
add esp, 0x20
cmp esi, dword [ebp - 0x3c0]
jl 0x10052860
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x42c]
mov edx, dword [0x1010e118]
push eax
mov eax, dword [edx + 0x7c]
push ecx
call eax
mov ecx, dword [0x1010e118]
add esp, 8
mov ebx, edx
mov edx, dword [ebp - 0x384]
push edx
add ecx, 0x58
mov esi, eax
mov eax, dword [0x1010e108]
mov dword [ebp - 0x374], ecx
mov ecx, dword [eax + 0x14]
push edi
push 0x100cad18
call ecx
movzx edx, ax
mov eax, dword [ebp - 0x374]
mov ecx, dword [eax]
add esp, 4
push edx
push ebx
push esi
call ecx
add esp, 0x14
mov esi, dword [ebp - 0x4f8]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x44]
call eax
mov edx, dword [ebp - 0x38c]
mov ecx, dword [0x1010e130]
push 0xbc
push eax
mov eax, dword [ecx + 0x14]
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x70]
add esp, 0xc
call eax
mov dword [ebp - 0x3c0], eax
test eax, eax
je 0x10052cd5
mov edx, dword [0x1010e128]
mov ecx, eax
mov eax, dword [edx + 0x88]
push ecx
call eax
add esp, 4
cmp eax, 1
jne 0x10052cd5
mov ecx, dword [ebp - 0x3c0]
mov edx, dword [0x1010e128]
mov eax, dword [edx + 0x8c]
push 0
push ecx
call eax
mov ecx, dword [0x1010e128]
mov edx, dword [ecx + 0xc8]
mov ebx, eax
push ebx
call edx
add esp, 0xc
cmp eax, 2
jne 0x10052cd5
mov eax, dword [0x1010e128]
mov ecx, dword [eax + 0x5c]
push 0
push 0
push ebx
call ecx
push 0
push 0
shr eax, 2
push 0
lea esi, [eax*4]
push 0
push esi
call fcn.1009ee60
push eax
mov dword [ebp - 0x53c], eax
call dword [0x1010db90]
mov edi, eax
mov dword [ebp - 0x538], edi
mov dword [ebp - 0x534], esi
mov edx, dword [0x1010e128]
mov eax, dword [edx + 0x5c]
push esi
push edi
push ebx
mov byte [ebp - 4], 0x7a
call eax
add esp, 0x30
cmp dword [edi], 5
jne 0x10052cb8
cmp esi, 0x14
jne 0x10052cb8
mov edx, dword [0x1010e128]
mov eax, dword [edx + 0x274]
lea ecx, [ebp - 0x2b0]
push ecx
push ebx
call eax
add esp, 8
lea ecx, [ebp - 0xf8]
push ecx
lea edx, [ebp - 0x2b0]
push edx
lea ecx, [ebp - 0xa44]
call fcn.10072a30
mov ecx, eax
call fcn.10072a90
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x5d0], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x5cc], edx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x5c4], ecx
lea ecx, [ebp - 0x5d4]
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c0], edx
call fcn.1002fa00
test al, al
je 0x10052cb8
mov edx, dword [ebp - 0x38c]
mov eax, dword [0x1010e128]
mov eax, dword [eax + 0x274]
lea ecx, [ebp - 0x14c]
push ecx
push edx
call eax
mov esi, dword [ebp - 0x538]
fild dword [esi + 0xc]
add esp, 8
fld qword [0x100c9f80]
fmul st(1), st(0)
fldz
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x10052bfe
fild dword [esi + 0x10]
fmul st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10052bfc
fld st(3)
fadd qword [ebp - 0x14c]
fabs
fld qword [0x100cad10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x10052ca6
fld st(1)
fadd qword [ebp - 0x134]
fabs
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10052ca6
fild dword [esi + 4]
fmul st(4)
fsubr qword [ebp - 0x12c]
fsubrp st(5)
fxch st(4)
fabs
fcomp st(4)
fnstsw ax
test ah, 0x41
jp 0x10052cb0
fild dword [esi + 8]
fmulp st(3)
fld qword [ebp - 0x124]
fsubrp st(3)
fsubp st(2)
fxch st(1)
fabs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x10052cb6
fld qword [ebp - 0x144]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x10052cb6
fld qword [ebp - 0x13c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10052cb8
mov dword [ebp - 0x3c0], 0
jmp 0x10052cb8
fstp st(2)
fstp st(1)
sub esp, 0x10
fstp st(0)
fstp qword [esp + 8]
fld qword [ebp - 0x14c]
fstp qword [esp]
call fcn.1002e570
add esp, 0x10
test al, al
je 0x10052cb8
fild dword [esi + 0x10]
sub esp, 0x10
fmul qword [0x100c9f80]
fstp qword [esp + 8]
fld qword [ebp - 0x134]
fstp qword [esp]
call fcn.1002e570
add esp, 0x10
test al, al
je 0x10052cb8
fild dword [esi + 4]
sub esp, 0x10
fmul qword [0x100c9f80]
fstp qword [esp + 8]
fld qword [ebp - 0x12c]
fstp qword [esp]
call fcn.1002e570
add esp, 0x10
test al, al
je 0x10052cb8
fild dword [esi + 8]
sub esp, 0x10
fmul qword [0x100c9f80]
fstp qword [esp + 8]
fld qword [ebp - 0x124]
fstp qword [esp]
call fcn.1002e570
add esp, 0x10
test al, al
je 0x10052cb8
fld qword [ebp - 0x144]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
jmp 0x10052bd1
fstp st(0)
fstp st(2)
fstp st(2)
fstp st(0)
jmp 0x10052cb6
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(0)
mov ecx, dword [ebp - 0x53c]
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x10052cd5
mov eax, dword [0x1010db8c]
test eax, eax
je 0x10052cd5
push ecx
call eax
add esp, 4
mov ecx, dword [ebp - 0x3c0]
xor esi, esi
cmp ecx, esi
je 0x10052cf6
mov eax, dword [0x1010e130]
push ecx
mov ecx, dword [ebp - 0x38c]
mov edx, dword [eax + 0x1c]
push ecx
call edx
add esp, 8
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x38c], esi
mov ecx, dword [ebp - 0x39c]
test ecx, ecx
je 0x10052d27
mov edx, dword [ebp - 0x39c]
push edx
call fcn.100a4601
add esp, 4
mov dword [ebp - 0x39c], esi
mov esi, dword [ebp - 0x3b4]
mov ecx, esi
call fcn.1002ed10
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 0xc]
call ecx
jmp 0x10052e70
push esi
push esi
push esi
push 0x100c8900
push str.PDFPort_error
lea ecx, [ebp - 0x8f4]
call fcn.1009d960
push 0x100eeddc
lea edx, [ebp - 0x8f4]
push edx
call fcn.100a2c75
mov eax, dword [0x1010e108]
mov ecx, dword [eax + 0xc]
call ecx
mov edx, dword [0x1010e108]
mov eax, dword [edx + 0x10]
call eax
push str.PDFGraphicsPort::image_error.
lea ecx, [ebp - 0x58c]
call fcn.10001bf0
lea ecx, [ebp - 0x544]
call fcn.1009d630
mov ecx, dword [ebp - 0x3b4]
mov edx, dword [ecx + 0x128]
mov edx, dword [edx + 0x1c]
lea eax, [ebp - 0x544]
push eax
add ecx, 0x128
push esi
lea eax, [ebp - 0x58c]
push eax
mov byte [ebp - 4], 0x7c
call edx
lea ecx, [ebp - 0x544]
mov byte [ebp - 4], 0x7b
call fcn.1009dac0
lea ecx, [ebp - 0x58c]
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov eax, dword [ebp - 0x39c]
test eax, eax
je 0x10052dfd
mov ecx, dword [ebp - 0x39c]
push ecx
call fcn.100a4601
add esp, 4
mov eax, dword [ebp - 0x410]
cmp eax, esi
je 0x10052e19
mov edx, dword [0x1010ef28]
push eax
mov eax, dword [edx + 0xb4]
call eax
add esp, 4
mov ecx, dword [ebp - 0x3d8]
test ecx, ecx
je 0x10052e40
mov edx, dword [ebp - 0x3d8]
mov eax, dword [0x1010e128]
mov eax, dword [eax + 0xd0]
push edx
call eax
add esp, 4
mov dword [ebp - 0x3d8], esi
mov ecx, dword [ebp - 0x38c]
test ecx, ecx
je 0x10052e61
mov edx, dword [ebp - 0x38c]
mov eax, dword [0x1010e128]
mov eax, dword [eax + 0xd0]
push edx
call eax
add esp, 4
mov esi, dword [ebp - 0x3b4]
push 1
mov ecx, esi
call fcn.1002ec30
cmp word [esi + 0xdc], 0
jne 0x10052ed9
lea ecx, [ebp - 0x528]
call fcn.1009d630
lea ecx, [ebp - 0x528]
push ecx
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0x7d
call fcn.1009e3b0
mov eax, dword [ebp - 0x44c]
mov edx, dword [esi + 0x120]
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x44c], edx
mov dword [esi + 0x120], eax
call fcn.1009dac0
mov eax, dword [ebp - 0x524]
lea ecx, [ebp - 0x528]
mov dword [esi + 0x124], eax
mov byte [ebp - 4], 0x18
call fcn.1009dac0
mov esi, dword [ebp - 0x3d8]
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 0x17
call fcn.1009dac0
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x16
call fcn.1009dac0
mov eax, dword [ebp - 0x4a0]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x10052f1d
mov ecx, dword [0x1010e128]
mov edx, dword [ecx + 0xd0]
push eax
call edx
add esp, 4
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x14
call fcn.1009dac0
lea ecx, [ebp - 0x404]
mov byte [ebp - 4], 0x13
call fcn.1009dac0
mov ecx, dword [ebp - 0x4ac]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x10052f58
mov eax, dword [0x1010db8c]
test eax, eax
je 0x10052f58
push ecx
call eax
add esp, 4
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x10
call fcn.1009dac0
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 0xe
call fcn.1009dac0
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 0xd
call fcn.1009dac0
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0xb
call fcn.1009dac0
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 9
call fcn.1009dac0
lea ecx, [ebp - 0x40c]
mov byte [ebp - 4], 7
call fcn.1009dac0
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 6
call fcn.1009dac0
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 5
call fcn.1009dac0
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 4
call fcn.1009dac0
mov eax, dword [ebp - 0x398]
mov byte [ebp - 4], 3
test eax, eax
je 0x10052ffe
push eax
mov eax, dword [0x1010e128]
mov ecx, dword [eax + 0xd0]
call ecx
add esp, 4
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 2
call fcn.1009dac0
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 1
call fcn.1009dac0
mov ecx, dword [ebp - 0x414]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x10053032
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x1005304b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
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 - 0x10]
xor ecx, ebp
call fcn.100a2cc1
mov esp, ebp
pop ebp
ret 0x10