4370bd:	33 c0                	xor    %eax,%eax
4370bf:	8b e5                	mov    %ebp,%esp
4370c1:	5d                   	pop    %ebp
4370c2:	c3                   	ret
4370c3:	8b ff                	mov    %edi,%edi
4370c5:	55                   	push   %ebp
4370c6:	8b ec                	mov    %esp,%ebp
4370c8:	83 ec 10             	sub    $0x10,%esp
4370cb:	53                   	push   %ebx
4370cc:	56                   	push   %esi
4370cd:	57                   	push   %edi
4370ce:	ff 75 18             	push   0x18(%ebp)
4370d1:	33 c0                	xor    %eax,%eax
4370d3:	8d 7d f0             	lea    -0x10(%ebp),%edi
4370d6:	ff 75 14             	push   0x14(%ebp)
4370d9:	ab                   	stos   %eax,%es:(%edi)
4370da:	ab                   	stos   %eax,%es:(%edi)
4370db:	ab                   	stos   %eax,%es:(%edi)
4370dc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4370df:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4370e2:	50                   	push   %eax
4370e3:	8b 45 08             	mov    0x8(%ebp),%eax
4370e6:	57                   	push   %edi
4370e7:	ff 70 04             	push   0x4(%eax)
4370ea:	ff 30                	push   (%eax)
4370ec:	e8 6d 37 00 00       	call   0x43a85e
4370f1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4370f4:	33 c9                	xor    %ecx,%ecx
4370f6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4370f9:	83 c4 18             	add    $0x18,%esp
4370fc:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
437100:	0f 94 c1             	sete   %cl
437103:	48                   	dec    %eax
437104:	89 45 fc             	mov    %eax,-0x4(%ebp)
437107:	83 c8 ff             	or     $0xffffffff,%eax
43710a:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
43710d:	39 45 10             	cmp    %eax,0x10(%ebp)
437110:	74 05                	je     0x437117
437112:	8b 45 10             	mov    0x10(%ebp),%eax
437115:	2b c1                	sub    %ecx,%eax
437117:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43711a:	51                   	push   %ecx
43711b:	57                   	push   %edi
43711c:	50                   	push   %eax
43711d:	56                   	push   %esi
43711e:	e8 9e 31 00 00       	call   0x43a2c1
437123:	83 c4 10             	add    $0x10,%esp
437126:	85 c0                	test   %eax,%eax
437128:	74 05                	je     0x43712f
43712a:	c6 03 00             	movb   $0x0,(%ebx)
43712d:	eb 55                	jmp    0x437184
43712f:	8b 45 f4             	mov    -0xc(%ebp),%eax
437132:	48                   	dec    %eax
437133:	39 45 fc             	cmp    %eax,-0x4(%ebp)
437136:	0f 9c c1             	setl   %cl
437139:	83 f8 fc             	cmp    $0xfffffffc,%eax
43713c:	7c 2a                	jl     0x437168
43713e:	3b c7                	cmp    %edi,%eax
437140:	7d 26                	jge    0x437168
437142:	84 c9                	test   %cl,%cl
437144:	74 0a                	je     0x437150
437146:	8a 06                	mov    (%esi),%al
437148:	46                   	inc    %esi
437149:	84 c0                	test   %al,%al
43714b:	75 f9                	jne    0x437146
43714d:	88 46 fe             	mov    %al,-0x2(%esi)
437150:	ff 75 28             	push   0x28(%ebp)
437153:	8d 45 f0             	lea    -0x10(%ebp),%eax
437156:	6a 01                	push   $0x1
437158:	50                   	push   %eax
437159:	57                   	push   %edi
43715a:	ff 75 10             	push   0x10(%ebp)
43715d:	53                   	push   %ebx
43715e:	e8 89 fe ff ff       	call   0x436fec
437163:	83 c4 18             	add    $0x18,%esp
437166:	eb 1c                	jmp    0x437184
437168:	ff 75 28             	push   0x28(%ebp)
43716b:	8d 45 f0             	lea    -0x10(%ebp),%eax
43716e:	6a 01                	push   $0x1
437170:	50                   	push   %eax
437171:	ff 75 24             	push   0x24(%ebp)
437174:	ff 75 20             	push   0x20(%ebp)
437177:	57                   	push   %edi
437178:	ff 75 10             	push   0x10(%ebp)
43717b:	53                   	push   %ebx
43717c:	e8 93 fc ff ff       	call   0x436e14
437181:	83 c4 20             	add    $0x20,%esp
437184:	5f                   	pop    %edi
437185:	5e                   	pop    %esi
437186:	5b                   	pop    %ebx
437187:	8b e5                	mov    %ebp,%esp
437189:	5d                   	pop    %ebp
43718a:	c3                   	ret
43718b:	8b ff                	mov    %edi,%edi
43718d:	55                   	push   %ebp
43718e:	8b ec                	mov    %esp,%ebp
437190:	83 ec 48             	sub    $0x48,%esp
437193:	a1 08 a0 46 00       	mov    0x46a008,%eax
437198:	33 c5                	xor    %ebp,%eax
43719a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43719d:	8b 55 14             	mov    0x14(%ebp),%edx
4371a0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4371a3:	53                   	push   %ebx
4371a4:	8a 5d 0c             	mov    0xc(%ebp),%bl
4371a7:	0f b6 c3             	movzbl %bl,%eax
4371aa:	83 c0 04             	add    $0x4,%eax
4371ad:	3b d0                	cmp    %eax,%edx
4371af:	73 15                	jae    0x4371c6
4371b1:	6a 0c                	push   $0xc
4371b3:	c6 01 00             	movb   $0x0,(%ecx)
4371b6:	58                   	pop    %eax
4371b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4371ba:	33 cd                	xor    %ebp,%ecx
4371bc:	5b                   	pop    %ebx
4371bd:	e8 74 6c ff ff       	call   0x42de36
4371c2:	8b e5                	mov    %ebp,%esp
4371c4:	5d                   	pop    %ebp
4371c5:	c3                   	ret
4371c6:	84 db                	test   %bl,%bl
4371c8:	74 08                	je     0x4371d2
4371ca:	c6 01 2d             	movb   $0x2d,(%ecx)
4371cd:	41                   	inc    %ecx
4371ce:	4a                   	dec    %edx
4371cf:	c6 01 00             	movb   $0x0,(%ecx)
4371d2:	b8 c4 1c 46 00       	mov    $0x461cc4,%eax
4371d7:	c7 45 dc d4 1c 46 00 	movl   $0x461cd4,-0x24(%ebp)
4371de:	89 45 bc             	mov    %eax,-0x44(%ebp)
4371e1:	33 db                	xor    %ebx,%ebx
4371e3:	38 5d 18             	cmp    %bl,0x18(%ebp)
4371e6:	89 45 c0             	mov    %eax,-0x40(%ebp)
4371e9:	b8 c8 1c 46 00       	mov    $0x461cc8,%eax
4371ee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4371f1:	0f 95 c3             	setne  %bl
4371f4:	89 45 c8             	mov    %eax,-0x38(%ebp)
4371f7:	4b                   	dec    %ebx
4371f8:	b8 d0 1c 46 00       	mov    $0x461cd0,%eax
4371fd:	c7 45 e4 e0 1c 46 00 	movl   $0x461ce0,-0x1c(%ebp)
437204:	89 45 d4             	mov    %eax,-0x2c(%ebp)
437207:	83 e3 02             	and    $0x2,%ebx
43720a:	89 45 d8             	mov    %eax,-0x28(%ebp)
43720d:	89 45 e8             	mov    %eax,-0x18(%ebp)
437210:	89 45 f8             	mov    %eax,-0x8(%ebp)
437213:	8b 45 08             	mov    0x8(%ebp),%eax
437216:	56                   	push   %esi
437217:	be cc 1c 46 00       	mov    $0x461ccc,%esi
43721c:	c7 45 ec ec 1c 46 00 	movl   $0x461cec,-0x14(%ebp)
437223:	57                   	push   %edi
437224:	8d 3c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%edi
43722b:	89 75 cc             	mov    %esi,-0x34(%ebp)
43722e:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
437231:	89 75 d0             	mov    %esi,-0x30(%ebp)
437234:	89 75 e0             	mov    %esi,-0x20(%ebp)
437237:	89 75 f0             	mov    %esi,-0x10(%ebp)
43723a:	c7 45 f4 f8 1c 46 00 	movl   $0x461cf8,-0xc(%ebp)
437241:	8b 74 85 bc          	mov    -0x44(%ebp,%eax,4),%esi
437245:	8d 46 01             	lea    0x1(%esi),%eax
437248:	89 45 b8             	mov    %eax,-0x48(%ebp)
43724b:	8a 06                	mov    (%esi),%al
43724d:	46                   	inc    %esi
43724e:	84 c0                	test   %al,%al
437250:	75 f9                	jne    0x43724b
437252:	2b 75 b8             	sub    -0x48(%ebp),%esi
437255:	3b f2                	cmp    %edx,%esi
437257:	1b c0                	sbb    %eax,%eax
437259:	47                   	inc    %edi
43725a:	03 c7                	add    %edi,%eax
43725c:	03 c3                	add    %ebx,%eax
43725e:	ff 74 85 bc          	push   -0x44(%ebp,%eax,4)
437262:	52                   	push   %edx
437263:	51                   	push   %ecx
437264:	e8 39 df ff ff       	call   0x4351a2
437269:	83 c4 0c             	add    $0xc,%esp
43726c:	5f                   	pop    %edi
43726d:	5e                   	pop    %esi
43726e:	85 c0                	test   %eax,%eax
437270:	0f 84 41 ff ff ff    	je     0x4371b7
437276:	33 c0                	xor    %eax,%eax
437278:	50                   	push   %eax
437279:	50                   	push   %eax
43727a:	50                   	push   %eax
43727b:	50                   	push   %eax
43727c:	50                   	push   %eax
43727d:	e8 08 cb ff ff       	call   0x433d8a
437282:	cc                   	int3
437283:	8b ff                	mov    %edi,%edi
437285:	55                   	push   %ebp
437286:	8b ec                	mov    %esp,%ebp
437288:	8b 55 14             	mov    0x14(%ebp),%edx
43728b:	85 d2                	test   %edx,%edx
43728d:	74 26                	je     0x4372b5
43728f:	56                   	push   %esi
437290:	8b 75 10             	mov    0x10(%ebp),%esi
437293:	8b ce                	mov    %esi,%ecx
437295:	57                   	push   %edi
437296:	8d 79 01             	lea    0x1(%ecx),%edi
437299:	8a 01                	mov    (%ecx),%al
43729b:	41                   	inc    %ecx
43729c:	84 c0                	test   %al,%al
43729e:	75 f9                	jne    0x437299
4372a0:	2b cf                	sub    %edi,%ecx
4372a2:	8d 41 01             	lea    0x1(%ecx),%eax
4372a5:	50                   	push   %eax
4372a6:	8d 04 16             	lea    (%esi,%edx,1),%eax
4372a9:	56                   	push   %esi
4372aa:	50                   	push   %eax
4372ab:	e8 c0 78 ff ff       	call   0x42eb70
4372b0:	83 c4 0c             	add    $0xc,%esp
4372b3:	5f                   	pop    %edi
4372b4:	5e                   	pop    %esi
4372b5:	5d                   	pop    %ebp
4372b6:	c3                   	ret
4372b7:	8b ff                	mov    %edi,%edi
4372b9:	55                   	push   %ebp
4372ba:	8b ec                	mov    %esp,%ebp
4372bc:	51                   	push   %ecx
4372bd:	51                   	push   %ecx
4372be:	56                   	push   %esi
4372bf:	57                   	push   %edi
4372c0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4372c3:	85 ff                	test   %edi,%edi
4372c5:	75 16                	jne    0x4372dd
4372c7:	e8 6a cb ff ff       	call   0x433e36
4372cc:	6a 16                	push   $0x16
4372ce:	5e                   	pop    %esi
4372cf:	89 30                	mov    %esi,(%eax)
4372d1:	e8 a4 ca ff ff       	call   0x433d7a
4372d6:	8b c6                	mov    %esi,%eax
4372d8:	e9 1e 01 00 00       	jmp    0x4373fb
4372dd:	53                   	push   %ebx
4372de:	8b 5d 10             	mov    0x10(%ebp),%ebx
4372e1:	85 db                	test   %ebx,%ebx
4372e3:	74 0c                	je     0x4372f1
4372e5:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4372e9:	74 06                	je     0x4372f1
4372eb:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4372ef:	77 16                	ja     0x437307
4372f1:	e8 40 cb ff ff       	call   0x433e36
4372f6:	6a 16                	push   $0x16
4372f8:	5e                   	pop    %esi
4372f9:	89 30                	mov    %esi,(%eax)
4372fb:	e8 7a ca ff ff       	call   0x433d7a
437300:	8b c6                	mov    %esi,%eax
437302:	e9 f3 00 00 00       	jmp    0x4373fa
437307:	8b 75 1c             	mov    0x1c(%ebp),%esi
43730a:	83 fe 41             	cmp    $0x41,%esi
43730d:	74 13                	je     0x437322
43730f:	83 fe 45             	cmp    $0x45,%esi
437312:	74 0e                	je     0x437322
437314:	83 fe 46             	cmp    $0x46,%esi
437317:	74 09                	je     0x437322
437319:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
43731d:	83 fe 47             	cmp    $0x47,%esi
437320:	75 04                	jne    0x437326
437322:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
437326:	8b 45 24             	mov    0x24(%ebp),%eax
437329:	83 e0 08             	and    $0x8,%eax
43732c:	83 c8 00             	or     $0x0,%eax
43732f:	75 32                	jne    0x437363
437331:	ff 75 08             	push   0x8(%ebp)
437334:	e8 b3 f6 ff ff       	call   0x4369ec
437339:	89 45 f8             	mov    %eax,-0x8(%ebp)
43733c:	59                   	pop    %ecx
43733d:	85 c0                	test   %eax,%eax
43733f:	74 22                	je     0x437363
437341:	ff 75 fc             	push   -0x4(%ebp)
437344:	53                   	push   %ebx
437345:	57                   	push   %edi
437346:	ff 75 08             	push   0x8(%ebp)
437349:	e8 0a f7 ff ff       	call   0x436a58
43734e:	59                   	pop    %ecx
43734f:	0f b6 c0             	movzbl %al,%eax
437352:	50                   	push   %eax
437353:	ff 75 f8             	push   -0x8(%ebp)
437356:	e8 30 fe ff ff       	call   0x43718b
43735b:	83 c4 14             	add    $0x14,%esp
43735e:	e9 97 00 00 00       	jmp    0x4373fa
437363:	8b 45 24             	mov    0x24(%ebp),%eax
437366:	83 e0 10             	and    $0x10,%eax
437369:	83 c8 00             	or     $0x0,%eax
43736c:	74 04                	je     0x437372
43736e:	6a 03                	push   $0x3
437370:	eb 02                	jmp    0x437374
437372:	6a 02                	push   $0x2
437374:	58                   	pop    %eax
437375:	83 fe 61             	cmp    $0x61,%esi
437378:	7f 28                	jg     0x4373a2
43737a:	74 0a                	je     0x437386
43737c:	83 ee 41             	sub    $0x41,%esi
43737f:	74 05                	je     0x437386
437381:	83 ee 04             	sub    $0x4,%esi
437384:	eb 1f                	jmp    0x4373a5
437386:	ff 75 2c             	push   0x2c(%ebp)
437389:	50                   	push   %eax
43738a:	ff 75 fc             	push   -0x4(%ebp)
43738d:	ff 75 20             	push   0x20(%ebp)
437390:	ff 75 18             	push   0x18(%ebp)
437393:	ff 75 14             	push   0x14(%ebp)
437396:	53                   	push   %ebx
437397:	57                   	push   %edi
437398:	ff 75 08             	push   0x8(%ebp)
43739b:	e8 d6 f6 ff ff       	call   0x436a76
4373a0:	eb 55                	jmp    0x4373f7
4373a2:	83 ee 65             	sub    $0x65,%esi
4373a5:	ff 75 2c             	push   0x2c(%ebp)
4373a8:	74 36                	je     0x4373e0
4373aa:	83 ee 01             	sub    $0x1,%esi
4373ad:	74 19                	je     0x4373c8
4373af:	50                   	push   %eax
4373b0:	ff 75 fc             	push   -0x4(%ebp)
4373b3:	ff 75 20             	push   0x20(%ebp)
4373b6:	ff 75 18             	push   0x18(%ebp)
4373b9:	ff 75 14             	push   0x14(%ebp)
4373bc:	53                   	push   %ebx
4373bd:	57                   	push   %edi
4373be:	ff 75 08             	push   0x8(%ebp)
4373c1:	e8 fd fc ff ff       	call   0x4370c3
4373c6:	eb 2f                	jmp    0x4373f7
4373c8:	ff 75 20             	push   0x20(%ebp)
4373cb:	ff 75 18             	push   0x18(%ebp)
4373ce:	ff 75 14             	push   0x14(%ebp)
4373d1:	53                   	push   %ebx
4373d2:	57                   	push   %edi
4373d3:	ff 75 08             	push   0x8(%ebp)
4373d6:	e8 84 fb ff ff       	call   0x436f5f
4373db:	83 c4 1c             	add    $0x1c,%esp
4373de:	eb 1a                	jmp    0x4373fa
4373e0:	50                   	push   %eax
4373e1:	ff 75 fc             	push   -0x4(%ebp)
4373e4:	ff 75 20             	push   0x20(%ebp)
4373e7:	ff 75 18             	push   0x18(%ebp)
4373ea:	ff 75 14             	push   0x14(%ebp)
4373ed:	53                   	push   %ebx
4373ee:	57                   	push   %edi
4373ef:	ff 75 08             	push   0x8(%ebp)
4373f2:	e8 82 f9 ff ff       	call   0x436d79
4373f7:	83 c4 24             	add    $0x24,%esp
4373fa:	5b                   	pop    %ebx
4373fb:	5f                   	pop    %edi
4373fc:	5e                   	pop    %esi
4373fd:	8b e5                	mov    %ebp,%esp
4373ff:	5d                   	pop    %ebp
437400:	c3                   	ret
437401:	8b ff                	mov    %edi,%edi
437403:	55                   	push   %ebp
437404:	8b ec                	mov    %esp,%ebp
437406:	8b 45 08             	mov    0x8(%ebp),%eax
437409:	85 c0                	test   %eax,%eax
43740b:	75 15                	jne    0x437422
43740d:	e8 24 ca ff ff       	call   0x433e36
437412:	c7 00 16 00 00 00    	movl   $0x16,(%eax)