411eaf:	53                   	push   %ebx
411eb0:	56                   	push   %esi
411eb1:	57                   	push   %edi
411eb2:	8b 7d 14             	mov    0x14(%ebp),%edi
411eb5:	33 c9                	xor    %ecx,%ecx
411eb7:	6a 02                	push   $0x2
411eb9:	5b                   	pop    %ebx
411eba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411ebd:	8b f1                	mov    %ecx,%esi
411ebf:	89 4d f8             	mov    %ecx,-0x8(%ebp)
411ec2:	3b fb                	cmp    %ebx,%edi
411ec4:	75 0e                	jne    0x411ed4
411ec6:	8b 45 24             	mov    0x24(%ebp),%eax
411ec9:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
411ecf:	e9 ad 00 00 00       	jmp    0x411f81
411ed4:	6a 03                	push   $0x3
411ed6:	58                   	pop    %eax
411ed7:	6a 04                	push   $0x4
411ed9:	5a                   	pop    %edx
411eda:	39 55 20             	cmp    %edx,0x20(%ebp)
411edd:	75 19                	jne    0x411ef8
411edf:	39 45 08             	cmp    %eax,0x8(%ebp)
411ee2:	75 14                	jne    0x411ef8
411ee4:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
411ee7:	75 28                	jne    0x411f11
411ee9:	83 ff 05             	cmp    $0x5,%edi
411eec:	7c 23                	jl     0x411f11
411eee:	8b 45 24             	mov    0x24(%ebp),%eax
411ef1:	89 10                	mov    %edx,(%eax)
411ef3:	e9 89 00 00 00       	jmp    0x411f81
411ef8:	83 7d 0c 05          	cmpl   $0x5,0xc(%ebp)
411efc:	75 04                	jne    0x411f02
411efe:	3b f8                	cmp    %eax,%edi
411f00:	eb 0d                	jmp    0x411f0f
411f02:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
411f06:	75 10                	jne    0x411f18
411f08:	3b f8                	cmp    %eax,%edi
411f0a:	75 05                	jne    0x411f11
411f0c:	39 45 08             	cmp    %eax,0x8(%ebp)
411f0f:	74 07                	je     0x411f18
411f11:	8b 45 24             	mov    0x24(%ebp),%eax
411f14:	89 08                	mov    %ecx,(%eax)
411f16:	eb 69                	jmp    0x411f81
411f18:	8d 45 fc             	lea    -0x4(%ebp),%eax
411f1b:	50                   	push   %eax
411f1c:	ff 75 0c             	push   0xc(%ebp)
411f1f:	ff 75 10             	push   0x10(%ebp)
411f22:	57                   	push   %edi
411f23:	e8 49 f7 ff ff       	call   0x411671
411f28:	8b f0                	mov    %eax,%esi
411f2a:	85 f6                	test   %esi,%esi
411f2c:	79 0f                	jns    0x411f3d
411f2e:	68 ec 21 45 00       	push   $0x4521ec
411f33:	56                   	push   %esi
411f34:	e8 f6 e1 02 00       	call   0x44012f
411f39:	59                   	pop    %ecx
411f3a:	59                   	pop    %ecx
411f3b:	eb 44                	jmp    0x411f81
411f3d:	83 ff 03             	cmp    $0x3,%edi
411f40:	74 37                	je     0x411f79
411f42:	8b 45 1c             	mov    0x1c(%ebp),%eax
411f45:	85 c0                	test   %eax,%eax
411f47:	74 30                	je     0x411f79
411f49:	33 c9                	xor    %ecx,%ecx
411f4b:	66 39 08             	cmp    %cx,(%eax)
411f4e:	74 29                	je     0x411f79
411f50:	8d 4d f8             	lea    -0x8(%ebp),%ecx
411f53:	51                   	push   %ecx
411f54:	50                   	push   %eax
411f55:	ff 75 18             	push   0x18(%ebp)
411f58:	e8 57 78 ff ff       	call   0x4097b4
411f5d:	8b f0                	mov    %eax,%esi
411f5f:	85 f6                	test   %esi,%esi
411f61:	79 07                	jns    0x411f6a
411f63:	68 1c 22 45 00       	push   $0x45221c
411f68:	eb c9                	jmp    0x411f33
411f6a:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
411f6e:	8b 45 24             	mov    0x24(%ebp),%eax
411f71:	0f 45 5d fc          	cmovne -0x4(%ebp),%ebx
411f75:	89 18                	mov    %ebx,(%eax)
411f77:	eb 08                	jmp    0x411f81
411f79:	8b 4d 24             	mov    0x24(%ebp),%ecx
411f7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
411f7f:	89 01                	mov    %eax,(%ecx)
411f81:	5f                   	pop    %edi
411f82:	8b c6                	mov    %esi,%eax
411f84:	5e                   	pop    %esi
411f85:	5b                   	pop    %ebx
411f86:	8b e5                	mov    %ebp,%esp
411f88:	5d                   	pop    %ebp
411f89:	c2 20 00             	ret    $0x20
411f8c:	55                   	push   %ebp
411f8d:	8b ec                	mov    %esp,%ebp
411f8f:	51                   	push   %ecx
411f90:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
411f94:	8d 45 fc             	lea    -0x4(%ebp),%eax
411f97:	56                   	push   %esi
411f98:	50                   	push   %eax
411f99:	ff 75 08             	push   0x8(%ebp)
411f9c:	e8 09 fd ff ff       	call   0x411caa
411fa1:	8b f0                	mov    %eax,%esi
411fa3:	85 f6                	test   %esi,%esi
411fa5:	79 07                	jns    0x411fae
411fa7:	68 20 30 45 00       	push   $0x453020
411fac:	eb 50                	jmp    0x411ffe
411fae:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
411fb2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411fb5:	8b 45 10             	mov    0x10(%ebp),%eax
411fb8:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
411fbe:	89 41 08             	mov    %eax,0x8(%ecx)
411fc1:	74 43                	je     0x412006
411fc3:	8d 45 fc             	lea    -0x4(%ebp),%eax
411fc6:	50                   	push   %eax
411fc7:	ff 75 08             	push   0x8(%ebp)
411fca:	e8 22 fd ff ff       	call   0x411cf1
411fcf:	8b f0                	mov    %eax,%esi
411fd1:	85 f6                	test   %esi,%esi
411fd3:	79 07                	jns    0x411fdc
411fd5:	68 4c 30 45 00       	push   $0x45304c
411fda:	eb 22                	jmp    0x411ffe
411fdc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411fdf:	8b 45 0c             	mov    0xc(%ebp),%eax
411fe2:	ff 75 08             	push   0x8(%ebp)
411fe5:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
411feb:	89 41 08             	mov    %eax,0x8(%ecx)
411fee:	e8 03 17 00 00       	call   0x4136f6
411ff3:	8b f0                	mov    %eax,%esi
411ff5:	85 f6                	test   %esi,%esi
411ff7:	79 0d                	jns    0x412006
411ff9:	68 70 30 45 00       	push   $0x453070
411ffe:	56                   	push   %esi
411fff:	e8 2b e1 02 00       	call   0x44012f
412004:	59                   	pop    %ecx
412005:	59                   	pop    %ecx
412006:	8b c6                	mov    %esi,%eax
412008:	5e                   	pop    %esi
412009:	8b e5                	mov    %ebp,%esp
41200b:	5d                   	pop    %ebp
41200c:	c2 10 00             	ret    $0x10
41200f:	55                   	push   %ebp
412010:	8b ec                	mov    %esp,%ebp
412012:	51                   	push   %ecx
412013:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
412017:	8d 45 fc             	lea    -0x4(%ebp),%eax
41201a:	56                   	push   %esi
41201b:	8b 75 18             	mov    0x18(%ebp),%esi
41201e:	57                   	push   %edi
41201f:	50                   	push   %eax
412020:	ff 75 20             	push   0x20(%ebp)
412023:	56                   	push   %esi
412024:	ff 75 10             	push   0x10(%ebp)
412027:	e8 d7 f2 ff ff       	call   0x411303
41202c:	8b f8                	mov    %eax,%edi
41202e:	85 ff                	test   %edi,%edi
412030:	79 15                	jns    0x412047
412032:	ff 36                	push   (%esi)
412034:	68 d8 2a 45 00       	push   $0x452ad8
412039:	57                   	push   %edi
41203a:	e8 f0 e0 02 00       	call   0x44012f
41203f:	83 c4 0c             	add    $0xc,%esp
412042:	e9 cf 01 00 00       	jmp    0x412216
412047:	53                   	push   %ebx
412048:	8b 5d 14             	mov    0x14(%ebp),%ebx
41204b:	53                   	push   %ebx
41204c:	56                   	push   %esi
41204d:	ff 75 08             	push   0x8(%ebp)
412050:	e8 9b 5f 01 00       	call   0x427ff0
412055:	8b f8                	mov    %eax,%edi
412057:	85 ff                	test   %edi,%edi
412059:	79 0c                	jns    0x412067
41205b:	ff 36                	push   (%esi)
41205d:	68 0c 2b 45 00       	push   $0x452b0c
412062:	e9 7f 01 00 00       	jmp    0x4121e6
412067:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41206b:	0f 85 d5 00 00 00    	jne    0x412146
412071:	56                   	push   %esi
412072:	53                   	push   %ebx
412073:	e8 bb f6 ff ff       	call   0x411733
412078:	85 c0                	test   %eax,%eax
41207a:	0f 85 c6 00 00 00    	jne    0x412146
412080:	83 7e 44 02          	cmpl   $0x2,0x44(%esi)
412084:	74 3a                	je     0x4120c0
412086:	8b 46 60             	mov    0x60(%esi),%eax
412089:	83 f8 01             	cmp    $0x1,%eax
41208c:	7f 0d                	jg     0x41209b
41208e:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
412095:	75 29                	jne    0x4120c0
412097:	85 c0                	test   %eax,%eax
412099:	74 25                	je     0x4120c0
41209b:	50                   	push   %eax
41209c:	e8 0f 1b 00 00       	call   0x413bb0
4120a1:	50                   	push   %eax
4120a2:	ff 76 44             	push   0x44(%esi)
4120a5:	e8 2a 1c 00 00       	call   0x413cd4
4120aa:	50                   	push   %eax
4120ab:	ff 36                	push   (%esi)
4120ad:	68 d0 00 00 a0       	push   $0xa00000d0
4120b2:	6a 02                	push   $0x2
4120b4:	e8 56 34 ff ff       	call   0x40550f
4120b9:	83 c4 14             	add    $0x14,%esp
4120bc:	83 66 60 00          	andl   $0x0,0x60(%esi)
4120c0:	83 7e 50 04          	cmpl   $0x4,0x50(%esi)
4120c4:	74 12                	je     0x4120d8
4120c6:	83 7e 40 04          	cmpl   $0x4,0x40(%esi)
4120ca:	75 06                	jne    0x4120d2
4120cc:	83 7e 50 02          	cmpl   $0x2,0x50(%esi)
4120d0:	7f 06                	jg     0x4120d8
4120d2:	83 7e 20 02          	cmpl   $0x2,0x20(%esi)
4120d6:	75 39                	jne    0x412111
4120d8:	83 7e 20 01          	cmpl   $0x1,0x20(%esi)
4120dc:	7c 0c                	jl     0x4120ea
4120de:	8b 46 30             	mov    0x30(%esi),%eax
4120e1:	01 43 28             	add    %eax,0x28(%ebx)
4120e4:	8b 46 34             	mov    0x34(%esi),%eax
4120e7:	11 43 2c             	adc    %eax,0x2c(%ebx)
4120ea:	83 7e 50 03          	cmpl   $0x3,0x50(%esi)
4120ee:	7e 21                	jle    0x412111
4120f0:	83 be 8c 00 00 00 03 	cmpl   $0x3,0x8c(%esi)
4120f7:	75 0c                	jne    0x412105
4120f9:	8b 46 30             	mov    0x30(%esi),%eax
4120fc:	01 43 28             	add    %eax,0x28(%ebx)
4120ff:	8b 46 34             	mov    0x34(%esi),%eax
412102:	11 43 2c             	adc    %eax,0x2c(%ebx)
412105:	8b 46 28             	mov    0x28(%esi),%eax
412108:	01 43 28             	add    %eax,0x28(%ebx)
41210b:	8b 46 2c             	mov    0x2c(%esi),%eax
41210e:	11 43 2c             	adc    %eax,0x2c(%ebx)
412111:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
412117:	83 e8 01             	sub    $0x1,%eax
41211a:	0f 84 8c 00 00 00    	je     0x4121ac
412120:	83 e8 01             	sub    $0x1,%eax
412123:	74 6d                	je     0x412192
412125:	83 e8 01             	sub    $0x1,%eax
412128:	74 4e                	je     0x412178
41212a:	83 e8 01             	sub    $0x1,%eax
41212d:	74 32                	je     0x412161
41212f:	bf ff ff 00 80       	mov    $0x8000ffff,%edi
412134:	68 48 2b 45 00       	push   $0x452b48
412139:	57                   	push   %edi
41213a:	e8 f0 df 02 00       	call   0x44012f
41213f:	59                   	pop    %ecx
412140:	59                   	pop    %ecx
412141:	e9 cf 00 00 00       	jmp    0x412215
412146:	ff 75 24             	push   0x24(%ebp)
412149:	56                   	push   %esi
41214a:	53                   	push   %ebx
41214b:	e8 07 e9 ff ff       	call   0x410a57
412150:	8b f8                	mov    %eax,%edi
412152:	85 ff                	test   %edi,%edi
412154:	0f 89 66 ff ff ff    	jns    0x4120c0
41215a:	68 54 29 45 00       	push   $0x452954
41215f:	eb d8                	jmp    0x412139
412161:	ff 76 54             	push   0x54(%esi)
412164:	8b 45 24             	mov    0x24(%ebp),%eax
412167:	ff 30                	push   (%eax)
412169:	ff 75 20             	push   0x20(%ebp)
41216c:	ff 75 1c             	push   0x1c(%ebp)
41216f:	53                   	push   %ebx
412170:	56                   	push   %esi
412171:	e8 29 4e 01 00       	call   0x426f9f
412176:	eb 4b                	jmp    0x4121c3
412178:	ff 76 54             	push   0x54(%esi)
41217b:	8b 45 24             	mov    0x24(%ebp),%eax
41217e:	ff 30                	push   (%eax)
412180:	ff 75 20             	push   0x20(%ebp)
412183:	ff 75 1c             	push   0x1c(%ebp)
412186:	53                   	push   %ebx
412187:	56                   	push   %esi
412188:	ff 75 0c             	push   0xc(%ebp)
41218b:	e8 46 43 01 00       	call   0x4264d6
412190:	eb 31                	jmp    0x4121c3
412192:	ff 76 54             	push   0x54(%esi)
412195:	8b 45 24             	mov    0x24(%ebp),%eax
412198:	ff 30                	push   (%eax)
41219a:	ff 75 20             	push   0x20(%ebp)
41219d:	ff 75 1c             	push   0x1c(%ebp)
4121a0:	53                   	push   %ebx
4121a1:	56                   	push   %esi
4121a2:	ff 75 0c             	push   0xc(%ebp)
4121a5:	e8 eb 2d 01 00       	call   0x424f95
4121aa:	eb 17                	jmp    0x4121c3
4121ac:	ff 76 54             	push   0x54(%esi)
4121af:	8b 45 24             	mov    0x24(%ebp),%eax
4121b2:	ff 30                	push   (%eax)
4121b4:	ff 75 20             	push   0x20(%ebp)
4121b7:	ff 75 1c             	push   0x1c(%ebp)
4121ba:	53                   	push   %ebx
4121bb:	56                   	push   %esi
4121bc:	6a 00                	push   $0x0
4121be:	e8 9e 05 01 00       	call   0x422761
4121c3:	8b f8                	mov    %eax,%edi
4121c5:	85 ff                	test   %edi,%edi
4121c7:	79 09                	jns    0x4121d2
4121c9:	ff 36                	push   (%esi)
4121cb:	68 60 2b 45 00       	push   $0x452b60
4121d0:	eb 14                	jmp    0x4121e6
4121d2:	53                   	push   %ebx
4121d3:	56                   	push   %esi
4121d4:	e8 9f 60 01 00       	call   0x428278
4121d9:	8b f8                	mov    %eax,%edi
4121db:	85 ff                	test   %edi,%edi
4121dd:	79 12                	jns    0x4121f1
4121df:	ff 36                	push   (%esi)
4121e1:	68 8c 2b 45 00       	push   $0x452b8c
4121e6:	57                   	push   %edi
4121e7:	e8 43 df 02 00       	call   0x44012f
4121ec:	83 c4 0c             	add    $0xc,%esp
4121ef:	eb 24                	jmp    0x412215
4121f1:	83 7e 5c 00          	cmpl   $0x0,0x5c(%esi)
4121f5:	75 06                	jne    0x4121fd
4121f7:	83 7e 60 00          	cmpl   $0x0,0x60(%esi)
4121fb:	74 18                	je     0x412215
4121fd:	e8 38 1b 00 00       	call   0x413d3a
412202:	ff 43 30             	incl   0x30(%ebx)
412205:	ff 43 34             	incl   0x34(%ebx)
412208:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41220c:	74 07                	je     0x412215
41220e:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
412215:	5b                   	pop    %ebx
412216:	8b c7                	mov    %edi,%eax
412218:	5f                   	pop    %edi
412219:	5e                   	pop    %esi
41221a:	8b e5                	mov    %ebp,%esp
41221c:	5d                   	pop    %ebp
41221d:	c2 20 00             	ret    $0x20
412220:	55                   	push   %ebp
412221:	8b ec                	mov    %esp,%ebp
412223:	56                   	push   %esi
412224:	57                   	push   %edi
412225:	8b 7d 08             	mov    0x8(%ebp),%edi
412228:	ff 77 60             	push   0x60(%edi)
41222b:	ff 77 5c             	push   0x5c(%edi)
41222e:	6a 01                	push   $0x1
412230:	e8 41 f8 ff ff       	call   0x411a76
412235:	8b f0                	mov    %eax,%esi
412237:	85 f6                	test   %esi,%esi
412239:	79 07                	jns    0x412242
41223b:	68 60 2f 45 00       	push   $0x452f60
412240:	eb 45                	jmp    0x412287
412242:	ff 77 68             	push   0x68(%edi)
412245:	ff 77 64             	push   0x64(%edi)
412248:	6a 00                	push   $0x0
41224a:	e8 27 f8 ff ff       	call   0x411a76
41224f:	8b f0                	mov    %eax,%esi
412251:	85 f6                	test   %esi,%esi
412253:	78 e6                	js     0x41223b
412255:	ff 77 60             	push   0x60(%edi)
412258:	ff 77 5c             	push   0x5c(%edi)
41225b:	6a 01                	push   $0x1
41225d:	e8 8c f2 ff ff       	call   0x4114ee