40a5ee:	e8 b7 5f 09 00       	call   0x4a05aa
40a5f3:	83 c4 0c             	add    $0xc,%esp
40a5f6:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
40a5fa:	66 83 7d fc 00       	cmpw   $0x0,-0x4(%ebp)
40a5ff:	0f 85 ce 00 00 00    	jne    0x40a6d3
40a605:	89 65 f8             	mov    %esp,-0x8(%ebp)
40a608:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a60b:	ff 33                	push   (%ebx)
40a60d:	33 c0                	xor    %eax,%eax
40a60f:	ff 15 a4 9a 50 00    	call   *0x509aa4
40a615:	90                   	nop
40a616:	90                   	nop
40a617:	39 65 f8             	cmp    %esp,-0x8(%ebp)
40a61a:	74 17                	je     0x40a633
40a61c:	68 83 00 00 00       	push   $0x83
40a621:	68 82 d3 03 04       	push   $0x403d382
40a626:	68 06 00 00 00       	push   $0x6
40a62b:	e8 7a 5f 09 00       	call   0x4a05aa
40a630:	83 c4 0c             	add    $0xc,%esp
40a633:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
40a637:	66 83 7d fc 00       	cmpw   $0x0,-0x4(%ebp)
40a63c:	0f 85 91 00 00 00    	jne    0x40a6d3
40a642:	89 65 f8             	mov    %esp,-0x8(%ebp)
40a645:	33 c0                	xor    %eax,%eax
40a647:	ff 15 a8 9a 50 00    	call   *0x509aa8
40a64d:	90                   	nop
40a64e:	90                   	nop
40a64f:	39 65 f8             	cmp    %esp,-0x8(%ebp)
40a652:	74 17                	je     0x40a66b
40a654:	68 28 01 00 00       	push   $0x128
40a659:	68 82 d3 03 04       	push   $0x403d382
40a65e:	68 06 00 00 00       	push   $0x6
40a663:	e8 42 5f 09 00       	call   0x4a05aa
40a668:	83 c4 0c             	add    $0xc,%esp
40a66b:	68 01 03 00 80       	push   $0x80000301
40a670:	6a 00                	push   $0x0
40a672:	50                   	push   %eax
40a673:	68 01 00 00 00       	push   $0x1
40a678:	bb 68 01 00 00       	mov    $0x168,%ebx
40a67d:	e8 6e 6a 09 00       	call   0x4a10f0
40a682:	83 c4 10             	add    $0x10,%esp
40a685:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a688:	ff 75 f0             	push   -0x10(%ebp)
40a68b:	68 32 0b 4e 00       	push   $0x4e0b32
40a690:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a693:	ff 33                	push   (%ebx)
40a695:	68 34 0b 4e 00       	push   $0x4e0b34
40a69a:	b9 04 00 00 00       	mov    $0x4,%ecx
40a69f:	e8 b8 fe ff ff       	call   0x40a55c
40a6a4:	83 c4 10             	add    $0x10,%esp
40a6a7:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a6aa:	8b 5d f0             	mov    -0x10(%ebp),%ebx
40a6ad:	85 db                	test   %ebx,%ebx
40a6af:	74 09                	je     0x40a6ba
40a6b1:	53                   	push   %ebx
40a6b2:	e8 ed 5e 09 00       	call   0x4a05a4
40a6b7:	83 c4 04             	add    $0x4,%esp
40a6ba:	8d 45 ec             	lea    -0x14(%ebp),%eax
40a6bd:	50                   	push   %eax
40a6be:	e8 1f 00 00 00       	call   0x40a6e2
40a6c3:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40a6c6:	85 db                	test   %ebx,%ebx
40a6c8:	74 09                	je     0x40a6d3
40a6ca:	53                   	push   %ebx
40a6cb:	e8 d4 5e 09 00       	call   0x4a05a4
40a6d0:	83 c4 04             	add    $0x4,%esp
40a6d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a6d6:	98                   	cwtl
40a6d7:	e9 00 00 00 00       	jmp    0x40a6dc
40a6dc:	8b e5                	mov    %ebp,%esp
40a6de:	5d                   	pop    %ebp
40a6df:	c2 04 00             	ret    $0x4
40a6e2:	55                   	push   %ebp
40a6e3:	8b ec                	mov    %esp,%ebp
40a6e5:	81 ec 04 00 00 00    	sub    $0x4,%esp
40a6eb:	89 65 fc             	mov    %esp,-0x4(%ebp)
40a6ee:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a6f1:	ff 33                	push   (%ebx)
40a6f3:	33 c0                	xor    %eax,%eax
40a6f5:	ff 15 ac 9a 50 00    	call   *0x509aac
40a6fb:	90                   	nop
40a6fc:	90                   	nop
40a6fd:	39 65 fc             	cmp    %esp,-0x4(%ebp)
40a700:	74 17                	je     0x40a719
40a702:	68 41 00 00 00       	push   $0x41
40a707:	68 ca d2 03 04       	push   $0x403d2ca
40a70c:	68 06 00 00 00       	push   $0x6
40a711:	e8 94 5e 09 00       	call   0x4a05aa
40a716:	83 c4 0c             	add    $0xc,%esp
40a719:	8b e5                	mov    %ebp,%esp
40a71b:	5d                   	pop    %ebp
40a71c:	c2 04 00             	ret    $0x4
40a71f:	56                   	push   %esi
40a720:	57                   	push   %edi
40a721:	53                   	push   %ebx
40a722:	8d 74 24 10          	lea    0x10(%esp),%esi
40a726:	83 ec 04             	sub    $0x4,%esp
40a729:	8b dc                	mov    %esp,%ebx
40a72b:	83 ec 04             	sub    $0x4,%esp
40a72e:	8b fc                	mov    %esp,%edi
40a730:	fc                   	cld
40a731:	ad                   	lods   %ds:(%esi),%eax
40a732:	e8 8d c1 ff ff       	call   0x4068c4
40a737:	89 03                	mov    %eax,(%ebx)
40a739:	8b c3                	mov    %ebx,%eax
40a73b:	83 c3 04             	add    $0x4,%ebx
40a73e:	ab                   	stos   %eax,%es:(%edi)
40a73f:	e8 74 fe ff ff       	call   0x40a5b8
40a744:	b9 01 00 00 00       	mov    $0x1,%ecx
40a749:	8b f4                	mov    %esp,%esi
40a74b:	50                   	push   %eax
40a74c:	ad                   	lods   %ds:(%esi),%eax
40a74d:	56                   	push   %esi
40a74e:	51                   	push   %ecx
40a74f:	50                   	push   %eax
40a750:	e8 4f 5e 09 00       	call   0x4a05a4
40a755:	83 c4 04             	add    $0x4,%esp
40a758:	59                   	pop    %ecx
40a759:	5e                   	pop    %esi
40a75a:	49                   	dec    %ecx
40a75b:	75 ef                	jne    0x40a74c
40a75d:	58                   	pop    %eax
40a75e:	83 c4 04             	add    $0x4,%esp
40a761:	5b                   	pop    %ebx
40a762:	5f                   	pop    %edi
40a763:	5e                   	pop    %esi
40a764:	c2 04 00             	ret    $0x4
40a767:	56                   	push   %esi
40a768:	57                   	push   %edi
40a769:	53                   	push   %ebx
40a76a:	8d 74 24 10          	lea    0x10(%esp),%esi
40a76e:	83 ec 04             	sub    $0x4,%esp
40a771:	8b dc                	mov    %esp,%ebx
40a773:	83 ec 04             	sub    $0x4,%esp
40a776:	8b fc                	mov    %esp,%edi
40a778:	fc                   	cld
40a779:	ad                   	lods   %ds:(%esi),%eax
40a77a:	e8 45 c1 ff ff       	call   0x4068c4
40a77f:	89 03                	mov    %eax,(%ebx)
40a781:	8b c3                	mov    %ebx,%eax
40a783:	83 c3 04             	add    $0x4,%ebx
40a786:	ab                   	stos   %eax,%es:(%edi)
40a787:	e8 56 ff ff ff       	call   0x40a6e2
40a78c:	b9 01 00 00 00       	mov    $0x1,%ecx
40a791:	8b f4                	mov    %esp,%esi
40a793:	50                   	push   %eax
40a794:	ad                   	lods   %ds:(%esi),%eax
40a795:	56                   	push   %esi
40a796:	51                   	push   %ecx
40a797:	50                   	push   %eax
40a798:	e8 07 5e 09 00       	call   0x4a05a4
40a79d:	83 c4 04             	add    $0x4,%esp
40a7a0:	59                   	pop    %ecx
40a7a1:	5e                   	pop    %esi
40a7a2:	49                   	dec    %ecx
40a7a3:	75 ef                	jne    0x40a794
40a7a5:	58                   	pop    %eax
40a7a6:	83 c4 04             	add    $0x4,%esp
40a7a9:	5b                   	pop    %ebx
40a7aa:	5f                   	pop    %edi
40a7ab:	5e                   	pop    %esi
40a7ac:	c2 04 00             	ret    $0x4
40a7af:	55                   	push   %ebp
40a7b0:	8b ec                	mov    %esp,%ebp
40a7b2:	81 ec 6c 00 00 00    	sub    $0x6c,%esp
40a7b8:	68 08 00 00 00       	push   $0x8
40a7bd:	e8 dc 5d 09 00       	call   0x4a059e
40a7c2:	83 c4 04             	add    $0x4,%esp
40a7c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a7c8:	8b f8                	mov    %eax,%edi
40a7ca:	be 51 34 4c 00       	mov    $0x4c3451,%esi
40a7cf:	ad                   	lods   %ds:(%esi),%eax
40a7d0:	ab                   	stos   %eax,%es:(%edi)
40a7d1:	ad                   	lods   %ds:(%esi),%eax
40a7d2:	ab                   	stos   %eax,%es:(%edi)
40a7d3:	68 10 00 00 00       	push   $0x10
40a7d8:	e8 c1 5d 09 00       	call   0x4a059e
40a7dd:	83 c4 04             	add    $0x4,%esp
40a7e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a7e3:	8b d8                	mov    %eax,%ebx
40a7e5:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
40a7eb:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
40a7f2:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
40a7f9:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
40a800:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40a807:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40a80e:	b8 4a 0b 4e 00       	mov    $0x4e0b4a,%eax
40a813:	50                   	push   %eax
40a814:	8b d8                	mov    %eax,%ebx
40a816:	e8 d8 8e ff ff       	call   0x4036f3
40a81b:	58                   	pop    %eax
40a81c:	2b d8                	sub    %eax,%ebx
40a81e:	51                   	push   %ecx
40a81f:	53                   	push   %ebx
40a820:	50                   	push   %eax
40a821:	c1 e1 02             	shl    $0x2,%ecx
40a824:	03 cb                	add    %ebx,%ecx
40a826:	51                   	push   %ecx
40a827:	e8 72 5d 09 00       	call   0x4a059e
40a82c:	83 c4 04             	add    $0x4,%esp
40a82f:	5e                   	pop    %esi
40a830:	8b f8                	mov    %eax,%edi
40a832:	59                   	pop    %ecx
40a833:	c1 e9 02             	shr    $0x2,%ecx
40a836:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40a838:	59                   	pop    %ecx
40a839:	85 c9                	test   %ecx,%ecx
40a83b:	0f 84 2a 00 00 00    	je     0x40a86b
40a841:	50                   	push   %eax
40a842:	ad                   	lods   %ds:(%esi),%eax
40a843:	56                   	push   %esi
40a844:	57                   	push   %edi
40a845:	51                   	push   %ecx
40a846:	85 c0                	test   %eax,%eax
40a848:	74 15                	je     0x40a85f
40a84a:	50                   	push   %eax
40a84b:	8b d8                	mov    %eax,%ebx
40a84d:	e8 d2 b1 ff ff       	call   0x405a24
40a852:	40                   	inc    %eax
40a853:	50                   	push   %eax
40a854:	e8 45 5d 09 00       	call   0x4a059e
40a859:	59                   	pop    %ecx
40a85a:	5e                   	pop    %esi
40a85b:	8b f8                	mov    %eax,%edi
40a85d:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40a85f:	59                   	pop    %ecx
40a860:	5f                   	pop    %edi
40a861:	5e                   	pop    %esi
40a862:	ab                   	stos   %eax,%es:(%edi)
40a863:	49                   	dec    %ecx
40a864:	0f 85 d8 ff ff ff    	jne    0x40a842
40a86a:	58                   	pop    %eax
40a86b:	50                   	push   %eax
40a86c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40a86f:	53                   	push   %ebx
40a870:	8b 0b                	mov    (%ebx),%ecx
40a872:	83 c3 04             	add    $0x4,%ebx
40a875:	85 c9                	test   %ecx,%ecx
40a877:	74 11                	je     0x40a88a
40a879:	8b 03                	mov    (%ebx),%eax
40a87b:	83 c3 04             	add    $0x4,%ebx
40a87e:	49                   	dec    %ecx
40a87f:	74 05                	je     0x40a886
40a881:	0f af 03             	imul   (%ebx),%eax
40a884:	eb f5                	jmp    0x40a87b
40a886:	8b c8                	mov    %eax,%ecx
40a888:	85 c9                	test   %ecx,%ecx
40a88a:	0f 84 19 00 00 00    	je     0x40a8a9
40a890:	51                   	push   %ecx
40a891:	8b 03                	mov    (%ebx),%eax
40a893:	85 c0                	test   %eax,%eax
40a895:	74 0b                	je     0x40a8a2
40a897:	53                   	push   %ebx
40a898:	50                   	push   %eax
40a899:	e8 06 5d 09 00       	call   0x4a05a4
40a89e:	83 c4 04             	add    $0x4,%esp
40a8a1:	5b                   	pop    %ebx
40a8a2:	83 c3 04             	add    $0x4,%ebx
40a8a5:	59                   	pop    %ecx
40a8a6:	49                   	dec    %ecx
40a8a7:	75 e7                	jne    0x40a890
40a8a9:	e8 f6 5c 09 00       	call   0x4a05a4
40a8ae:	83 c4 04             	add    $0x4,%esp
40a8b1:	58                   	pop    %eax
40a8b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a8b5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40a8b8:	e8 36 8e ff ff       	call   0x4036f3
40a8bd:	b8 00 00 00 00       	mov    $0x0,%eax
40a8c2:	3b c1                	cmp    %ecx,%eax
40a8c4:	7c 17                	jl     0x40a8dd
40a8c6:	68 45 00 00 00       	push   $0x45
40a8cb:	68 25 25 01 04       	push   $0x4012525
40a8d0:	68 01 00 00 00       	push   $0x1
40a8d5:	e8 d0 5c 09 00       	call   0x4a05aa
40a8da:	83 c4 0c             	add    $0xc,%esp
40a8dd:	c1 e0 02             	shl    $0x2,%eax
40a8e0:	03 d8                	add    %eax,%ebx
40a8e2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40a8e5:	db 45 08             	fildl  0x8(%ebp)
40a8e8:	dd 5d e4             	fstpl  -0x1c(%ebp)
40a8eb:	dd 45 e4             	fldl   -0x1c(%ebp)
40a8ee:	dc 05 52 ea 4d 00    	faddl  0x4dea52
40a8f4:	dd 5d dc             	fstpl  -0x24(%ebp)
40a8f7:	db 45 0c             	fildl  0xc(%ebp)
40a8fa:	dd 5d d4             	fstpl  -0x2c(%ebp)
40a8fd:	dd 45 d4             	fldl   -0x2c(%ebp)
40a900:	dc 05 52 ea 4d 00    	faddl  0x4dea52
40a906:	dd 5d cc             	fstpl  -0x34(%ebp)
40a909:	6a 01                	push   $0x1
40a90b:	68 01 00 00 00       	push   $0x1
40a910:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40a917:	6a 00                	push   $0x0
40a919:	ff 75 c8             	push   -0x38(%ebp)
40a91c:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40a923:	6a 00                	push   $0x0
40a925:	ff 75 c4             	push   -0x3c(%ebp)
40a928:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40a92f:	6a 00                	push   $0x0
40a931:	8d 45 c0             	lea    -0x40(%ebp),%eax
40a934:	50                   	push   %eax
40a935:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40a93c:	6a 00                	push   $0x0
40a93e:	ff 75 bc             	push   -0x44(%ebp)
40a941:	6a 01                	push   $0x1
40a943:	dd 45 cc             	fldl   -0x34(%ebp)
40a946:	e8 a4 68 ff ff       	call   0x4011ef
40a94b:	50                   	push   %eax
40a94c:	6a 01                	push   $0x1
40a94e:	dd 45 dc             	fldl   -0x24(%ebp)
40a951:	e8 99 68 ff ff       	call   0x4011ef
40a956:	50                   	push   %eax
40a957:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40a95e:	6a 00                	push   $0x0
40a960:	ff 75 b8             	push   -0x48(%ebp)
40a963:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40a96a:	6a 00                	push   $0x0
40a96c:	ff 75 b4             	push   -0x4c(%ebp)
40a96f:	6a 01                	push   $0x1
40a971:	ff 75 ec             	push   -0x14(%ebp)
40a974:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40a97b:	6a 00                	push   $0x0
40a97d:	ff 75 b0             	push   -0x50(%ebp)
40a980:	e8 60 26 00 00       	call   0x40cfe5
40a985:	89 45 ac             	mov    %eax,-0x54(%ebp)
40a988:	8b 5d c0             	mov    -0x40(%ebp),%ebx
40a98b:	85 db                	test   %ebx,%ebx
40a98d:	74 09                	je     0x40a998
40a98f:	53                   	push   %ebx
40a990:	e8 0f 5c 09 00       	call   0x4a05a4
40a995:	83 c4 04             	add    $0x4,%esp
40a998:	8b 45 ac             	mov    -0x54(%ebp),%eax
40a99b:	a3 38 99 50 00       	mov    %eax,0x509938
40a9a0:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40a9a7:	6a 00                	push   $0x0
40a9a9:	ff 75 ec             	push   -0x14(%ebp)
40a9ac:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40a9b3:	6a 00                	push   $0x0
40a9b5:	ff 75 e8             	push   -0x18(%ebp)
40a9b8:	68 08 00 00 00       	push   $0x8
40a9bd:	e8 dc 5b 09 00       	call   0x4a059e
40a9c2:	83 c4 04             	add    $0x4,%esp
40a9c5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40a9c8:	8b f8                	mov    %eax,%edi
40a9ca:	be 51 34 4c 00       	mov    $0x4c3451,%esi
40a9cf:	ad                   	lods   %ds:(%esi),%eax
40a9d0:	ab                   	stos   %eax,%es:(%edi)
40a9d1:	ad                   	lods   %ds:(%esi),%eax
40a9d2:	ab                   	stos   %eax,%es:(%edi)
40a9d3:	6a 00                	push   $0x0
40a9d5:	8d 45 e4             	lea    -0x1c(%ebp),%eax