411f26:	75 09                	jne    0x411f31
411f28:	39 46 10             	cmp    %eax,0x10(%esi)
411f2b:	75 30                	jne    0x411f5d
411f2d:	6a 01                	push   $0x1
411f2f:	eb 1e                	jmp    0x411f4f
411f31:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
411f35:	75 30                	jne    0x411f67
411f37:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
411f3b:	74 2a                	je     0x411f67
411f3d:	8d 45 84             	lea    -0x7c(%ebp),%eax
411f40:	50                   	push   %eax
411f41:	ff 36                	push   (%esi)
411f43:	e8 a9 33 00 00       	call   0x4152f1
411f48:	85 c0                	test   %eax,%eax
411f4a:	59                   	pop    %ecx
411f4b:	59                   	pop    %ecx
411f4c:	75 19                	jne    0x411f67
411f4e:	50                   	push   %eax
411f4f:	57                   	push   %edi
411f50:	8b ce                	mov    %esi,%ecx
411f52:	e8 2a fd ff ff       	call   0x411c81
411f57:	85 c0                	test   %eax,%eax
411f59:	59                   	pop    %ecx
411f5a:	59                   	pop    %ecx
411f5b:	74 0a                	je     0x411f67
411f5d:	83 4e 08 04          	orl    $0x4,0x8(%esi)
411f61:	89 7e 18             	mov    %edi,0x18(%esi)
411f64:	89 7e 1c             	mov    %edi,0x1c(%esi)
411f67:	8b 46 08             	mov    0x8(%esi),%eax
411f6a:	c1 e8 02             	shr    $0x2,%eax
411f6d:	f7 d0                	not    %eax
411f6f:	83 e0 01             	and    $0x1,%eax
411f72:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411f75:	5f                   	pop    %edi
411f76:	33 cd                	xor    %ebp,%ecx
411f78:	5e                   	pop    %esi
411f79:	e8 b7 3f ff ff       	call   0x405f35
411f7e:	c9                   	leave
411f7f:	c2 04 00             	ret    $0x4
411f82:	ff 36                	push   (%esi)
411f84:	e8 d7 47 ff ff       	call   0x406760
411f89:	ff 76 04             	push   0x4(%esi)
411f8c:	83 e8 03             	sub    $0x3,%eax
411f8f:	f7 d8                	neg    %eax
411f91:	1b c0                	sbb    %eax,%eax
411f93:	40                   	inc    %eax
411f94:	89 46 10             	mov    %eax,0x10(%esi)
411f97:	e8 c4 47 ff ff       	call   0x406760
411f9c:	83 e8 03             	sub    $0x3,%eax
411f9f:	f7 d8                	neg    %eax
411fa1:	1b c0                	sbb    %eax,%eax
411fa3:	83 66 18 00          	andl   $0x0,0x18(%esi)
411fa7:	40                   	inc    %eax
411fa8:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
411fac:	59                   	pop    %ecx
411fad:	59                   	pop    %ecx
411fae:	89 46 14             	mov    %eax,0x14(%esi)
411fb1:	74 05                	je     0x411fb8
411fb3:	6a 02                	push   $0x2
411fb5:	58                   	pop    %eax
411fb6:	eb 07                	jmp    0x411fbf
411fb8:	8b 16                	mov    (%esi),%edx
411fba:	e8 11 fc ff ff       	call   0x411bd0
411fbf:	6a 01                	push   $0x1
411fc1:	68 f3 1c 41 00       	push   $0x411cf3
411fc6:	89 46 0c             	mov    %eax,0xc(%esi)
411fc9:	ff 15 68 70 41 00    	call   *0x417068
411fcf:	8b 46 08             	mov    0x8(%esi),%eax
411fd2:	66 a9 00 01          	test   $0x100,%ax
411fd6:	74 0a                	je     0x411fe2
411fd8:	66 a9 00 02          	test   $0x200,%ax
411fdc:	74 04                	je     0x411fe2
411fde:	a8 07                	test   $0x7,%al
411fe0:	75 04                	jne    0x411fe6
411fe2:	83 66 08 00          	andl   $0x0,0x8(%esi)
411fe6:	c3                   	ret
411fe7:	ff 36                	push   (%esi)
411fe9:	e8 72 47 ff ff       	call   0x406760
411fee:	83 e8 03             	sub    $0x3,%eax
411ff1:	f7 d8                	neg    %eax
411ff3:	1b c0                	sbb    %eax,%eax
411ff5:	40                   	inc    %eax
411ff6:	59                   	pop    %ecx
411ff7:	89 46 10             	mov    %eax,0x10(%esi)
411ffa:	74 05                	je     0x412001
411ffc:	6a 02                	push   $0x2
411ffe:	58                   	pop    %eax
411fff:	eb 07                	jmp    0x412008
412001:	8b 16                	mov    (%esi),%edx
412003:	e8 c8 fb ff ff       	call   0x411bd0
412008:	6a 01                	push   $0x1
41200a:	68 c3 1e 41 00       	push   $0x411ec3
41200f:	89 46 0c             	mov    %eax,0xc(%esi)
412012:	ff 15 68 70 41 00    	call   *0x417068
412018:	f6 46 08 04          	testb  $0x4,0x8(%esi)
41201c:	75 04                	jne    0x412022
41201e:	83 66 08 00          	andl   $0x0,0x8(%esi)
412022:	c3                   	ret
412023:	53                   	push   %ebx
412024:	55                   	push   %ebp
412025:	56                   	push   %esi
412026:	57                   	push   %edi
412027:	e8 20 a5 ff ff       	call   0x40c54c
41202c:	8b 6c 24 14          	mov    0x14(%esp),%ebp
412030:	8b f0                	mov    %eax,%esi
412032:	33 db                	xor    %ebx,%ebx
412034:	81 c6 9c 00 00 00    	add    $0x9c,%esi
41203a:	3b eb                	cmp    %ebx,%ebp
41203c:	75 0c                	jne    0x41204a
41203e:	81 4e 08 04 01 00 00 	orl    $0x104,0x8(%esi)
412045:	e9 b1 00 00 00       	jmp    0x4120fb
41204a:	8d 45 40             	lea    0x40(%ebp),%eax
41204d:	3b c3                	cmp    %ebx,%eax
41204f:	8d 7e 04             	lea    0x4(%esi),%edi
412052:	89 2e                	mov    %ebp,(%esi)
412054:	89 07                	mov    %eax,(%edi)
412056:	74 14                	je     0x41206c
412058:	38 18                	cmp    %bl,(%eax)
41205a:	74 10                	je     0x41206c
41205c:	57                   	push   %edi
41205d:	6a 16                	push   $0x16
41205f:	68 a0 8e 41 00       	push   $0x418ea0
412064:	e8 40 fa ff ff       	call   0x411aa9
412069:	83 c4 0c             	add    $0xc,%esp
41206c:	8b 06                	mov    (%esi),%eax
41206e:	3b c3                	cmp    %ebx,%eax
412070:	89 5e 08             	mov    %ebx,0x8(%esi)
412073:	74 4b                	je     0x4120c0
412075:	38 18                	cmp    %bl,(%eax)
412077:	74 47                	je     0x4120c0
412079:	8b 07                	mov    (%edi),%eax
41207b:	3b c3                	cmp    %ebx,%eax
41207d:	74 0b                	je     0x41208a
41207f:	38 18                	cmp    %bl,(%eax)
412081:	74 07                	je     0x41208a
412083:	e8 fa fe ff ff       	call   0x411f82
412088:	eb 05                	jmp    0x41208f
41208a:	e8 58 ff ff ff       	call   0x411fe7
41208f:	39 5e 08             	cmp    %ebx,0x8(%esi)
412092:	75 7c                	jne    0x412110
412094:	56                   	push   %esi
412095:	6a 40                	push   $0x40
412097:	68 98 8c 41 00       	push   $0x418c98
41209c:	e8 08 fa ff ff       	call   0x411aa9
4120a1:	83 c4 0c             	add    $0xc,%esp
4120a4:	85 c0                	test   %eax,%eax
4120a6:	74 5f                	je     0x412107
4120a8:	8b 3f                	mov    (%edi),%edi
4120aa:	3b fb                	cmp    %ebx,%edi
4120ac:	74 0b                	je     0x4120b9
4120ae:	38 1f                	cmp    %bl,(%edi)
4120b0:	74 07                	je     0x4120b9
4120b2:	e8 cb fe ff ff       	call   0x411f82
4120b7:	eb 4e                	jmp    0x412107
4120b9:	e8 29 ff ff ff       	call   0x411fe7
4120be:	eb 47                	jmp    0x412107
4120c0:	8b 3f                	mov    (%edi),%edi
4120c2:	3b fb                	cmp    %ebx,%edi
4120c4:	74 2e                	je     0x4120f4
4120c6:	38 1f                	cmp    %bl,(%edi)
4120c8:	74 2a                	je     0x4120f4
4120ca:	57                   	push   %edi
4120cb:	e8 90 46 ff ff       	call   0x406760
4120d0:	83 e8 03             	sub    $0x3,%eax
4120d3:	f7 d8                	neg    %eax
4120d5:	59                   	pop    %ecx
4120d6:	1b c0                	sbb    %eax,%eax
4120d8:	6a 01                	push   $0x1
4120da:	40                   	inc    %eax
4120db:	68 eb 1b 41 00       	push   $0x411beb
4120e0:	89 46 14             	mov    %eax,0x14(%esi)
4120e3:	ff 15 68 70 41 00    	call   *0x417068
4120e9:	f6 46 08 04          	testb  $0x4,0x8(%esi)
4120ed:	75 18                	jne    0x412107
4120ef:	89 5e 08             	mov    %ebx,0x8(%esi)
4120f2:	eb 13                	jmp    0x412107
4120f4:	c7 46 08 04 01 00 00 	movl   $0x104,0x8(%esi)
4120fb:	ff 15 6c 70 41 00    	call   *0x41706c
412101:	89 46 18             	mov    %eax,0x18(%esi)
412104:	89 46 1c             	mov    %eax,0x1c(%esi)
412107:	39 5e 08             	cmp    %ebx,0x8(%esi)
41210a:	0f 84 ef 00 00 00    	je     0x4121ff
412110:	8b cd                	mov    %ebp,%ecx
412112:	81 c5 80 00 00 00    	add    $0x80,%ebp
412118:	f7 d9                	neg    %ecx
41211a:	1b c9                	sbb    %ecx,%ecx
41211c:	23 cd                	and    %ebp,%ecx
41211e:	8b fe                	mov    %esi,%edi
412120:	e8 e4 f9 ff ff       	call   0x411b09
412125:	8b d8                	mov    %eax,%ebx
412127:	85 db                	test   %ebx,%ebx
412129:	0f 84 d0 00 00 00    	je     0x4121ff
41212f:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
412135:	0f 84 c4 00 00 00    	je     0x4121ff
41213b:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
412141:	0f 84 b8 00 00 00    	je     0x4121ff
412147:	0f b7 c3             	movzwl %bx,%eax
41214a:	50                   	push   %eax
41214b:	ff 15 60 70 41 00    	call   *0x417060
412151:	85 c0                	test   %eax,%eax
412153:	0f 84 a6 00 00 00    	je     0x4121ff
412159:	6a 01                	push   $0x1
41215b:	ff 76 18             	push   0x18(%esi)
41215e:	ff 15 64 70 41 00    	call   *0x417064
412164:	85 c0                	test   %eax,%eax
412166:	0f 84 93 00 00 00    	je     0x4121ff
41216c:	8b 44 24 18          	mov    0x18(%esp),%eax
412170:	85 c0                	test   %eax,%eax
412172:	74 13                	je     0x412187
412174:	66 8b 4e 18          	mov    0x18(%esi),%cx
412178:	66 89 08             	mov    %cx,(%eax)
41217b:	66 8b 4e 1c          	mov    0x1c(%esi),%cx
41217f:	66 89 48 02          	mov    %cx,0x2(%eax)
412183:	66 89 58 04          	mov    %bx,0x4(%eax)
412187:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
41218b:	85 ff                	test   %edi,%edi
41218d:	74 6b                	je     0x4121fa
41218f:	66 81 38 14 08       	cmpw   $0x814,(%eax)
412194:	8b 2d 68 71 41 00    	mov    0x417168,%ebp
41219a:	75 25                	jne    0x4121c1
41219c:	68 74 8f 41 00       	push   $0x418f74
4121a1:	6a 40                	push   $0x40
4121a3:	57                   	push   %edi
4121a4:	e8 f2 8a ff ff       	call   0x40ac9b
4121a9:	83 c4 0c             	add    $0xc,%esp
4121ac:	85 c0                	test   %eax,%eax
4121ae:	74 22                	je     0x4121d2
4121b0:	33 c0                	xor    %eax,%eax
4121b2:	50                   	push   %eax
4121b3:	50                   	push   %eax
4121b4:	50                   	push   %eax
4121b5:	50                   	push   %eax
4121b6:	50                   	push   %eax
4121b7:	e8 98 53 ff ff       	call   0x407554
4121bc:	83 c4 14             	add    $0x14,%esp
4121bf:	eb 11                	jmp    0x4121d2
4121c1:	6a 40                	push   $0x40
4121c3:	57                   	push   %edi
4121c4:	68 01 10 00 00       	push   $0x1001
4121c9:	ff 76 18             	push   0x18(%esi)
4121cc:	ff d5                	call   *%ebp
4121ce:	85 c0                	test   %eax,%eax
4121d0:	74 2d                	je     0x4121ff
4121d2:	6a 40                	push   $0x40
4121d4:	8d 47 40             	lea    0x40(%edi),%eax
4121d7:	50                   	push   %eax
4121d8:	68 02 10 00 00       	push   $0x1002
4121dd:	ff 76 1c             	push   0x1c(%esi)
4121e0:	ff d5                	call   *%ebp
4121e2:	85 c0                	test   %eax,%eax
4121e4:	74 19                	je     0x4121ff
4121e6:	6a 0a                	push   $0xa
4121e8:	6a 10                	push   $0x10
4121ea:	81 c7 80 00 00 00    	add    $0x80,%edi
4121f0:	57                   	push   %edi
4121f1:	53                   	push   %ebx
4121f2:	e8 66 84 ff ff       	call   0x40a65d
4121f7:	83 c4 10             	add    $0x10,%esp
4121fa:	33 c0                	xor    %eax,%eax
4121fc:	40                   	inc    %eax
4121fd:	eb 02                	jmp    0x412201
4121ff:	33 c0                	xor    %eax,%eax
412201:	5f                   	pop    %edi
412202:	5e                   	pop    %esi
412203:	5d                   	pop    %ebp
412204:	5b                   	pop    %ebx
412205:	c3                   	ret
412206:	55                   	push   %ebp
412207:	8b ec                	mov    %esp,%ebp
412209:	56                   	push   %esi
41220a:	57                   	push   %edi
41220b:	8b 7d 10             	mov    0x10(%ebp),%edi
41220e:	8b c7                	mov    %edi,%eax
412210:	83 e8 00             	sub    $0x0,%eax
412213:	0f 84 e5 15 00 00    	je     0x4137fe
412219:	48                   	dec    %eax
41221a:	0f 84 cd 15 00 00    	je     0x4137ed
412220:	48                   	dec    %eax
412221:	0f 84 98 15 00 00    	je     0x4137bf
412227:	48                   	dec    %eax
412228:	0f 84 49 15 00 00    	je     0x413777
41222e:	48                   	dec    %eax
41222f:	0f 84 b9 14 00 00    	je     0x4136ee
412235:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412238:	8b 45 08             	mov    0x8(%ebp),%eax
41223b:	53                   	push   %ebx
41223c:	6a 20                	push   $0x20
41223e:	5a                   	pop    %edx
41223f:	e9 72 04 00 00       	jmp    0x4126b6
412244:	8b 30                	mov    (%eax),%esi
412246:	3b 31                	cmp    (%ecx),%esi
412248:	74 7c                	je     0x4122c6
41224a:	0f b6 30             	movzbl (%eax),%esi
41224d:	0f b6 19             	movzbl (%ecx),%ebx
412250:	2b f3                	sub    %ebx,%esi
412252:	74 15                	je     0x412269
412254:	33 db                	xor    %ebx,%ebx
412256:	85 f6                	test   %esi,%esi
412258:	0f 9f c3             	setg   %bl
41225b:	8d 5c 1b ff          	lea    -0x1(%ebx,%ebx,1),%ebx
41225f:	8b f3                	mov    %ebx,%esi
412261:	85 f6                	test   %esi,%esi
412263:	0f 85 69 04 00 00    	jne    0x4126d2
412269:	0f b6 70 01          	movzbl 0x1(%eax),%esi
41226d:	0f b6 59 01          	movzbl 0x1(%ecx),%ebx
412271:	2b f3                	sub    %ebx,%esi
412273:	74 15                	je     0x41228a
412275:	33 db                	xor    %ebx,%ebx
412277:	85 f6                	test   %esi,%esi
412279:	0f 9f c3             	setg   %bl
41227c:	8d 5c 1b ff          	lea    -0x1(%ebx,%ebx,1),%ebx
412280:	8b f3                	mov    %ebx,%esi
412282:	85 f6                	test   %esi,%esi
412284:	0f 85 48 04 00 00    	jne    0x4126d2
41228a:	0f b6 70 02          	movzbl 0x2(%eax),%esi
41228e:	0f b6 59 02          	movzbl 0x2(%ecx),%ebx
412292:	2b f3                	sub    %ebx,%esi
412294:	74 15                	je     0x4122ab
412296:	33 db                	xor    %ebx,%ebx
412298:	85 f6                	test   %esi,%esi
41229a:	0f 9f c3             	setg   %bl
41229d:	8d 5c 1b ff          	lea    -0x1(%ebx,%ebx,1),%ebx
4122a1:	8b f3                	mov    %ebx,%esi
4122a3:	85 f6                	test   %esi,%esi
4122a5:	0f 85 27 04 00 00    	jne    0x4126d2
4122ab:	0f b6 70 03          	movzbl 0x3(%eax),%esi
4122af:	0f b6 59 03          	movzbl 0x3(%ecx),%ebx
4122b3:	2b f3                	sub    %ebx,%esi
4122b5:	74 11                	je     0x4122c8
4122b7:	33 db                	xor    %ebx,%ebx
4122b9:	85 f6                	test   %esi,%esi
4122bb:	0f 9f c3             	setg   %bl
4122be:	8d 5c 1b ff          	lea    -0x1(%ebx,%ebx,1),%ebx
4122c2:	8b f3                	mov    %ebx,%esi
4122c4:	eb 02                	jmp    0x4122c8
4122c6:	33 f6                	xor    %esi,%esi
4122c8:	85 f6                	test   %esi,%esi
4122ca:	0f 85 02 04 00 00    	jne    0x4126d2
4122d0:	8b 70 04             	mov    0x4(%eax),%esi
4122d3:	3b 71 04             	cmp    0x4(%ecx),%esi
4122d6:	74 7e                	je     0x412356
4122d8:	0f b6 70 04          	movzbl 0x4(%eax),%esi
4122dc:	0f b6 59 04          	movzbl 0x4(%ecx),%ebx
4122e0:	2b f3                	sub    %ebx,%esi
4122e2:	74 15                	je     0x4122f9
4122e4:	33 db                	xor    %ebx,%ebx
4122e6:	85 f6                	test   %esi,%esi
4122e8:	0f 9f c3             	setg   %bl
4122eb:	8d 5c 1b ff          	lea    -0x1(%ebx,%ebx,1),%ebx
4122ef:	8b f3                	mov    %ebx,%esi