41817e:	50                   	push   %eax
41817f:	e8 52 fd ff ff       	call   0x417ed6
418184:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
41818a:	83 c4 10             	add    $0x10,%esp
41818d:	8d 51 01             	lea    0x1(%ecx),%edx
418190:	8a 01                	mov    (%ecx),%al
418192:	41                   	inc    %ecx
418193:	84 c0                	test   %al,%al
418195:	75 f9                	jne    0x418190
418197:	2b ca                	sub    %edx,%ecx
418199:	8d 41 01             	lea    0x1(%ecx),%eax
41819c:	8b ce                	mov    %esi,%ecx
41819e:	50                   	push   %eax
41819f:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4181a5:	50                   	push   %eax
4181a6:	e8 8a fa ff ff       	call   0x417c35
4181ab:	8b 06                	mov    (%esi),%eax
4181ad:	8d 48 04             	lea    0x4(%eax),%ecx
4181b0:	f7 d8                	neg    %eax
4181b2:	5e                   	pop    %esi
4181b3:	1b c0                	sbb    %eax,%eax
4181b5:	23 c1                	and    %ecx,%eax
4181b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4181ba:	33 cd                	xor    %ebp,%ecx
4181bc:	e8 3f 7d 07 00       	call   0x48ff00
4181c1:	c9                   	leave
4181c2:	c3                   	ret
4181c3:	cc                   	int3
4181c4:	cc                   	int3
4181c5:	cc                   	int3
4181c6:	cc                   	int3
4181c7:	cc                   	int3
4181c8:	cc                   	int3
4181c9:	cc                   	int3
4181ca:	cc                   	int3
4181cb:	cc                   	int3
4181cc:	cc                   	int3
4181cd:	cc                   	int3
4181ce:	cc                   	int3
4181cf:	cc                   	int3
4181d0:	8b ff                	mov    %edi,%edi
4181d2:	55                   	push   %ebp
4181d3:	8b ec                	mov    %esp,%ebp
4181d5:	56                   	push   %esi
4181d6:	8b f1                	mov    %ecx,%esi
4181d8:	e8 23 00 00 00       	call   0x418200
4181dd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4181e1:	74 08                	je     0x4181eb
4181e3:	56                   	push   %esi
4181e4:	ff 15 10 74 4a 00    	call   *0x4a7410
4181ea:	59                   	pop    %ecx
4181eb:	8b c6                	mov    %esi,%eax
4181ed:	5e                   	pop    %esi
4181ee:	5d                   	pop    %ebp
4181ef:	c2 04 00             	ret    $0x4
4181f2:	cc                   	int3
4181f3:	cc                   	int3
4181f4:	cc                   	int3
4181f5:	cc                   	int3
4181f6:	cc                   	int3
4181f7:	cc                   	int3
4181f8:	cc                   	int3
4181f9:	cc                   	int3
4181fa:	cc                   	int3
4181fb:	cc                   	int3
4181fc:	cc                   	int3
4181fd:	cc                   	int3
4181fe:	cc                   	int3
4181ff:	cc                   	int3
418200:	8b ff                	mov    %edi,%edi
418202:	56                   	push   %esi
418203:	8b f1                	mov    %ecx,%esi
418205:	8d 4e 64             	lea    0x64(%esi),%ecx
418208:	e8 fa f9 ff ff       	call   0x417c07
41820d:	8d 4e 5c             	lea    0x5c(%esi),%ecx
418210:	e8 f2 f9 ff ff       	call   0x417c07
418215:	8b ce                	mov    %esi,%ecx
418217:	5e                   	pop    %esi
418218:	ff 25 ec 80 4a 00    	jmp    *0x4a80ec
41821e:	8b ff                	mov    %edi,%edi
418220:	56                   	push   %esi
418221:	8b 35 80 46 4a 00    	mov    0x4a4680,%esi
418227:	85 f6                	test   %esi,%esi
418229:	74 0a                	je     0x418235
41822b:	8b ce                	mov    %esi,%ecx
41822d:	ff 15 2c 81 4a 00    	call   *0x4a812c
418233:	ff d6                	call   *%esi
418235:	5e                   	pop    %esi
418236:	c3                   	ret
418237:	8b ff                	mov    %edi,%edi
418239:	56                   	push   %esi
41823a:	8b 35 94 46 4a 00    	mov    0x4a4694,%esi
418240:	85 f6                	test   %esi,%esi
418242:	74 0b                	je     0x41824f
418244:	51                   	push   %ecx
418245:	8b ce                	mov    %esi,%ecx
418247:	ff 15 2c 81 4a 00    	call   *0x4a812c
41824d:	ff d6                	call   *%esi
41824f:	5e                   	pop    %esi
418250:	c3                   	ret
418251:	8b ff                	mov    %edi,%edi
418253:	55                   	push   %ebp
418254:	8b ec                	mov    %esp,%ebp
418256:	53                   	push   %ebx
418257:	57                   	push   %edi
418258:	8b fa                	mov    %edx,%edi
41825a:	8b d9                	mov    %ecx,%ebx
41825c:	85 ff                	test   %edi,%edi
41825e:	74 25                	je     0x418285
418260:	8b 03                	mov    (%ebx),%eax
418262:	56                   	push   %esi
418263:	8b 70 04             	mov    0x4(%eax),%esi
418266:	8b ce                	mov    %esi,%ecx
418268:	ff 15 2c 81 4a 00    	call   *0x4a812c
41826e:	8b cb                	mov    %ebx,%ecx
418270:	ff d6                	call   *%esi
418272:	50                   	push   %eax
418273:	68 3c f3 40 00       	push   $0x40f33c
418278:	ff 75 08             	push   0x8(%ebp)
41827b:	57                   	push   %edi
41827c:	e8 05 f6 ff ff       	call   0x417886
418281:	83 c4 10             	add    $0x10,%esp
418284:	5e                   	pop    %esi
418285:	5f                   	pop    %edi
418286:	5b                   	pop    %ebx
418287:	5d                   	pop    %ebp
418288:	c2 04 00             	ret    $0x4
41828b:	6a 14                	push   $0x14
41828d:	b8 4f 10 49 00       	mov    $0x49104f,%eax
418292:	e8 a5 82 07 00       	call   0x49053c
418297:	89 55 e8             	mov    %edx,-0x18(%ebp)
41829a:	8b f9                	mov    %ecx,%edi
41829c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41829f:	8b 35 54 46 4a 00    	mov    0x4a4654,%esi
4182a5:	8b ce                	mov    %esi,%ecx
4182a7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4182ad:	ff d6                	call   *%esi
4182af:	89 45 ec             	mov    %eax,-0x14(%ebp)
4182b2:	85 c0                	test   %eax,%eax
4182b4:	79 36                	jns    0x4182ec
4182b6:	85 ff                	test   %edi,%edi
4182b8:	75 32                	jne    0x4182ec
4182ba:	eb 2a                	jmp    0x4182e6
4182bc:	ff 75 e8             	push   -0x18(%ebp)
4182bf:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4182c2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4182c5:	e8 87 ff ff ff       	call   0x418251
4182ca:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4182ce:	7c 07                	jl     0x4182d7
4182d0:	c7 45 ec 3e 02 07 80 	movl   $0x8007023e,-0x14(%ebp)
4182d7:	b8 e3 82 41 00       	mov    $0x4182e3,%eax
4182dc:	c3                   	ret
4182dd:	b8 e3 82 41 00       	mov    $0x4182e3,%eax
4182e2:	c3                   	ret
4182e3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4182e6:	e8 b6 81 07 00       	call   0x4904a1
4182eb:	c3                   	ret
4182ec:	33 c0                	xor    %eax,%eax
4182ee:	50                   	push   %eax
4182ef:	50                   	push   %eax
4182f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4182f3:	e8 a3 81 07 00       	call   0x49049b
4182f8:	cc                   	int3
4182f9:	cc                   	int3
4182fa:	cc                   	int3
4182fb:	cc                   	int3
4182fc:	cc                   	int3
4182fd:	cc                   	int3
4182fe:	cc                   	int3
4182ff:	cc                   	int3
418300:	6a 00                	push   $0x0
418302:	6a 00                	push   $0x0
418304:	e8 92 81 07 00       	call   0x49049b
418309:	cc                   	int3
41830a:	cc                   	int3
41830b:	cc                   	int3
41830c:	cc                   	int3
41830d:	cc                   	int3
41830e:	cc                   	int3
41830f:	cc                   	int3
418310:	8b ff                	mov    %edi,%edi
418312:	55                   	push   %ebp
418313:	8b ec                	mov    %esp,%ebp
418315:	83 ec 6c             	sub    $0x6c,%esp
418318:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
41831b:	ff 75 08             	push   0x8(%ebp)
41831e:	e8 d2 fd ff ff       	call   0x4180f5
418323:	68 18 ea 49 00       	push   $0x49ea18
418328:	8d 45 94             	lea    -0x6c(%ebp),%eax
41832b:	50                   	push   %eax
41832c:	e8 6a 81 07 00       	call   0x49049b
418331:	cc                   	int3
418332:	cc                   	int3
418333:	cc                   	int3
418334:	cc                   	int3
418335:	cc                   	int3
418336:	cc                   	int3
418337:	cc                   	int3
418338:	cc                   	int3
418339:	cc                   	int3
41833a:	cc                   	int3
41833b:	cc                   	int3
41833c:	cc                   	int3
41833d:	cc                   	int3
41833e:	cc                   	int3
41833f:	cc                   	int3
418340:	8b ff                	mov    %edi,%edi
418342:	55                   	push   %ebp
418343:	8b ec                	mov    %esp,%ebp
418345:	51                   	push   %ecx
418346:	53                   	push   %ebx
418347:	8b 5d 08             	mov    0x8(%ebp),%ebx
41834a:	56                   	push   %esi
41834b:	57                   	push   %edi
41834c:	8b f1                	mov    %ecx,%esi
41834e:	53                   	push   %ebx
41834f:	89 75 fc             	mov    %esi,-0x4(%ebp)
418352:	ff 15 d4 80 4a 00    	call   *0x4a80d4
418358:	8d 56 0c             	lea    0xc(%esi),%edx
41835b:	c7 06 c0 10 40 00    	movl   $0x4010c0,(%esi)
418361:	6a 14                	push   $0x14
418363:	8d 43 0c             	lea    0xc(%ebx),%eax
418366:	8b fa                	mov    %edx,%edi
418368:	59                   	pop    %ecx
418369:	8b f0                	mov    %eax,%esi
41836b:	83 c0 50             	add    $0x50,%eax
41836e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
418370:	50                   	push   %eax
418371:	8d 4a 50             	lea    0x50(%edx),%ecx
418374:	e8 5b f8 ff ff       	call   0x417bd4
418379:	8b 75 fc             	mov    -0x4(%ebp),%esi
41837c:	8d 43 64             	lea    0x64(%ebx),%eax
41837f:	50                   	push   %eax
418380:	8d 4e 64             	lea    0x64(%esi),%ecx
418383:	e8 4c f8 ff ff       	call   0x417bd4
418388:	5f                   	pop    %edi
418389:	8b c6                	mov    %esi,%eax
41838b:	5e                   	pop    %esi
41838c:	5b                   	pop    %ebx
41838d:	c9                   	leave
41838e:	c2 04 00             	ret    $0x4
418391:	cc                   	int3
418392:	cc                   	int3
418393:	cc                   	int3
418394:	cc                   	int3
418395:	cc                   	int3
418396:	cc                   	int3
418397:	cc                   	int3
418398:	cc                   	int3
418399:	cc                   	int3
41839a:	cc                   	int3
41839b:	cc                   	int3
41839c:	cc                   	int3
41839d:	cc                   	int3
41839e:	cc                   	int3
41839f:	cc                   	int3
4183a0:	6a 20                	push   $0x20
4183a2:	b8 6a 10 49 00       	mov    $0x49106a,%eax
4183a7:	e8 90 81 07 00       	call   0x49053c
4183ac:	8b 75 08             	mov    0x8(%ebp),%esi
4183af:	8b 7d 10             	mov    0x10(%ebp),%edi
4183b2:	89 75 e8             	mov    %esi,-0x18(%ebp)
4183b5:	89 7d ec             	mov    %edi,-0x14(%ebp)
4183b8:	85 f6                	test   %esi,%esi
4183ba:	74 05                	je     0x4183c1
4183bc:	33 c0                	xor    %eax,%eax
4183be:	66 89 06             	mov    %ax,(%esi)
4183c1:	8b 1d 64 46 4a 00    	mov    0x4a4664,%ebx
4183c7:	33 c0                	xor    %eax,%eax
4183c9:	88 07                	mov    %al,(%edi)
4183cb:	85 db                	test   %ebx,%ebx
4183cd:	74 19                	je     0x4183e8
4183cf:	57                   	push   %edi
4183d0:	ff 75 0c             	push   0xc(%ebp)
4183d3:	8b cb                	mov    %ebx,%ecx
4183d5:	56                   	push   %esi
4183d6:	ff 15 2c 81 4a 00    	call   *0x4a812c
4183dc:	ff d3                	call   *%ebx
4183de:	85 c0                	test   %eax,%eax
4183e0:	0f 88 14 01 00 00    	js     0x4184fa
4183e6:	33 c0                	xor    %eax,%eax
4183e8:	8b 1d 8c 46 4a 00    	mov    0x4a468c,%ebx
4183ee:	85 db                	test   %ebx,%ebx
4183f0:	74 14                	je     0x418406
4183f2:	57                   	push   %edi
4183f3:	ff 75 0c             	push   0xc(%ebp)
4183f6:	8b cb                	mov    %ebx,%ecx
4183f8:	56                   	push   %esi
4183f9:	ff 15 2c 81 4a 00    	call   *0x4a812c
4183ff:	ff d3                	call   *%ebx
418401:	e9 f4 00 00 00       	jmp    0x4184fa
418406:	83 3d 54 46 4a 00 00 	cmpl   $0x0,0x4a4654
41840d:	50                   	push   %eax
41840e:	50                   	push   %eax
41840f:	0f 85 ed 00 00 00    	jne    0x418502
418415:	eb 6b                	jmp    0x418482
418417:	8b 45 ec             	mov    -0x14(%ebp),%eax
41841a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41841d:	c6 00 01             	movb   $0x1,(%eax)
418420:	85 c9                	test   %ecx,%ecx
418422:	74 15                	je     0x418439
418424:	8b 55 0c             	mov    0xc(%ebp),%edx
418427:	85 d2                	test   %edx,%edx
418429:	74 0e                	je     0x418439
41842b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41842e:	8d 46 0c             	lea    0xc(%esi),%eax
418431:	50                   	push   %eax
418432:	e8 62 f5 ff ff       	call   0x417999
418437:	eb 03                	jmp    0x41843c
418439:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41843c:	8b 46 10             	mov    0x10(%esi),%eax
41843f:	89 45 ec             	mov    %eax,-0x14(%ebp)
418442:	b8 48 84 41 00       	mov    $0x418448,%eax
418447:	c3                   	ret
418448:	8b 45 ec             	mov    -0x14(%ebp),%eax
41844b:	e9 aa 00 00 00       	jmp    0x4184fa
418450:	ff 75 0c             	push   0xc(%ebp)
418453:	8b 55 e8             	mov    -0x18(%ebp),%edx
418456:	8b 4d dc             	mov    -0x24(%ebp),%ecx
418459:	e8 f3 fd ff ff       	call   0x418251
41845e:	b8 d0 84 41 00       	mov    $0x4184d0,%eax
418463:	c3                   	ret
418464:	8b 55 0c             	mov    0xc(%ebp),%edx
418467:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41846a:	e8 1c fe ff ff       	call   0x41828b
41846f:	89 45 ec             	mov    %eax,-0x14(%ebp)
418472:	85 c0                	test   %eax,%eax
418474:	79 06                	jns    0x41847c
418476:	b8 48 84 41 00       	mov    $0x418448,%eax
41847b:	c3                   	ret
41847c:	b8 f8 84 41 00       	mov    $0x4184f8,%eax
418481:	c3                   	ret
418482:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
418489:	eb 7a                	jmp    0x418505
41848b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41848e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
418491:	c6 00 01             	movb   $0x1,(%eax)
418494:	85 c9                	test   %ecx,%ecx
418496:	74 15                	je     0x4184ad
418498:	8b 55 0c             	mov    0xc(%ebp),%edx
41849b:	85 d2                	test   %edx,%edx
41849d:	74 0e                	je     0x4184ad
41849f:	8b 75 e0             	mov    -0x20(%ebp),%esi
4184a2:	8d 46 0c             	lea    0xc(%esi),%eax
4184a5:	50                   	push   %eax
4184a6:	e8 ee f4 ff ff       	call   0x417999
4184ab:	eb 03                	jmp    0x4184b0
4184ad:	8b 75 e0             	mov    -0x20(%ebp),%esi
4184b0:	8b 46 10             	mov    0x10(%esi),%eax
4184b3:	89 45 ec             	mov    %eax,-0x14(%ebp)