4180c5:	6a 00                	push   $0x0
4180c7:	6a 04                	push   $0x4
4180c9:	ff 75 e8             	push   -0x18(%ebp)
4180cc:	2b d8                	sub    %eax,%ebx
4180ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4180d1:	1b c2                	sbb    %edx,%eax
4180d3:	56                   	push   %esi
4180d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4180d7:	e8 f4 1b 00 00       	call   0x419cd0
4180dc:	6a 00                	push   $0x0
4180de:	68 6d 01 00 00       	push   $0x16d
4180e3:	ff 75 f8             	push   -0x8(%ebp)
4180e6:	03 d8                	add    %eax,%ebx
4180e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4180eb:	ff 75 f4             	push   -0xc(%ebp)
4180ee:	13 c2                	adc    %edx,%eax
4180f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4180f3:	e8 98 1b 00 00       	call   0x419c90
4180f8:	03 d8                	add    %eax,%ebx
4180fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4180fd:	13 c2                	adc    %edx,%eax
4180ff:	03 5d ec             	add    -0x14(%ebp),%ebx
418102:	6a 00                	push   $0x0
418104:	13 45 f0             	adc    -0x10(%ebp),%eax
418107:	81 eb df 63 00 00    	sub    $0x63df,%ebx
41810d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418110:	5b                   	pop    %ebx
418111:	53                   	push   %ebx
418112:	1b c3                	sbb    %ebx,%eax
418114:	6a 18                	push   $0x18
418116:	50                   	push   %eax
418117:	8b 45 fc             	mov    -0x4(%ebp),%eax
41811a:	50                   	push   %eax
41811b:	e8 70 1b 00 00       	call   0x419c90
418120:	8b c8                	mov    %eax,%ecx
418122:	8b 47 08             	mov    0x8(%edi),%eax
418125:	8b f2                	mov    %edx,%esi
418127:	99                   	cltd
418128:	53                   	push   %ebx
418129:	03 c1                	add    %ecx,%eax
41812b:	6a 3c                	push   $0x3c
41812d:	13 d6                	adc    %esi,%edx
41812f:	52                   	push   %edx
418130:	50                   	push   %eax
418131:	e8 5a 1b 00 00       	call   0x419c90
418136:	8b c8                	mov    %eax,%ecx
418138:	8b 47 04             	mov    0x4(%edi),%eax
41813b:	8b f2                	mov    %edx,%esi
41813d:	99                   	cltd
41813e:	03 c1                	add    %ecx,%eax
418140:	13 d6                	adc    %esi,%edx
418142:	53                   	push   %ebx
418143:	6a 3c                	push   $0x3c
418145:	52                   	push   %edx
418146:	50                   	push   %eax
418147:	e8 44 1b 00 00       	call   0x419c90
41814c:	8b c8                	mov    %eax,%ecx
41814e:	8b 07                	mov    (%edi),%eax
418150:	8b f2                	mov    %edx,%esi
418152:	99                   	cltd
418153:	03 c1                	add    %ecx,%eax
418155:	13 d6                	adc    %esi,%edx
418157:	39 5d 08             	cmp    %ebx,0x8(%ebp)
41815a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41815d:	89 55 f8             	mov    %edx,-0x8(%ebp)
418160:	74 44                	je     0x4181a6
418162:	e8 56 59 00 00       	call   0x41dabd
418167:	a1 08 8f 4a 00       	mov    0x4a8f08,%eax
41816c:	99                   	cltd
41816d:	01 45 f4             	add    %eax,-0xc(%ebp)
418170:	8d 45 f4             	lea    -0xc(%ebp),%eax
418173:	50                   	push   %eax
418174:	11 55 f8             	adc    %edx,-0x8(%ebp)
418177:	e8 61 ea ff ff       	call   0x416bdd
41817c:	3b c3                	cmp    %ebx,%eax
41817e:	59                   	pop    %ecx
41817f:	74 42                	je     0x4181c3
418181:	8b 4f 20             	mov    0x20(%edi),%ecx
418184:	3b cb                	cmp    %ebx,%ecx
418186:	7f 07                	jg     0x41818f
418188:	7d 2a                	jge    0x4181b4
41818a:	39 58 20             	cmp    %ebx,0x20(%eax)
41818d:	7e 25                	jle    0x4181b4
41818f:	a1 10 8f 4a 00       	mov    0x4a8f10,%eax
418194:	99                   	cltd
418195:	01 45 f4             	add    %eax,-0xc(%ebp)
418198:	8d 45 f4             	lea    -0xc(%ebp),%eax
41819b:	50                   	push   %eax
41819c:	11 55 f8             	adc    %edx,-0x8(%ebp)
41819f:	e8 39 ea ff ff       	call   0x416bdd
4181a4:	eb 09                	jmp    0x4181af
4181a6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4181a9:	50                   	push   %eax
4181aa:	e8 cd 59 00 00       	call   0x41db7c
4181af:	3b c3                	cmp    %ebx,%eax
4181b1:	59                   	pop    %ecx
4181b2:	74 0f                	je     0x4181c3
4181b4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4181b7:	6a 09                	push   $0x9
4181b9:	8b f0                	mov    %eax,%esi
4181bb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4181be:	59                   	pop    %ecx
4181bf:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4181c1:	eb 05                	jmp    0x4181c8
4181c3:	83 ca ff             	or     $0xffffffff,%edx
4181c6:	8b c2                	mov    %edx,%eax
4181c8:	5f                   	pop    %edi
4181c9:	5e                   	pop    %esi
4181ca:	5b                   	pop    %ebx
4181cb:	c9                   	leave
4181cc:	c3                   	ret
4181cd:	8b 44 24 04          	mov    0x4(%esp),%eax
4181d1:	6a 01                	push   $0x1
4181d3:	e8 a5 fd ff ff       	call   0x417f7d
4181d8:	59                   	pop    %ecx
4181d9:	c3                   	ret
4181da:	8b 44 24 04          	mov    0x4(%esp),%eax
4181de:	6a 00                	push   $0x0
4181e0:	e8 98 fd ff ff       	call   0x417f7d
4181e5:	59                   	pop    %ecx
4181e6:	c3                   	ret
4181e7:	cc                   	int3
4181e8:	68 ec 65 41 00       	push   $0x4165ec
4181ed:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4181f3:	50                   	push   %eax
4181f4:	8b 44 24 10          	mov    0x10(%esp),%eax
4181f8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4181fc:	8d 6c 24 10          	lea    0x10(%esp),%ebp
418200:	2b e0                	sub    %eax,%esp
418202:	53                   	push   %ebx
418203:	56                   	push   %esi
418204:	57                   	push   %edi
418205:	8b 45 f8             	mov    -0x8(%ebp),%eax
418208:	89 65 e8             	mov    %esp,-0x18(%ebp)
41820b:	50                   	push   %eax
41820c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41820f:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
418216:	89 45 f8             	mov    %eax,-0x8(%ebp)
418219:	8d 45 f0             	lea    -0x10(%ebp),%eax
41821c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
418222:	c3                   	ret
418223:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418226:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41822d:	59                   	pop    %ecx
41822e:	5f                   	pop    %edi
41822f:	5e                   	pop    %esi
418230:	5b                   	pop    %ebx
418231:	c9                   	leave
418232:	51                   	push   %ecx
418233:	c3                   	ret
418234:	cc                   	int3
418235:	cc                   	int3
418236:	cc                   	int3
418237:	cc                   	int3
418238:	cc                   	int3
418239:	cc                   	int3
41823a:	cc                   	int3
41823b:	cc                   	int3
41823c:	cc                   	int3
41823d:	cc                   	int3
41823e:	cc                   	int3
41823f:	cc                   	int3
418240:	8b 54 24 0c          	mov    0xc(%esp),%edx
418244:	8b 4c 24 04          	mov    0x4(%esp),%ecx
418248:	85 d2                	test   %edx,%edx
41824a:	74 4f                	je     0x41829b
41824c:	33 c0                	xor    %eax,%eax
41824e:	8a 44 24 08          	mov    0x8(%esp),%al
418252:	57                   	push   %edi
418253:	8b f9                	mov    %ecx,%edi
418255:	83 fa 04             	cmp    $0x4,%edx
418258:	72 31                	jb     0x41828b
41825a:	f7 d9                	neg    %ecx
41825c:	83 e1 03             	and    $0x3,%ecx
41825f:	74 0c                	je     0x41826d
418261:	2b d1                	sub    %ecx,%edx
418263:	88 07                	mov    %al,(%edi)
418265:	83 c7 01             	add    $0x1,%edi
418268:	83 e9 01             	sub    $0x1,%ecx
41826b:	75 f6                	jne    0x418263
41826d:	8b c8                	mov    %eax,%ecx
41826f:	c1 e0 08             	shl    $0x8,%eax
418272:	03 c1                	add    %ecx,%eax
418274:	8b c8                	mov    %eax,%ecx
418276:	c1 e0 10             	shl    $0x10,%eax
418279:	03 c1                	add    %ecx,%eax
41827b:	8b ca                	mov    %edx,%ecx
41827d:	83 e2 03             	and    $0x3,%edx
418280:	c1 e9 02             	shr    $0x2,%ecx
418283:	74 06                	je     0x41828b
418285:	f3 ab                	rep stos %eax,%es:(%edi)
418287:	85 d2                	test   %edx,%edx
418289:	74 0a                	je     0x418295
41828b:	88 07                	mov    %al,(%edi)
41828d:	83 c7 01             	add    $0x1,%edi
418290:	83 ea 01             	sub    $0x1,%edx
418293:	75 f6                	jne    0x41828b
418295:	8b 44 24 08          	mov    0x8(%esp),%eax
418299:	5f                   	pop    %edi
41829a:	c3                   	ret
41829b:	8b 44 24 04          	mov    0x4(%esp),%eax
41829f:	c3                   	ret
4182a0:	55                   	push   %ebp
4182a1:	8b ec                	mov    %esp,%ebp
4182a3:	e8 ff 49 00 00       	call   0x41cca7
4182a8:	8b 40 60             	mov    0x60(%eax),%eax
4182ab:	3b 05 d4 e1 4a 00    	cmp    0x4ae1d4,%eax
4182b1:	74 05                	je     0x4182b8
4182b3:	e8 4e 1d 00 00       	call   0x41a006
4182b8:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4182bc:	75 06                	jne    0x4182c4
4182be:	5d                   	pop    %ebp
4182bf:	e9 dc 8e 00 00       	jmp    0x4211a0
4182c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4182c7:	53                   	push   %ebx
4182c8:	56                   	push   %esi
4182c9:	eb 2f                	jmp    0x4182fa
4182cb:	0f b6 f2             	movzbl %dl,%esi
4182ce:	f6 44 06 1d 04       	testb  $0x4,0x1d(%esi,%eax,1)
4182d3:	74 1c                	je     0x4182f1
4182d5:	41                   	inc    %ecx
4182d6:	8a 19                	mov    (%ecx),%bl
4182d8:	84 db                	test   %bl,%bl
4182da:	74 3b                	je     0x418317
4182dc:	0f b7 d2             	movzwl %dx,%edx
4182df:	0f b6 f3             	movzbl %bl,%esi
4182e2:	c1 e2 08             	shl    $0x8,%edx
4182e5:	0b d6                	or     %esi,%edx
4182e7:	39 55 0c             	cmp    %edx,0xc(%ebp)
4182ea:	75 0d                	jne    0x4182f9
4182ec:	8d 41 ff             	lea    -0x1(%ecx),%eax
4182ef:	eb 22                	jmp    0x418313
4182f1:	0f b7 f2             	movzwl %dx,%esi
4182f4:	39 75 0c             	cmp    %esi,0xc(%ebp)
4182f7:	74 0a                	je     0x418303
4182f9:	41                   	inc    %ecx
4182fa:	66 0f b6 11          	movzbw (%ecx),%dx
4182fe:	66 85 d2             	test   %dx,%dx
418301:	75 c8                	jne    0x4182cb
418303:	8b 45 0c             	mov    0xc(%ebp),%eax
418306:	0f b7 d2             	movzwl %dx,%edx
418309:	2b c2                	sub    %edx,%eax
41830b:	f7 d8                	neg    %eax
41830d:	1b c0                	sbb    %eax,%eax
41830f:	f7 d0                	not    %eax
418311:	23 c1                	and    %ecx,%eax
418313:	5e                   	pop    %esi
418314:	5b                   	pop    %ebx
418315:	5d                   	pop    %ebp
418316:	c3                   	ret
418317:	33 c0                	xor    %eax,%eax
418319:	eb f8                	jmp    0x418313
41831b:	6a 14                	push   $0x14
41831d:	68 80 1c 49 00       	push   $0x491c80
418322:	e8 c1 fe ff ff       	call   0x4181e8
418327:	8b 7d 08             	mov    0x8(%ebp),%edi
41832a:	33 db                	xor    %ebx,%ebx
41832c:	3b fb                	cmp    %ebx,%edi
41832e:	75 0e                	jne    0x41833e
418330:	ff 75 0c             	push   0xc(%ebp)
418333:	e8 54 e0 ff ff       	call   0x41638c
418338:	59                   	pop    %ecx
418339:	e9 84 01 00 00       	jmp    0x4184c2
41833e:	8b 75 0c             	mov    0xc(%ebp),%esi
418341:	3b f3                	cmp    %ebx,%esi
418343:	75 0c                	jne    0x418351
418345:	57                   	push   %edi
418346:	e8 53 e0 ff ff       	call   0x41639e
41834b:	59                   	pop    %ecx
41834c:	e9 6f 01 00 00       	jmp    0x4184c0
418351:	83 3d 58 e1 4a 00 03 	cmpl   $0x3,0x4ae158
418358:	0f 85 2e 01 00 00    	jne    0x41848c
41835e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
418361:	83 fe e0             	cmp    $0xffffffe0,%esi
418364:	0f 87 f1 00 00 00    	ja     0x41845b
41836a:	6a 04                	push   $0x4
41836c:	e8 fd 29 00 00       	call   0x41ad6e
418371:	59                   	pop    %ecx
418372:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418375:	57                   	push   %edi
418376:	e8 71 2b 00 00       	call   0x41aeec
41837b:	59                   	pop    %ecx
41837c:	89 45 e0             	mov    %eax,-0x20(%ebp)
41837f:	3b c3                	cmp    %ebx,%eax
418381:	0f 84 a4 00 00 00    	je     0x41842b
418387:	3b 35 38 e1 4a 00    	cmp    0x4ae138,%esi
41838d:	77 4c                	ja     0x4183db
41838f:	56                   	push   %esi
418390:	57                   	push   %edi
418391:	50                   	push   %eax
418392:	e8 55 30 00 00       	call   0x41b3ec
418397:	83 c4 0c             	add    $0xc,%esp
41839a:	85 c0                	test   %eax,%eax
41839c:	74 05                	je     0x4183a3
41839e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4183a1:	eb 38                	jmp    0x4183db
4183a3:	56                   	push   %esi
4183a4:	e8 67 37 00 00       	call   0x41bb10
4183a9:	59                   	pop    %ecx
4183aa:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4183ad:	3b c3                	cmp    %ebx,%eax
4183af:	74 2a                	je     0x4183db
4183b1:	8b 47 fc             	mov    -0x4(%edi),%eax
4183b4:	48                   	dec    %eax
4183b5:	89 45 dc             	mov    %eax,-0x24(%ebp)
4183b8:	3b c6                	cmp    %esi,%eax
4183ba:	72 02                	jb     0x4183be
4183bc:	8b c6                	mov    %esi,%eax
4183be:	50                   	push   %eax
4183bf:	57                   	push   %edi
4183c0:	ff 75 e4             	push   -0x1c(%ebp)
4183c3:	e8 a8 f4 ff ff       	call   0x417870
4183c8:	57                   	push   %edi
4183c9:	e8 1e 2b 00 00       	call   0x41aeec
4183ce:	89 45 e0             	mov    %eax,-0x20(%ebp)
4183d1:	57                   	push   %edi
4183d2:	50                   	push   %eax
4183d3:	e8 3f 2b 00 00       	call   0x41af17
4183d8:	83 c4 18             	add    $0x18,%esp
4183db:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
4183de:	75 4b                	jne    0x41842b
4183e0:	3b f3                	cmp    %ebx,%esi
4183e2:	75 06                	jne    0x4183ea
4183e4:	33 f6                	xor    %esi,%esi
4183e6:	46                   	inc    %esi
4183e7:	89 75 0c             	mov    %esi,0xc(%ebp)
4183ea:	83 c6 0f             	add    $0xf,%esi
4183ed:	83 e6 f0             	and    $0xfffffff0,%esi
4183f0:	89 75 0c             	mov    %esi,0xc(%ebp)
4183f3:	56                   	push   %esi
4183f4:	53                   	push   %ebx
4183f5:	ff 35 48 e1 4a 00    	push   0x4ae148
4183fb:	ff 15 ec 01 4b 00    	call   *0x4b01ec
418401:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418404:	3b c3                	cmp    %ebx,%eax
418406:	74 23                	je     0x41842b
418408:	8b 47 fc             	mov    -0x4(%edi),%eax
41840b:	48                   	dec    %eax
41840c:	89 45 dc             	mov    %eax,-0x24(%ebp)
41840f:	3b c6                	cmp    %esi,%eax
418411:	72 02                	jb     0x418415
418413:	8b c6                	mov    %esi,%eax
418415:	50                   	push   %eax
418416:	57                   	push   %edi
418417:	ff 75 e4             	push   -0x1c(%ebp)
41841a:	e8 51 f4 ff ff       	call   0x417870
41841f:	57                   	push   %edi
418420:	ff 75 e0             	push   -0x20(%ebp)
418423:	e8 ef 2a 00 00       	call   0x41af17
418428:	83 c4 14             	add    $0x14,%esp