a56402:	8b 75 08             	mov    0x8(%ebp),%esi
a56405:	8d 46 04             	lea    0x4(%esi),%eax
a56408:	50                   	push   %eax
a56409:	33 c0                	xor    %eax,%eax
a5640b:	50                   	push   %eax
a5640c:	ff 75 10             	push   0x10(%ebp)
a5640f:	ff 75 0c             	push   0xc(%ebp)
a56412:	50                   	push   %eax
a56413:	50                   	push   %eax
a56414:	e8 c9 ae 9c ff       	call   0x4212e2
a56419:	89 06                	mov    %eax,(%esi)
a5641b:	83 c4 18             	add    $0x18,%esp
a5641e:	f7 d8                	neg    %eax
a56420:	1b c0                	sbb    %eax,%eax
a56422:	83 e0 fc             	and    $0xfffffffc,%eax
a56425:	83 c0 04             	add    $0x4,%eax
a56428:	5e                   	pop    %esi
a56429:	5d                   	pop    %ebp
a5642a:	c3                   	ret
a5642b:	cc                   	int3
a5642c:	cc                   	int3
a5642d:	cc                   	int3
a5642e:	cc                   	int3
a5642f:	cc                   	int3
a56430:	cc                   	int3
a56431:	cc                   	int3
a56432:	cc                   	int3
a56433:	cc                   	int3
a56434:	cc                   	int3
a56435:	cc                   	int3
a56436:	6a 00                	push   $0x0
a56438:	ff 15 64 36 d8 00    	call   *0xd83664
a5643e:	c3                   	ret
a5643f:	cc                   	int3
a56440:	cc                   	int3
a56441:	55                   	push   %ebp
a56442:	8b ec                	mov    %esp,%ebp
a56444:	83 ec 14             	sub    $0x14,%esp
a56447:	56                   	push   %esi
a56448:	8b 75 08             	mov    0x8(%ebp),%esi
a5644b:	57                   	push   %edi
a5644c:	6a 05                	push   $0x5
a5644e:	59                   	pop    %ecx
a5644f:	8d 7d ec             	lea    -0x14(%ebp),%edi
a56452:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
a56454:	8b 75 f8             	mov    -0x8(%ebp),%esi
a56457:	ff 36                	push   (%esi)
a56459:	e8 e8 03 9d ff       	call   0x426846
a5645e:	8b 45 fc             	mov    -0x4(%ebp),%eax
a56461:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
a56467:	8b 45 f4             	mov    -0xc(%ebp),%eax
a5646a:	ff 30                	push   (%eax)
a5646c:	e8 5a 38 9d ff       	call   0x429ccb
a56471:	ff 36                	push   (%esi)
a56473:	e8 57 52 9d ff       	call   0x42b6cf
a56478:	8b 4d ec             	mov    -0x14(%ebp),%ecx
a5647b:	83 c4 0c             	add    $0xc,%esp
a5647e:	ff 75 f0             	push   -0x10(%ebp)
a56481:	e8 df 61 9d ff       	call   0x42c665
a56486:	ff 55 ec             	call   *-0x14(%ebp)
a56489:	59                   	pop    %ecx
a5648a:	8b f0                	mov    %eax,%esi
a5648c:	e8 9c 7c 9c ff       	call   0x41e12d
a56491:	5f                   	pop    %edi
a56492:	8b c6                	mov    %esi,%eax
a56494:	5e                   	pop    %esi
a56495:	8b e5                	mov    %ebp,%esp
a56497:	5d                   	pop    %ebp
a56498:	c2 04 00             	ret    $0x4
a5649b:	cc                   	int3
a5649c:	cc                   	int3
a5649d:	cc                   	int3
a5649e:	cc                   	int3
a5649f:	cc                   	int3
a564a0:	cc                   	int3
a564a1:	cc                   	int3
a564a2:	cc                   	int3
a564a3:	cc                   	int3
a564a4:	cc                   	int3
a564a5:	cc                   	int3
a564a6:	cc                   	int3
a564a7:	cc                   	int3
a564a8:	cc                   	int3
a564a9:	cc                   	int3
a564aa:	cc                   	int3
a564ab:	cc                   	int3
a564ac:	cc                   	int3
a564ad:	cc                   	int3
a564ae:	cc                   	int3
a564af:	cc                   	int3
a564b0:	cc                   	int3
a564b1:	55                   	push   %ebp
a564b2:	8b ec                	mov    %esp,%ebp
a564b4:	51                   	push   %ecx
a564b5:	56                   	push   %esi
a564b6:	8b f1                	mov    %ecx,%esi
a564b8:	89 75 fc             	mov    %esi,-0x4(%ebp)
a564bb:	8d 4e 04             	lea    0x4(%esi),%ecx
a564be:	c7 06 90 a8 c7 00    	movl   $0xc7a890,(%esi)
a564c4:	e8 0e 8b 9d ff       	call   0x42efd7
a564c9:	8b c6                	mov    %esi,%eax
a564cb:	5e                   	pop    %esi
a564cc:	8b e5                	mov    %ebp,%esp
a564ce:	5d                   	pop    %ebp
a564cf:	c3                   	ret
a564d0:	cc                   	int3
a564d1:	cc                   	int3
a564d2:	cc                   	int3
a564d3:	cc                   	int3
a564d4:	cc                   	int3
a564d5:	cc                   	int3
a564d6:	cc                   	int3
a564d7:	8b c1                	mov    %ecx,%eax
a564d9:	c3                   	ret
a564da:	56                   	push   %esi
a564db:	8b f1                	mov    %ecx,%esi
a564dd:	8d 46 04             	lea    0x4(%esi),%eax
a564e0:	c7 06 58 a8 c7 00    	movl   $0xc7a858,(%esi)
a564e6:	50                   	push   %eax
a564e7:	e8 74 d4 9d ff       	call   0x433960
a564ec:	59                   	pop    %ecx
a564ed:	8b c6                	mov    %esi,%eax
a564ef:	5e                   	pop    %esi
a564f0:	c3                   	ret
a564f1:	cc                   	int3
a564f2:	cc                   	int3
a564f3:	cc                   	int3
a564f4:	cc                   	int3
a564f5:	cc                   	int3
a564f6:	56                   	push   %esi
a564f7:	8b f1                	mov    %ecx,%esi
a564f9:	8d 46 04             	lea    0x4(%esi),%eax
a564fc:	c7 06 74 a8 c7 00    	movl   $0xc7a874,(%esi)
a56502:	50                   	push   %eax
a56503:	e8 58 d4 9d ff       	call   0x433960
a56508:	59                   	pop    %ecx
a56509:	8b c6                	mov    %esi,%eax
a5650b:	5e                   	pop    %esi
a5650c:	c3                   	ret
a5650d:	cc                   	int3
a5650e:	cc                   	int3
a5650f:	cc                   	int3
a56510:	cc                   	int3
a56511:	cc                   	int3
a56512:	55                   	push   %ebp
a56513:	8b ec                	mov    %esp,%ebp
a56515:	56                   	push   %esi
a56516:	8b f1                	mov    %ecx,%esi
a56518:	e8 39 1f 9e ff       	call   0x438456
a5651d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
a56521:	74 0a                	je     0xa5652d
a56523:	6a 24                	push   $0x24
a56525:	56                   	push   %esi
a56526:	e8 71 b9 9a ff       	call   0x401e9c
a5652b:	59                   	pop    %ecx
a5652c:	59                   	pop    %ecx
a5652d:	8b c6                	mov    %esi,%eax
a5652f:	5e                   	pop    %esi
a56530:	5d                   	pop    %ebp
a56531:	c2 04 00             	ret    $0x4
a56534:	cc                   	int3
a56535:	cc                   	int3
a56536:	cc                   	int3
a56537:	cc                   	int3
a56538:	cc                   	int3
a56539:	cc                   	int3
a5653a:	cc                   	int3
a5653b:	cc                   	int3
a5653c:	8b c1                	mov    %ecx,%eax
a5653e:	c3                   	ret
a5653f:	6a 04                	push   $0x4
a56541:	b8 3f b8 bb 00       	mov    $0xbbb83f,%eax
a56546:	e8 40 3d 9b ff       	call   0x40a28b
a5654b:	a1 68 12 d8 00       	mov    0xd81268,%eax
a56550:	85 c0                	test   %eax,%eax
a56552:	78 10                	js     0xa56564
a56554:	8b 0d 24 f6 d5 00    	mov    0xd5f624,%ecx
a5655a:	83 f8 01             	cmp    $0x1,%eax
a5655d:	7e 27                	jle    0xa56586
a5655f:	83 f8 02             	cmp    $0x2,%eax
a56562:	74 39                	je     0xa5659d
a56564:	8b 4d 08             	mov    0x8(%ebp),%ecx
a56567:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a5656a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a5656e:	85 c9                	test   %ecx,%ecx
a56570:	74 0e                	je     0xa56580
a56572:	c7 01 90 a8 c7 00    	movl   $0xc7a890,(%ecx)
a56578:	83 c1 04             	add    $0x4,%ecx
a5657b:	e8 57 8a 9d ff       	call   0x42efd7
a56580:	e8 92 7e 9b ff       	call   0x40e417
a56585:	c3                   	ret
a56586:	a1 ac 16 d8 00       	mov    0xd816ac,%eax
a5658b:	33 c1                	xor    %ecx,%eax
a5658d:	74 0e                	je     0xa5659d
a5658f:	8b 4d 08             	mov    0x8(%ebp),%ecx
a56592:	85 c9                	test   %ecx,%ecx
a56594:	74 ea                	je     0xa56580
a56596:	e8 75 f9 9a ff       	call   0x405f10
a5659b:	eb e3                	jmp    0xa56580
a5659d:	a1 94 16 d8 00       	mov    0xd81694,%eax
a565a2:	33 c1                	xor    %ecx,%eax
a565a4:	74 be                	je     0xa56564
a565a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
a565a9:	85 c9                	test   %ecx,%ecx
a565ab:	74 d3                	je     0xa56580
a565ad:	e8 4a f6 9d ff       	call   0x435bfc
a565b2:	eb cc                	jmp    0xa56580
a565b4:	cc                   	int3
a565b5:	cc                   	int3
a565b6:	cc                   	int3
a565b7:	cc                   	int3
a565b8:	cc                   	int3
a565b9:	cc                   	int3
a565ba:	cc                   	int3
a565bb:	cc                   	int3
a565bc:	cc                   	int3
a565bd:	cc                   	int3
a565be:	cc                   	int3
a565bf:	cc                   	int3
a565c0:	cc                   	int3
a565c1:	cc                   	int3
a565c2:	cc                   	int3
a565c3:	cc                   	int3
a565c4:	cc                   	int3
a565c5:	cc                   	int3
a565c6:	cc                   	int3
a565c7:	cc                   	int3
a565c8:	cc                   	int3
a565c9:	cc                   	int3
a565ca:	cc                   	int3
a565cb:	cc                   	int3
a565cc:	cc                   	int3
a565cd:	cc                   	int3
a565ce:	cc                   	int3
a565cf:	cc                   	int3
a565d0:	cc                   	int3
a565d1:	83 c1 04             	add    $0x4,%ecx
a565d4:	e9 7d 1e 9e ff       	jmp    0x438456
a565d9:	cc                   	int3
a565da:	cc                   	int3
a565db:	c3                   	ret
a565dc:	c3                   	ret
a565dd:	55                   	push   %ebp
a565de:	8b ec                	mov    %esp,%ebp
a565e0:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
a565e4:	56                   	push   %esi
a565e5:	57                   	push   %edi
a565e6:	8b 7d 08             	mov    0x8(%ebp),%edi
a565e9:	8b 07                	mov    (%edi),%eax
a565eb:	74 05                	je     0xa565f2
a565ed:	8b 70 0c             	mov    0xc(%eax),%esi
a565f0:	eb 03                	jmp    0xa565f5
a565f2:	8b 70 08             	mov    0x8(%eax),%esi
a565f5:	8b ce                	mov    %esi,%ecx
a565f7:	e8 69 60 9d ff       	call   0x42c665
a565fc:	8b cf                	mov    %edi,%ecx
a565fe:	ff d6                	call   *%esi
a56600:	5f                   	pop    %edi
a56601:	33 c0                	xor    %eax,%eax
a56603:	5e                   	pop    %esi
a56604:	5d                   	pop    %ebp
a56605:	c3                   	ret
a56606:	cc                   	int3
a56607:	cc                   	int3
a56608:	cc                   	int3
a56609:	cc                   	int3
a5660a:	cc                   	int3
a5660b:	cc                   	int3
a5660c:	cc                   	int3
a5660d:	cc                   	int3
a5660e:	cc                   	int3
a5660f:	cc                   	int3
a56610:	55                   	push   %ebp
a56611:	8b ec                	mov    %esp,%ebp
a56613:	83 ec 20             	sub    $0x20,%esp
a56616:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a5661b:	33 c5                	xor    %ebp,%eax
a5661d:	89 45 fc             	mov    %eax,-0x4(%ebp)
a56620:	8b 45 08             	mov    0x8(%ebp),%eax
a56623:	53                   	push   %ebx
a56624:	56                   	push   %esi
a56625:	8b 75 10             	mov    0x10(%ebp),%esi
a56628:	33 db                	xor    %ebx,%ebx
a5662a:	57                   	push   %edi
a5662b:	8b 7d 0c             	mov    0xc(%ebp),%edi
a5662e:	57                   	push   %edi
a5662f:	89 45 e8             	mov    %eax,-0x18(%ebp)
a56632:	89 75 e0             	mov    %esi,-0x20(%ebp)
a56635:	e8 3e fd 9c ff       	call   0x426378
a5663a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
a5663d:	59                   	pop    %ecx
a5663e:	85 f6                	test   %esi,%esi
a56640:	75 1f                	jne    0xa56661
a56642:	57                   	push   %edi
a56643:	e8 fc b5 9a ff       	call   0x401c44
a56648:	8b 45 e8             	mov    -0x18(%ebp),%eax
a5664b:	59                   	pop    %ecx
a5664c:	ff 75 e4             	push   -0x1c(%ebp)
a5664f:	8b 00                	mov    (%eax),%eax
a56651:	8b 30                	mov    (%eax),%esi
a56653:	8b ce                	mov    %esi,%ecx
a56655:	e8 0b 60 9d ff       	call   0x42c665
a5665a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
a5665d:	ff d6                	call   *%esi
a5665f:	eb 5d                	jmp    0xa566be
a56661:	8d 45 ec             	lea    -0x14(%ebp),%eax
a56664:	6a 01                	push   $0x1
a56666:	50                   	push   %eax
a56667:	e8 49 bc 9b ff       	call   0x4122b5
a5666c:	57                   	push   %edi
a5666d:	e8 d2 b5 9a ff       	call   0x401c44
a56672:	8b 45 e8             	mov    -0x18(%ebp),%eax
a56675:	8b 30                	mov    (%eax),%esi
a56677:	8d 45 ec             	lea    -0x14(%ebp),%eax
a5667a:	50                   	push   %eax
a5667b:	ff 75 e0             	push   -0x20(%ebp)
a5667e:	e8 37 7a 9c ff       	call   0x41e0ba
a56683:	8b 76 04             	mov    0x4(%esi),%esi
a56686:	83 c4 14             	add    $0x14,%esp
a56689:	8b ce                	mov    %esi,%ecx
a5668b:	50                   	push   %eax
a5668c:	ff 75 e4             	push   -0x1c(%ebp)
a5668f:	e8 d1 5f 9d ff       	call   0x42c665
a56694:	8b 4d e8             	mov    -0x18(%ebp),%ecx
a56697:	ff d6                	call   *%esi
a56699:	84 c0                	test   %al,%al
a5669b:	75 21                	jne    0xa566be
a5669d:	8d 45 ec             	lea    -0x14(%ebp),%eax
a566a0:	6a 01                	push   $0x1
a566a2:	50                   	push   %eax
a566a3:	e8 0d bc 9b ff       	call   0x4122b5
a566a8:	8d 45 ec             	lea    -0x14(%ebp),%eax
a566ab:	50                   	push   %eax
a566ac:	ff 75 e0             	push   -0x20(%ebp)
a566af:	e8 06 7a 9c ff       	call   0x41e0ba
a566b4:	83 c4 10             	add    $0x10,%esp
a566b7:	85 c0                	test   %eax,%eax
a566b9:	75 03                	jne    0xa566be
a566bb:	6a 02                	push   $0x2
a566bd:	5b                   	pop    %ebx
a566be:	57                   	push   %edi
a566bf:	e8 62 c9 9a ff       	call   0x403026
a566c4:	59                   	pop    %ecx
a566c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a566c8:	8b c3                	mov    %ebx,%eax
a566ca:	5f                   	pop    %edi
a566cb:	5e                   	pop    %esi
a566cc:	33 cd                	xor    %ebp,%ecx
a566ce:	5b                   	pop    %ebx
a566cf:	e8 e2 50 9c ff       	call   0x41b7b6