411122:	8b ec                	mov    %esp,%ebp
411124:	83 ec 14             	sub    $0x14,%esp
411127:	53                   	push   %ebx
411128:	8b d9                	mov    %ecx,%ebx
41112a:	56                   	push   %esi
41112b:	57                   	push   %edi
41112c:	8b 7d 08             	mov    0x8(%ebp),%edi
41112f:	8b 73 0c             	mov    0xc(%ebx),%esi
411132:	85 f6                	test   %esi,%esi
411134:	74 29                	je     0x41115f
411136:	8b 43 14             	mov    0x14(%ebx),%eax
411139:	33 d2                	xor    %edx,%edx
41113b:	2b 43 10             	sub    0x10(%ebx),%eax
41113e:	f7 f6                	div    %esi
411140:	8b 4f 04             	mov    0x4(%edi),%ecx
411143:	3b c8                	cmp    %eax,%ecx
411145:	76 0e                	jbe    0x411155
411147:	50                   	push   %eax
411148:	8b cf                	mov    %edi,%ecx
41114a:	e8 a2 f8 ff ff       	call   0x4109f1
41114f:	8b 4f 04             	mov    0x4(%edi),%ecx
411152:	8b 73 0c             	mov    0xc(%ebx),%esi
411155:	8b 45 0c             	mov    0xc(%ebp),%eax
411158:	0f af f1             	imul   %ecx,%esi
41115b:	03 c6                	add    %esi,%eax
41115d:	eb 48                	jmp    0x4111a7
41115f:	66 8b 43 06          	mov    0x6(%ebx),%ax
411163:	33 f6                	xor    %esi,%esi
411165:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
411169:	8a 43 08             	mov    0x8(%ebx),%al
41116c:	88 45 ee             	mov    %al,-0x12(%ebp)
41116f:	33 c0                	xor    %eax,%eax
411171:	89 75 f0             	mov    %esi,-0x10(%ebp)
411174:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
411178:	89 75 f8             	mov    %esi,-0x8(%ebp)
41117b:	89 75 fc             	mov    %esi,-0x4(%ebp)
41117e:	39 77 04             	cmp    %esi,0x4(%edi)
411181:	76 19                	jbe    0x41119c
411183:	ff 73 14             	push   0x14(%ebx)
411186:	8d 45 0c             	lea    0xc(%ebp),%eax
411189:	50                   	push   %eax
41118a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41118d:	e8 88 f9 ff ff       	call   0x410b1a
411192:	84 c0                	test   %al,%al
411194:	74 06                	je     0x41119c
411196:	46                   	inc    %esi
411197:	3b 77 04             	cmp    0x4(%edi),%esi
41119a:	72 e7                	jb     0x411183
41119c:	56                   	push   %esi
41119d:	8b cf                	mov    %edi,%ecx
41119f:	e8 4d f8 ff ff       	call   0x4109f1
4111a4:	8b 45 0c             	mov    0xc(%ebp),%eax
4111a7:	5f                   	pop    %edi
4111a8:	5e                   	pop    %esi
4111a9:	5b                   	pop    %ebx
4111aa:	c9                   	leave
4111ab:	c2 08 00             	ret    $0x8
4111ae:	8b ff                	mov    %edi,%edi
4111b0:	55                   	push   %ebp
4111b1:	8b ec                	mov    %esp,%ebp
4111b3:	83 ec 30             	sub    $0x30,%esp
4111b6:	53                   	push   %ebx
4111b7:	56                   	push   %esi
4111b8:	8b f1                	mov    %ecx,%esi
4111ba:	57                   	push   %edi
4111bb:	8b 7e 10             	mov    0x10(%esi),%edi
4111be:	85 ff                	test   %edi,%edi
4111c0:	0f 84 75 01 00 00    	je     0x41133b
4111c6:	66 8b 46 02          	mov    0x2(%esi),%ax
4111ca:	33 c9                	xor    %ecx,%ecx
4111cc:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
4111d0:	83 c7 0a             	add    $0xa,%edi
4111d3:	8a 46 04             	mov    0x4(%esi),%al
4111d6:	8a f9                	mov    %cl,%bh
4111d8:	88 45 e6             	mov    %al,-0x1a(%ebp)
4111db:	33 c0                	xor    %eax,%eax
4111dd:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4111e0:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
4111e4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4111e7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4111ea:	88 7d ff             	mov    %bh,-0x1(%ebp)
4111ed:	eb 2c                	jmp    0x41121b
4111ef:	ff 75 0c             	push   0xc(%ebp)
4111f2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4111f5:	ff 75 08             	push   0x8(%ebp)
4111f8:	e8 cd f7 ff ff       	call   0x4109ca
4111fd:	85 c0                	test   %eax,%eax
4111ff:	0f 88 fe 00 00 00    	js     0x411303
411205:	8d 45 e4             	lea    -0x1c(%ebp),%eax
411208:	8b ce                	mov    %esi,%ecx
41120a:	0f 84 cd 00 00 00    	je     0x4112dd
411210:	ff 75 f8             	push   -0x8(%ebp)
411213:	50                   	push   %eax
411214:	e8 06 ff ff ff       	call   0x41111f
411219:	8b f8                	mov    %eax,%edi
41121b:	ff 76 14             	push   0x14(%esi)
41121e:	8d 45 f8             	lea    -0x8(%ebp),%eax
411221:	89 7d f8             	mov    %edi,-0x8(%ebp)
411224:	50                   	push   %eax
411225:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
411228:	e8 ed f8 ff ff       	call   0x410b1a
41122d:	8a d8                	mov    %al,%bl
41122f:	84 db                	test   %bl,%bl
411231:	75 bc                	jne    0x4111ef
411233:	8b 7d f8             	mov    -0x8(%ebp),%edi
411236:	89 7e 14             	mov    %edi,0x14(%esi)
411239:	33 d2                	xor    %edx,%edx
41123b:	84 ff                	test   %bh,%bh
41123d:	75 21                	jne    0x411260
41123f:	8b 45 0c             	mov    0xc(%ebp),%eax
411242:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
411245:	21 55 f0             	and    %edx,-0x10(%ebp)
411248:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
41124c:	8b 45 08             	mov    0x8(%ebp),%eax
41124f:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
411256:	89 45 f4             	mov    %eax,-0xc(%ebp)
411259:	e8 d8 f7 ff ff       	call   0x410a36
41125e:	8b d0                	mov    %eax,%edx
411260:	66 8b 4e 06          	mov    0x6(%esi),%cx
411264:	8b 45 18             	mov    0x18(%ebp),%eax
411267:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
41126b:	66 89 4d d0          	mov    %cx,-0x30(%ebp)
41126f:	8a 4e 08             	mov    0x8(%esi),%cl
411272:	89 45 d4             	mov    %eax,-0x2c(%ebp)
411275:	8b 45 14             	mov    0x14(%ebp),%eax
411278:	88 4d d2             	mov    %cl,-0x2e(%ebp)
41127b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41127e:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
411282:	8b 45 10             	mov    0x10(%ebp),%eax
411285:	89 45 e0             	mov    %eax,-0x20(%ebp)
411288:	e8 a9 f7 ff ff       	call   0x410a36
41128d:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
411290:	8b 46 18             	mov    0x18(%esi),%eax
411293:	8b d0                	mov    %eax,%edx
411295:	2b 56 14             	sub    0x14(%esi),%edx
411298:	39 46 14             	cmp    %eax,0x14(%esi)
41129b:	1b c9                	sbb    %ecx,%ecx
41129d:	23 ca                	and    %edx,%ecx
41129f:	3b cb                	cmp    %ebx,%ecx
4112a1:	0f 82 94 00 00 00    	jb     0x41133b
4112a7:	8b 4e 14             	mov    0x14(%esi),%ecx
4112aa:	2b c3                	sub    %ebx,%eax
4112ac:	2b cf                	sub    %edi,%ecx
4112ae:	2b c7                	sub    %edi,%eax
4112b0:	51                   	push   %ecx
4112b1:	57                   	push   %edi
4112b2:	50                   	push   %eax
4112b3:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4112b6:	50                   	push   %eax
4112b7:	ff 15 c0 b2 41 00    	call   *0x41b2c0
4112bd:	8b 46 14             	mov    0x14(%esi),%eax
4112c0:	83 c4 10             	add    $0x10,%esp
4112c3:	03 c3                	add    %ebx,%eax
4112c5:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4112c9:	89 46 14             	mov    %eax,0x14(%esi)
4112cc:	75 45                	jne    0x411313
4112ce:	50                   	push   %eax
4112cf:	8d 45 f8             	lea    -0x8(%ebp),%eax
4112d2:	50                   	push   %eax
4112d3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4112d6:	e8 7f f7 ff ff       	call   0x410a5a
4112db:	eb 49                	jmp    0x411326
4112dd:	ff 75 18             	push   0x18(%ebp)
4112e0:	ff 75 14             	push   0x14(%ebp)
4112e3:	ff 75 10             	push   0x10(%ebp)
4112e6:	ff 75 f8             	push   -0x8(%ebp)
4112e9:	50                   	push   %eax
4112ea:	e8 ff fc ff ff       	call   0x410fee
4112ef:	8b f8                	mov    %eax,%edi
4112f1:	89 7d f8             	mov    %edi,-0x8(%ebp)
4112f4:	85 ff                	test   %edi,%edi
4112f6:	75 04                	jne    0x4112fc
4112f8:	b0 01                	mov    $0x1,%al
4112fa:	eb 41                	jmp    0x41133d
4112fc:	b7 01                	mov    $0x1,%bh
4112fe:	88 7d ff             	mov    %bh,-0x1(%ebp)
411301:	eb 03                	jmp    0x411306
411303:	89 7d f8             	mov    %edi,-0x8(%ebp)
411306:	84 db                	test   %bl,%bl
411308:	0f 85 2b ff ff ff    	jne    0x411239
41130e:	e9 23 ff ff ff       	jmp    0x411236
411313:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
411317:	74 0d                	je     0x411326
411319:	8b 45 e8             	mov    -0x18(%ebp),%eax
41131c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41131f:	40                   	inc    %eax
411320:	50                   	push   %eax
411321:	e8 cb f6 ff ff       	call   0x4109f1
411326:	ff 76 14             	push   0x14(%esi)
411329:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41132c:	51                   	push   %ecx
41132d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
411330:	e8 25 f7 ff ff       	call   0x410a5a
411335:	c6 46 20 01          	movb   $0x1,0x20(%esi)
411339:	eb bd                	jmp    0x4112f8
41133b:	32 c0                	xor    %al,%al
41133d:	5f                   	pop    %edi
41133e:	5e                   	pop    %esi
41133f:	5b                   	pop    %ebx
411340:	c9                   	leave
411341:	c2 14 00             	ret    $0x14
411344:	83 c1 0c             	add    $0xc,%ecx
411347:	e9 1f 0e 00 00       	jmp    0x41216b
41134c:	8b ff                	mov    %edi,%edi
41134e:	55                   	push   %ebp
41134f:	8b ec                	mov    %esp,%ebp
411351:	6a ff                	push   $0xffffffff
411353:	68 c2 44 41 00       	push   $0x4144c2
411358:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41135e:	50                   	push   %eax
41135f:	b8 58 10 00 00       	mov    $0x1058,%eax
411364:	e8 c7 2d 00 00       	call   0x414130
411369:	a1 18 51 41 00       	mov    0x415118,%eax
41136e:	33 c5                	xor    %ebp,%eax
411370:	89 45 ec             	mov    %eax,-0x14(%ebp)
411373:	53                   	push   %ebx
411374:	56                   	push   %esi
411375:	57                   	push   %edi
411376:	50                   	push   %eax
411377:	8d 45 f4             	lea    -0xc(%ebp),%eax
41137a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411380:	8b d9                	mov    %ecx,%ebx
411382:	83 a5 e0 ef ff ff 00 	andl   $0x0,-0x1020(%ebp)
411389:	8d 04 d3             	lea    (%ebx,%edx,8),%eax
41138c:	83 a5 d4 ef ff ff 00 	andl   $0x0,-0x102c(%ebp)
411393:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
411399:	8b 4d 08             	mov    0x8(%ebp),%ecx
41139c:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
4113a0:	50                   	push   %eax
4113a1:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
4113a5:	50                   	push   %eax
4113a6:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
4113aa:	50                   	push   %eax
4113ab:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4113af:	50                   	push   %eax
4113b0:	0f b7 01             	movzwl (%ecx),%eax
4113b3:	8d 8d a0 ef ff ff    	lea    -0x1060(%ebp),%ecx
4113b9:	50                   	push   %eax
4113ba:	e8 05 f8 ff ff       	call   0x410bc4
4113bf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4113c3:	8d 85 e4 ef ff ff    	lea    -0x101c(%ebp),%eax
4113c9:	50                   	push   %eax
4113ca:	8d 85 ec ef ff ff    	lea    -0x1014(%ebp),%eax
4113d0:	c7 85 e4 ef ff ff 00 	movl   $0x1000,-0x101c(%ebp)
4113d7:	10 00 00
4113da:	50                   	push   %eax
4113db:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
4113e1:	50                   	push   %eax
4113e2:	51                   	push   %ecx
4113e3:	8b cb                	mov    %ebx,%ecx
4113e5:	e8 7f ec ff ff       	call   0x410069
4113ea:	8b f0                	mov    %eax,%esi
4113ec:	8b ce                	mov    %esi,%ecx
4113ee:	e8 fa eb ff ff       	call   0x40ffed
4113f3:	85 f6                	test   %esi,%esi
4113f5:	74 10                	je     0x411407
4113f7:	33 c0                	xor    %eax,%eax
4113f9:	21 85 dc ef ff ff    	and    %eax,-0x1024(%ebp)
4113ff:	89 85 e4 ef ff ff    	mov    %eax,-0x101c(%ebp)
411405:	eb 06                	jmp    0x41140d
411407:	8b 85 e4 ef ff ff    	mov    -0x101c(%ebp),%eax
41140d:	68 00 10 00 00       	push   $0x1000
411412:	50                   	push   %eax
411413:	8d 85 ec ef ff ff    	lea    -0x1014(%ebp),%eax
411419:	50                   	push   %eax
41141a:	8d 8d a0 ef ff ff    	lea    -0x1060(%ebp),%ecx
411420:	e8 98 f8 ff ff       	call   0x410cbd
411425:	80 bd c1 ef ff ff 00 	cmpb   $0x0,-0x103f(%ebp)
41142c:	0f 85 fc 00 00 00    	jne    0x41152e
411432:	83 a5 d8 ef ff ff 00 	andl   $0x0,-0x1028(%ebp)
411439:	8d 85 d8 ef ff ff    	lea    -0x1028(%ebp),%eax
41143f:	89 85 c4 ef ff ff    	mov    %eax,-0x103c(%ebp)
411445:	8d b5 c4 ef ff ff    	lea    -0x103c(%ebp),%esi
41144b:	83 ec 48             	sub    $0x48,%esp
41144e:	8d 85 d4 ef ff ff    	lea    -0x102c(%ebp),%eax
411454:	89 85 c8 ef ff ff    	mov    %eax,-0x1038(%ebp)
41145a:	8b cc                	mov    %esp,%ecx
41145c:	8d 85 a0 ef ff ff    	lea    -0x1060(%ebp),%eax
411462:	89 85 cc ef ff ff    	mov    %eax,-0x1034(%ebp)
411468:	8d 41 08             	lea    0x8(%ecx),%eax
41146b:	8d 78 04             	lea    0x4(%eax),%edi
41146e:	c7 00 e4 17 40 00    	movl   $0x4017e4,(%eax)
411474:	a5                   	movsl  %ds:(%esi),%es:(%edi)
411475:	a5                   	movsl  %ds:(%esi),%es:(%edi)
411476:	a5                   	movsl  %ds:(%esi),%es:(%edi)
411477:	89 41 40             	mov    %eax,0x40(%ecx)
41147a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41147d:	e8 21 f9 ff ff       	call   0x410da3
411482:	80 bd c0 ef ff ff 00 	cmpb   $0x0,-0x1040(%ebp)
411489:	88 85 eb ef ff ff    	mov    %al,-0x1015(%ebp)
41148f:	74 47                	je     0x4114d8
411491:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
411497:	8b 95 b0 ef ff ff    	mov    -0x1050(%ebp),%edx
41149d:	2b ca                	sub    %edx,%ecx
41149f:	6a 01                	push   $0x1
4114a1:	ff b5 dc ef ff ff    	push   -0x1024(%ebp)
4114a7:	51                   	push   %ecx
4114a8:	51                   	push   %ecx
4114a9:	51                   	push   %ecx
4114aa:	8b cb                	mov    %ebx,%ecx
4114ac:	e8 0d ec ff ff       	call   0x4100be
4114b1:	3d 01 00 00 c0       	cmp    $0xc0000001,%eax
4114b6:	74 60                	je     0x411518
4114b8:	85 c0                	test   %eax,%eax
4114ba:	74 1c                	je     0x4114d8
4114bc:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
4114c2:	8b 95 b0 ef ff ff    	mov    -0x1050(%ebp),%edx
4114c8:	2b c2                	sub    %edx,%eax
4114ca:	6a 00                	push   $0x0
4114cc:	6a 00                	push   $0x0
4114ce:	51                   	push   %ecx
4114cf:	51                   	push   %ecx
4114d0:	50                   	push   %eax
4114d1:	8b cb                	mov    %ebx,%ecx
4114d3:	e8 e6 eb ff ff       	call   0x4100be
4114d8:	8b 85 d8 ef ff ff    	mov    -0x1028(%ebp),%eax
4114de:	83 c3 08             	add    $0x8,%ebx
4114e1:	8b bd e0 ef ff ff    	mov    -0x1020(%ebp),%edi
4114e7:	89 85 d4 ef ff ff    	mov    %eax,-0x102c(%ebp)
4114ed:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4114f1:	8d 8d bc ef ff ff    	lea    -0x1044(%ebp),%ecx
4114f7:	e8 6f 0c 00 00       	call   0x41216b
4114fc:	80 bd eb ef ff ff 00 	cmpb   $0x0,-0x1015(%ebp)
411503:	75 34                	jne    0x411539
411505:	3b 9d d0 ef ff ff    	cmp    -0x1030(%ebp),%ebx
41150b:	73 2c                	jae    0x411539
41150d:	83 ff 32             	cmp    $0x32,%edi
411510:	0f 82 83 fe ff ff    	jb     0x411399
411516:	eb 21                	jmp    0x411539
411518:	8b bd e0 ef ff ff    	mov    -0x1020(%ebp),%edi
41151e:	47                   	inc    %edi
41151f:	c6 85 eb ef ff ff 00 	movb   $0x0,-0x1015(%ebp)
411526:	89 bd e0 ef ff ff    	mov    %edi,-0x1020(%ebp)
41152c:	eb bf                	jmp    0x4114ed
41152e:	8d 8d bc ef ff ff    	lea    -0x1044(%ebp),%ecx
411534:	e8 32 0c 00 00       	call   0x41216b
411539:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41153c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411543:	59                   	pop    %ecx
411544:	5f                   	pop    %edi
411545:	5e                   	pop    %esi
411546:	5b                   	pop    %ebx
411547:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41154a:	33 cd                	xor    %ebp,%ecx
41154c:	e8 8f 23 00 00       	call   0x4138e0
411551:	c9                   	leave
411552:	c2 04 00             	ret    $0x4
411555:	83 c1 1c             	add    $0x1c,%ecx
411558:	e9 0e 0c 00 00       	jmp    0x41216b
41155d:	8b ff                	mov    %edi,%edi