552eb9:	ff 73 08             	push   0x8(%ebx)
552ebc:	6a 59                	push   $0x59
552ebe:	56                   	push   %esi
552ebf:	e8 7c ec fe ff       	call   0x541b40
552ec4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
552ec7:	47                   	inc    %edi
552ec8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
552ecb:	83 c4 14             	add    $0x14,%esp
552ece:	3b f9                	cmp    %ecx,%edi
552ed0:	7c e3                	jl     0x552eb5
552ed2:	8b 55 f0             	mov    -0x10(%ebp),%edx
552ed5:	51                   	push   %ecx
552ed6:	ff 75 e4             	push   -0x1c(%ebp)
552ed9:	8d 41 01             	lea    0x1(%ecx),%eax
552edc:	01 42 2c             	add    %eax,0x2c(%edx)
552edf:	b8 19 00 00 00       	mov    $0x19,%eax
552ee4:	80 7b 35 04          	cmpb   $0x4,0x35(%ebx)
552ee8:	ba 16 00 00 00       	mov    $0x16,%edx
552eed:	6a 00                	push   $0x0
552eef:	ff 73 08             	push   0x8(%ebx)
552ef2:	0f 44 c2             	cmove  %edx,%eax
552ef5:	50                   	push   %eax
552ef6:	56                   	push   %esi
552ef7:	e8 14 ed fe ff       	call   0x541c10
552efc:	ff 73 3c             	push   0x3c(%ebx)
552eff:	8b f8                	mov    %eax,%edi
552f01:	6a 01                	push   $0x1
552f03:	6a 0b                	push   $0xb
552f05:	56                   	push   %esi
552f06:	e8 d5 eb fe ff       	call   0x541ae0
552f0b:	83 c4 28             	add    $0x28,%esp
552f0e:	8b 4e 0c             	mov    0xc(%esi),%ecx
552f11:	8b 53 18             	mov    0x18(%ebx),%edx
552f14:	f7 d2                	not    %edx
552f16:	8b 41 3c             	mov    0x3c(%ecx),%eax
552f19:	03 41 38             	add    0x38(%ecx),%eax
552f1c:	79 0d                	jns    0x552f2b
552f1e:	52                   	push   %edx
552f1f:	56                   	push   %esi
552f20:	51                   	push   %ecx
552f21:	e8 7a 08 fc ff       	call   0x5137a0
552f26:	83 c4 0c             	add    $0xc,%esp
552f29:	eb 09                	jmp    0x552f34
552f2b:	8b 49 40             	mov    0x40(%ecx),%ecx
552f2e:	8b 46 6c             	mov    0x6c(%esi),%eax
552f31:	89 04 91             	mov    %eax,(%ecx,%edx,4)
552f34:	8b 4b 38             	mov    0x38(%ebx),%ecx
552f37:	8b 43 3c             	mov    0x3c(%ebx),%eax
552f3a:	0f b6 53 36          	movzbl 0x36(%ebx),%edx
552f3e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
552f41:	0f b6 4b 35          	movzbl 0x35(%ebx),%ecx
552f45:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
552f48:	8b 4e 6c             	mov    0x6c(%esi),%ecx
552f4b:	89 45 d8             	mov    %eax,-0x28(%ebp)
552f4e:	39 4e 70             	cmp    %ecx,0x70(%esi)
552f51:	7f 13                	jg     0x552f66
552f53:	52                   	push   %edx
552f54:	50                   	push   %eax
552f55:	ff 75 e0             	push   -0x20(%ebp)
552f58:	ff 75 e4             	push   -0x1c(%ebp)
552f5b:	56                   	push   %esi
552f5c:	e8 9f 35 fb ff       	call   0x506500
552f61:	83 c4 14             	add    $0x14,%esp
552f64:	eb 3b                	jmp    0x552fa1
552f66:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
552f69:	8d 41 01             	lea    0x1(%ecx),%eax
552f6c:	89 46 6c             	mov    %eax,0x6c(%esi)
552f6f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
552f72:	8b 46 68             	mov    0x68(%esi),%eax
552f75:	88 1c 88             	mov    %bl,(%eax,%ecx,4)
552f78:	33 db                	xor    %ebx,%ebx
552f7a:	66 89 5c 88 02       	mov    %bx,0x2(%eax,%ecx,4)
552f7f:	8b 5d e0             	mov    -0x20(%ebp),%ebx
552f82:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
552f86:	8b 5d d8             	mov    -0x28(%ebp),%ebx
552f89:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
552f8d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
552f90:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
552f94:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
552f9b:	00
552f9c:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
552fa1:	8b 46 6c             	mov    0x6c(%esi),%eax
552fa4:	85 c0                	test   %eax,%eax
552fa6:	7e 0f                	jle    0x552fb7
552fa8:	0f b6 53 37          	movzbl 0x37(%ebx),%edx
552fac:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
552faf:	8b 46 68             	mov    0x68(%esi),%eax
552fb2:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
552fb7:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
552fbb:	74 7a                	je     0x553037
552fbd:	8b 4e 0c             	mov    0xc(%esi),%ecx
552fc0:	8b 53 28             	mov    0x28(%ebx),%edx
552fc3:	f7 d2                	not    %edx
552fc5:	8b 41 3c             	mov    0x3c(%ecx),%eax
552fc8:	03 41 38             	add    0x38(%ecx),%eax
552fcb:	79 0d                	jns    0x552fda
552fcd:	52                   	push   %edx
552fce:	56                   	push   %esi
552fcf:	51                   	push   %ecx
552fd0:	e8 cb 07 fc ff       	call   0x5137a0
552fd5:	83 c4 0c             	add    $0xc,%esp
552fd8:	eb 09                	jmp    0x552fe3
552fda:	8b 49 40             	mov    0x40(%ecx),%ecx
552fdd:	8b 46 6c             	mov    0x6c(%esi),%eax
552fe0:	89 04 91             	mov    %eax,(%ecx,%edx,4)
552fe3:	8b 53 3c             	mov    0x3c(%ebx),%edx
552fe6:	8b 4e 6c             	mov    0x6c(%esi),%ecx
552fe9:	4a                   	dec    %edx
552fea:	8b 43 24             	mov    0x24(%ebx),%eax
552fed:	89 45 d8             	mov    %eax,-0x28(%ebp)
552ff0:	39 4e 70             	cmp    %ecx,0x70(%esi)
552ff3:	7f 11                	jg     0x553006
552ff5:	6a 00                	push   $0x0
552ff7:	52                   	push   %edx
552ff8:	50                   	push   %eax
552ff9:	6a 3b                	push   $0x3b
552ffb:	56                   	push   %esi
552ffc:	e8 ff 34 fb ff       	call   0x506500
553001:	83 c4 14             	add    $0x14,%esp
553004:	eb 31                	jmp    0x553037
553006:	8b 5d d8             	mov    -0x28(%ebp),%ebx
553009:	8d 41 01             	lea    0x1(%ecx),%eax
55300c:	89 46 6c             	mov    %eax,0x6c(%esi)
55300f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
553012:	8b 46 68             	mov    0x68(%esi),%eax
553015:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
553019:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55301c:	c7 04 88 3b 00 00 00 	movl   $0x3b,(%eax,%ecx,4)
553023:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
553027:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55302e:	00
55302f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
553036:	00
553037:	85 ff                	test   %edi,%edi
553039:	74 4f                	je     0x55308a
55303b:	8b 56 6c             	mov    0x6c(%esi),%edx
55303e:	79 03                	jns    0x553043
553040:	8d 7a ff             	lea    -0x1(%edx),%edi
553043:	8b 06                	mov    (%esi),%eax
553045:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
553049:	74 0a                	je     0x553055
55304b:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
553050:	89 50 08             	mov    %edx,0x8(%eax)
553053:	eb 35                	jmp    0x55308a
553055:	8b 46 68             	mov    0x68(%esi),%eax
553058:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
55305b:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
55305f:	8d 04 88             	lea    (%eax,%ecx,4),%eax
553062:	eb 26                	jmp    0x55308a
553064:	8b 4e 0c             	mov    0xc(%esi),%ecx
553067:	8b 53 18             	mov    0x18(%ebx),%edx
55306a:	f7 d2                	not    %edx
55306c:	8b 41 3c             	mov    0x3c(%ecx),%eax
55306f:	03 41 38             	add    0x38(%ecx),%eax
553072:	79 0d                	jns    0x553081
553074:	52                   	push   %edx
553075:	56                   	push   %esi
553076:	51                   	push   %ecx
553077:	e8 24 07 fc ff       	call   0x5137a0
55307c:	83 c4 0c             	add    $0xc,%esp
55307f:	eb 09                	jmp    0x55308a
553081:	8b 49 40             	mov    0x40(%ecx),%ecx
553084:	8b 46 6c             	mov    0x6c(%esi),%eax
553087:	89 04 91             	mov    %eax,(%ecx,%edx,4)
55308a:	8b 45 e8             	mov    -0x18(%ebp),%eax
55308d:	f7 40 24 00 08 00 00 	testl  $0x800,0x24(%eax)
553094:	0f 84 ae 01 00 00    	je     0x553248
55309a:	83 7b 40 00          	cmpl   $0x0,0x40(%ebx)
55309e:	0f 8e a4 01 00 00    	jle    0x553248
5530a4:	8b 4e 0c             	mov    0xc(%esi),%ecx
5530a7:	8b 53 10             	mov    0x10(%ebx),%edx
5530aa:	f7 d2                	not    %edx
5530ac:	8b 41 3c             	mov    0x3c(%ecx),%eax
5530af:	03 41 38             	add    0x38(%ecx),%eax
5530b2:	79 0d                	jns    0x5530c1
5530b4:	52                   	push   %edx
5530b5:	56                   	push   %esi
5530b6:	51                   	push   %ecx
5530b7:	e8 e4 06 fc ff       	call   0x5137a0
5530bc:	83 c4 0c             	add    $0xc,%esp
5530bf:	eb 09                	jmp    0x5530ca
5530c1:	8b 49 40             	mov    0x40(%ecx),%ecx
5530c4:	8b 46 6c             	mov    0x6c(%esi),%eax
5530c7:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5530ca:	8b 53 40             	mov    0x40(%ebx),%edx
5530cd:	8b 43 44             	mov    0x44(%ebx),%eax
5530d0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5530d3:	8d 7a ff             	lea    -0x1(%edx),%edi
5530d6:	8d 3c bf             	lea    (%edi,%edi,4),%edi
5530d9:	8d 3c b8             	lea    (%eax,%edi,4),%edi
5530dc:	85 d2                	test   %edx,%edx
5530de:	0f 8e 64 01 00 00    	jle    0x553248
5530e4:	8b 4f 04             	mov    0x4(%edi),%ecx
5530e7:	83 c1 01             	add    $0x1,%ecx
5530ea:	8b 56 6c             	mov    0x6c(%esi),%edx
5530ed:	79 03                	jns    0x5530f2
5530ef:	8d 4a ff             	lea    -0x1(%edx),%ecx
5530f2:	8b 06                	mov    (%esi),%eax
5530f4:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5530f8:	74 07                	je     0x553101
5530fa:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5530ff:	eb 09                	jmp    0x55310a
553101:	8b 46 68             	mov    0x68(%esi),%eax
553104:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
553107:	8d 04 88             	lea    (%eax,%ecx,4),%eax
55310a:	89 50 08             	mov    %edx,0x8(%eax)
55310d:	80 7f 10 ad          	cmpb   $0xad,0x10(%edi)
553111:	0f 84 f6 00 00 00    	je     0x55320d
553117:	8b 47 0c             	mov    0xc(%edi),%eax
55311a:	85 c0                	test   %eax,%eax
55311c:	0f 84 83 00 00 00    	je     0x5531a5
553122:	8b 4d e8             	mov    -0x18(%ebp),%ecx
553125:	f7 41 24 00 04 00 00 	testl  $0x400,0x24(%ecx)
55312c:	75 20                	jne    0x55314e
55312e:	50                   	push   %eax
55312f:	ff 77 08             	push   0x8(%edi)
553132:	33 c0                	xor    %eax,%eax
553134:	39 03                	cmp    %eax,(%ebx)
553136:	0f 95 c0             	setne  %al
553139:	83 c0 02             	add    $0x2,%eax
55313c:	03 46 6c             	add    0x6c(%esi),%eax
55313f:	50                   	push   %eax
553140:	ff 73 08             	push   0x8(%ebx)
553143:	6a 1b                	push   $0x1b
553145:	56                   	push   %esi
553146:	e8 c5 ea fe ff       	call   0x541c10
55314b:	83 c4 18             	add    $0x18,%esp
55314e:	83 3b 00             	cmpl   $0x0,(%ebx)
553151:	74 52                	je     0x5531a5
553153:	8b 4e 6c             	mov    0x6c(%esi),%ecx
553156:	8b 07                	mov    (%edi),%eax
553158:	89 45 d8             	mov    %eax,-0x28(%ebp)
55315b:	8d 51 02             	lea    0x2(%ecx),%edx
55315e:	39 4e 70             	cmp    %ecx,0x70(%esi)
553161:	7f 11                	jg     0x553174
553163:	6a 00                	push   $0x0
553165:	52                   	push   %edx
553166:	50                   	push   %eax
553167:	6a 1a                	push   $0x1a
553169:	56                   	push   %esi
55316a:	e8 91 33 fb ff       	call   0x506500
55316f:	83 c4 14             	add    $0x14,%esp
553172:	eb 31                	jmp    0x5531a5
553174:	8d 41 01             	lea    0x1(%ecx),%eax
553177:	89 46 6c             	mov    %eax,0x6c(%esi)
55317a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55317d:	8b 46 68             	mov    0x68(%esi),%eax
553180:	8b 75 d8             	mov    -0x28(%ebp),%esi
553183:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
553187:	8b 75 f8             	mov    -0x8(%ebp),%esi
55318a:	c7 04 88 1a 00 00 00 	movl   $0x1a,(%eax,%ecx,4)
553191:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
553195:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
55319c:	00
55319d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5531a4:	00
5531a5:	0f b6 4f 10          	movzbl 0x10(%edi),%ecx
5531a9:	8b 07                	mov    (%edi),%eax
5531ab:	8b 57 04             	mov    0x4(%edi),%edx
5531ae:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5531b1:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5531b4:	89 45 d8             	mov    %eax,-0x28(%ebp)
5531b7:	39 4e 70             	cmp    %ecx,0x70(%esi)
5531ba:	7f 12                	jg     0x5531ce
5531bc:	6a 00                	push   $0x0
5531be:	52                   	push   %edx
5531bf:	50                   	push   %eax
5531c0:	ff 75 e0             	push   -0x20(%ebp)
5531c3:	56                   	push   %esi
5531c4:	e8 37 33 fb ff       	call   0x506500
5531c9:	83 c4 14             	add    $0x14,%esp
5531cc:	eb 3f                	jmp    0x55320d
5531ce:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5531d1:	8d 41 01             	lea    0x1(%ecx),%eax
5531d4:	89 46 6c             	mov    %eax,0x6c(%esi)
5531d7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5531da:	8b 46 68             	mov    0x68(%esi),%eax
5531dd:	33 f6                	xor    %esi,%esi
5531df:	66 89 74 88 02       	mov    %si,0x2(%eax,%ecx,4)
5531e4:	8b 75 d8             	mov    -0x28(%ebp),%esi
5531e7:	88 1c 88             	mov    %bl,(%eax,%ecx,4)
5531ea:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5531ed:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
5531f1:	8b 75 f8             	mov    -0x8(%ebp),%esi
5531f4:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5531f8:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5531ff:	00
553200:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
553207:	00
553208:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
55320d:	8b 4f 04             	mov    0x4(%edi),%ecx
553210:	83 e9 01             	sub    $0x1,%ecx
553213:	8b 56 6c             	mov    0x6c(%esi),%edx
553216:	79 03                	jns    0x55321b
553218:	8d 4a ff             	lea    -0x1(%edx),%ecx
55321b:	8b 06                	mov    (%esi),%eax
55321d:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
553221:	74 07                	je     0x55322a
553223:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
553228:	eb 09                	jmp    0x553233
55322a:	8b 46 68             	mov    0x68(%esi),%eax
55322d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
553230:	8d 04 88             	lea    (%eax,%ecx,4),%eax
553233:	89 50 08             	mov    %edx,0x8(%eax)
553236:	83 ef 14             	sub    $0x14,%edi
553239:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55323c:	48                   	dec    %eax
55323d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
553240:	85 c0                	test   %eax,%eax
553242:	0f 8f 9c fe ff ff    	jg     0x5530e4
553248:	8b 4e 0c             	mov    0xc(%esi),%ecx
55324b:	8b 53 0c             	mov    0xc(%ebx),%edx
55324e:	f7 d2                	not    %edx
553250:	8b 41 3c             	mov    0x3c(%ecx),%eax
553253:	03 41 38             	add    0x38(%ecx),%eax
553256:	79 0d                	jns    0x553265
553258:	52                   	push   %edx
553259:	56                   	push   %esi
55325a:	51                   	push   %ecx
55325b:	e8 40 05 fc ff       	call   0x5137a0
553260:	83 c4 0c             	add    $0xc,%esp
553263:	eb 09                	jmp    0x55326e
553265:	8b 49 40             	mov    0x40(%ecx),%ecx
553268:	8b 46 6c             	mov    0x6c(%esi),%eax
55326b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
55326e:	8b 53 14             	mov    0x14(%ebx),%edx
553271:	85 d2                	test   %edx,%edx
553273:	0f 84 9a 00 00 00    	je     0x553313
553279:	8b 4e 6c             	mov    0x6c(%esi),%ecx
55327c:	39 4e 70             	cmp    %ecx,0x70(%esi)
55327f:	7f 12                	jg     0x553293
553281:	6a 00                	push   $0x0
553283:	52                   	push   %edx
553284:	6a 00                	push   $0x0
553286:	6a 0b                	push   $0xb
553288:	56                   	push   %esi
553289:	e8 72 32 fb ff       	call   0x506500
55328e:	83 c4 14             	add    $0x14,%esp
553291:	eb 2f                	jmp    0x5532c2
553293:	8d 41 01             	lea    0x1(%ecx),%eax
553296:	89 46 6c             	mov    %eax,0x6c(%esi)
553299:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55329c:	8b 46 68             	mov    0x68(%esi),%eax
55329f:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
5532a6:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
5532ad:	00
5532ae:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5532b2:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5532b9:	00
5532ba:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)