41a667:	c7 45 a4 04 00 00 00 	movl   $0x4,-0x5c(%ebp)
41a66e:	c7 45 ac 20 00 00 00 	movl   $0x20,-0x54(%ebp)
41a675:	c7 45 b0 24 62 40 00 	movl   $0x406224,-0x50(%ebp)
41a67c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41a67f:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a682:	8d 47 68             	lea    0x68(%edi),%eax
41a685:	6a 00                	push   $0x0
41a687:	6a 00                	push   $0x0
41a689:	89 45 d0             	mov    %eax,-0x30(%ebp)
41a68c:	89 45 d8             	mov    %eax,-0x28(%ebp)
41a68f:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
41a695:	50                   	push   %eax
41a696:	56                   	push   %esi
41a697:	68 00 00 00 80       	push   $0x80000000
41a69c:	c7 45 b8 04 00 00 00 	movl   $0x4,-0x48(%ebp)
41a6a3:	c7 45 c0 04 00 00 00 	movl   $0x4,-0x40(%ebp)
41a6aa:	89 55 c4             	mov    %edx,-0x3c(%ebp)
41a6ad:	c7 45 cc fc 5e 40 00 	movl   $0x405efc,-0x34(%ebp)
41a6b4:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
41a6b7:	c7 45 dc 28 00 00 00 	movl   $0x28,-0x24(%ebp)
41a6be:	ff 15 c0 35 42 00    	call   *0x4235c0
41a6c4:	8b f0                	mov    %eax,%esi
41a6c6:	85 f6                	test   %esi,%esi
41a6c8:	78 31                	js     0x41a6fb
41a6ca:	f6 47 0c 01          	testb  $0x1,0xc(%edi)
41a6ce:	74 2b                	je     0x41a6fb
41a6d0:	8b 4f 20             	mov    0x20(%edi),%ecx
41a6d3:	85 c9                	test   %ecx,%ecx
41a6d5:	74 05                	je     0x41a6dc
41a6d7:	e8 b7 07 00 00       	call   0x41ae93
41a6dc:	8b 03                	mov    (%ebx),%eax
41a6de:	8b cb                	mov    %ebx,%ecx
41a6e0:	89 47 1c             	mov    %eax,0x1c(%edi)
41a6e3:	8b 43 04             	mov    0x4(%ebx),%eax
41a6e6:	89 47 20             	mov    %eax,0x20(%edi)
41a6e9:	e8 c5 08 00 00       	call   0x41afb3
41a6ee:	8b f0                	mov    %eax,%esi
41a6f0:	85 f6                	test   %esi,%esi
41a6f2:	79 07                	jns    0x41a6fb
41a6f4:	8b cf                	mov    %edi,%ecx
41a6f6:	e8 f3 f9 ff ff       	call   0x41a0ee
41a6fb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a6fe:	8b c6                	mov    %esi,%eax
41a700:	5f                   	pop    %edi
41a701:	5e                   	pop    %esi
41a702:	33 cd                	xor    %ebp,%ecx
41a704:	5b                   	pop    %ebx
41a705:	e8 16 0f 00 00       	call   0x41b620
41a70a:	c9                   	leave
41a70b:	c3                   	ret
41a70c:	8b ff                	mov    %edi,%edi
41a70e:	55                   	push   %ebp
41a70f:	8b ec                	mov    %esp,%ebp
41a711:	83 e4 f8             	and    $0xfffffff8,%esp
41a714:	81 ec ac 00 00 00    	sub    $0xac,%esp
41a71a:	a1 e4 05 42 00       	mov    0x4205e4,%eax
41a71f:	33 c4                	xor    %esp,%eax
41a721:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
41a728:	53                   	push   %ebx
41a729:	56                   	push   %esi
41a72a:	57                   	push   %edi
41a72b:	89 54 24 18          	mov    %edx,0x18(%esp)
41a72f:	8b d9                	mov    %ecx,%ebx
41a731:	e8 70 07 00 00       	call   0x41aea6
41a736:	8b f0                	mov    %eax,%esi
41a738:	85 f6                	test   %esi,%esi
41a73a:	0f 88 29 07 00 00    	js     0x41ae69
41a740:	e8 fc f9 ff ff       	call   0x41a141
41a745:	8b f8                	mov    %eax,%edi
41a747:	8b 44 24 18          	mov    0x18(%esp),%eax
41a74b:	85 c0                	test   %eax,%eax
41a74d:	74 11                	je     0x41a760
41a74f:	ff 75 08             	push   0x8(%ebp)
41a752:	50                   	push   %eax
41a753:	8d 44 24 18          	lea    0x18(%esp),%eax
41a757:	50                   	push   %eax
41a758:	ff 15 a0 35 42 00    	call   *0x4235a0
41a75e:	eb 1d                	jmp    0x41a77d
41a760:	6a 20                	push   $0x20
41a762:	8d 44 24 20          	lea    0x20(%esp),%eax
41a766:	50                   	push   %eax
41a767:	8d 44 24 18          	lea    0x18(%esp),%eax
41a76b:	50                   	push   %eax
41a76c:	ff 15 a0 35 42 00    	call   *0x4235a0
41a772:	8d 44 24 10          	lea    0x10(%esp),%eax
41a776:	50                   	push   %eax
41a777:	ff 15 b0 35 42 00    	call   *0x4235b0
41a77d:	33 c0                	xor    %eax,%eax
41a77f:	50                   	push   %eax
41a780:	8d 44 24 14          	lea    0x14(%esp),%eax
41a784:	50                   	push   %eax
41a785:	ff 15 b4 35 42 00    	call   *0x4235b4
41a78b:	84 c0                	test   %al,%al
41a78d:	74 3f                	je     0x41a7ce
41a78f:	33 c0                	xor    %eax,%eax
41a791:	39 03                	cmp    %eax,(%ebx)
41a793:	74 1e                	je     0x41a7b3
41a795:	6a 04                	push   $0x4
41a797:	53                   	push   %ebx
41a798:	6a 04                	push   $0x4
41a79a:	68 28 5f 40 00       	push   $0x405f28
41a79f:	57                   	push   %edi
41a7a0:	50                   	push   %eax
41a7a1:	ff 15 e8 35 42 00    	call   *0x4235e8
41a7a7:	8b f0                	mov    %eax,%esi
41a7a9:	85 f6                	test   %esi,%esi
41a7ab:	0f 88 8d 06 00 00    	js     0x41ae3e
41a7b1:	eb 1b                	jmp    0x41a7ce
41a7b3:	68 28 5f 40 00       	push   $0x405f28
41a7b8:	57                   	push   %edi
41a7b9:	50                   	push   %eax
41a7ba:	ff 15 c8 35 42 00    	call   *0x4235c8
41a7c0:	8b f0                	mov    %eax,%esi
41a7c2:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a7c8:	0f 84 6c 06 00 00    	je     0x41ae3a
41a7ce:	6a 01                	push   $0x1
41a7d0:	8d 44 24 14          	lea    0x14(%esp),%eax
41a7d4:	50                   	push   %eax
41a7d5:	ff 15 b4 35 42 00    	call   *0x4235b4
41a7db:	84 c0                	test   %al,%al
41a7dd:	74 46                	je     0x41a825
41a7df:	8d 43 04             	lea    0x4(%ebx),%eax
41a7e2:	f7 00 00 00 10 00    	testl  $0x100000,(%eax)
41a7e8:	74 1f                	je     0x41a809
41a7ea:	6a 08                	push   $0x8
41a7ec:	50                   	push   %eax
41a7ed:	6a 03                	push   $0x3
41a7ef:	68 d0 5e 40 00       	push   $0x405ed0
41a7f4:	57                   	push   %edi
41a7f5:	6a 00                	push   $0x0
41a7f7:	ff 15 e8 35 42 00    	call   *0x4235e8
41a7fd:	8b f0                	mov    %eax,%esi
41a7ff:	85 f6                	test   %esi,%esi
41a801:	0f 88 37 06 00 00    	js     0x41ae3e
41a807:	eb 1c                	jmp    0x41a825
41a809:	68 d0 5e 40 00       	push   $0x405ed0
41a80e:	57                   	push   %edi
41a80f:	6a 00                	push   $0x0
41a811:	ff 15 c8 35 42 00    	call   *0x4235c8
41a817:	8b f0                	mov    %eax,%esi
41a819:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a81f:	0f 84 15 06 00 00    	je     0x41ae3a
41a825:	6a 04                	push   $0x4
41a827:	8d 44 24 14          	lea    0x14(%esp),%eax
41a82b:	50                   	push   %eax
41a82c:	ff 15 b4 35 42 00    	call   *0x4235b4
41a832:	b9 6c 5f 40 00       	mov    $0x405f6c,%ecx
41a837:	84 c0                	test   %al,%al
41a839:	74 40                	je     0x41a87b
41a83b:	0f b7 43 14          	movzwl 0x14(%ebx),%eax
41a83f:	66 85 c0             	test   %ax,%ax
41a842:	74 1f                	je     0x41a863
41a844:	83 c0 02             	add    $0x2,%eax
41a847:	50                   	push   %eax
41a848:	ff 73 18             	push   0x18(%ebx)
41a84b:	6a 01                	push   $0x1
41a84d:	51                   	push   %ecx
41a84e:	57                   	push   %edi
41a84f:	6a 00                	push   $0x0
41a851:	ff 15 e8 35 42 00    	call   *0x4235e8
41a857:	8b f0                	mov    %eax,%esi
41a859:	85 f6                	test   %esi,%esi
41a85b:	0f 88 dd 05 00 00    	js     0x41ae3e
41a861:	eb 18                	jmp    0x41a87b
41a863:	51                   	push   %ecx
41a864:	57                   	push   %edi
41a865:	6a 00                	push   $0x0
41a867:	ff 15 c8 35 42 00    	call   *0x4235c8
41a86d:	8b f0                	mov    %eax,%esi
41a86f:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a875:	0f 84 bf 05 00 00    	je     0x41ae3a
41a87b:	6a 03                	push   $0x3
41a87d:	8d 44 24 14          	lea    0x14(%esp),%eax
41a881:	50                   	push   %eax
41a882:	ff 15 b4 35 42 00    	call   *0x4235b4
41a888:	84 c0                	test   %al,%al
41a88a:	74 42                	je     0x41a8ce
41a88c:	8d 43 10             	lea    0x10(%ebx),%eax
41a88f:	33 c9                	xor    %ecx,%ecx
41a891:	39 08                	cmp    %ecx,(%eax)
41a893:	74 1e                	je     0x41a8b3
41a895:	6a 04                	push   $0x4
41a897:	50                   	push   %eax
41a898:	6a 04                	push   $0x4
41a89a:	68 60 61 40 00       	push   $0x406160
41a89f:	57                   	push   %edi
41a8a0:	51                   	push   %ecx
41a8a1:	ff 15 e8 35 42 00    	call   *0x4235e8
41a8a7:	8b f0                	mov    %eax,%esi
41a8a9:	85 f6                	test   %esi,%esi
41a8ab:	0f 88 8d 05 00 00    	js     0x41ae3e
41a8b1:	eb 1b                	jmp    0x41a8ce
41a8b3:	68 60 61 40 00       	push   $0x406160
41a8b8:	57                   	push   %edi
41a8b9:	51                   	push   %ecx
41a8ba:	ff 15 c8 35 42 00    	call   *0x4235c8
41a8c0:	8b f0                	mov    %eax,%esi
41a8c2:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a8c8:	0f 84 6c 05 00 00    	je     0x41ae3a
41a8ce:	6a 02                	push   $0x2
41a8d0:	8d 44 24 14          	lea    0x14(%esp),%eax
41a8d4:	50                   	push   %eax
41a8d5:	ff 15 b4 35 42 00    	call   *0x4235b4
41a8db:	84 c0                	test   %al,%al
41a8dd:	74 42                	je     0x41a921
41a8df:	8d 43 0c             	lea    0xc(%ebx),%eax
41a8e2:	33 c9                	xor    %ecx,%ecx
41a8e4:	39 08                	cmp    %ecx,(%eax)
41a8e6:	74 1e                	je     0x41a906
41a8e8:	6a 04                	push   $0x4
41a8ea:	50                   	push   %eax
41a8eb:	6a 04                	push   $0x4
41a8ed:	68 4c 5f 40 00       	push   $0x405f4c
41a8f2:	57                   	push   %edi
41a8f3:	51                   	push   %ecx
41a8f4:	ff 15 e8 35 42 00    	call   *0x4235e8
41a8fa:	8b f0                	mov    %eax,%esi
41a8fc:	85 f6                	test   %esi,%esi
41a8fe:	0f 88 3a 05 00 00    	js     0x41ae3e
41a904:	eb 1b                	jmp    0x41a921
41a906:	68 4c 5f 40 00       	push   $0x405f4c
41a90b:	57                   	push   %edi
41a90c:	51                   	push   %ecx
41a90d:	ff 15 c8 35 42 00    	call   *0x4235c8
41a913:	8b f0                	mov    %eax,%esi
41a915:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a91b:	0f 84 19 05 00 00    	je     0x41ae3a
41a921:	6a 05                	push   $0x5
41a923:	8d 44 24 14          	lea    0x14(%esp),%eax
41a927:	50                   	push   %eax
41a928:	ff 15 b4 35 42 00    	call   *0x4235b4
41a92e:	84 c0                	test   %al,%al
41a930:	74 5f                	je     0x41a991
41a932:	0f b7 43 1c          	movzwl 0x1c(%ebx),%eax
41a936:	66 85 c0             	test   %ax,%ax
41a939:	74 2d                	je     0x41a968
41a93b:	f6 43 0c 01          	testb  $0x1,0xc(%ebx)
41a93f:	b9 6c 5f 40 00       	mov    $0x405f6c,%ecx
41a944:	75 05                	jne    0x41a94b
41a946:	b9 88 5f 40 00       	mov    $0x405f88,%ecx
41a94b:	83 c0 02             	add    $0x2,%eax
41a94e:	50                   	push   %eax
41a94f:	ff 73 20             	push   0x20(%ebx)
41a952:	6a 01                	push   $0x1
41a954:	51                   	push   %ecx
41a955:	57                   	push   %edi
41a956:	6a 00                	push   $0x0
41a958:	ff 15 e8 35 42 00    	call   *0x4235e8
41a95e:	8b f0                	mov    %eax,%esi
41a960:	85 f6                	test   %esi,%esi
41a962:	0f 88 d6 04 00 00    	js     0x41ae3e
41a968:	33 c0                	xor    %eax,%eax
41a96a:	66 39 43 1c          	cmp    %ax,0x1c(%ebx)
41a96e:	74 06                	je     0x41a976
41a970:	f6 43 0c 01          	testb  $0x1,0xc(%ebx)
41a974:	74 1b                	je     0x41a991
41a976:	68 88 5f 40 00       	push   $0x405f88
41a97b:	57                   	push   %edi
41a97c:	50                   	push   %eax
41a97d:	ff 15 c8 35 42 00    	call   *0x4235c8
41a983:	8b f0                	mov    %eax,%esi
41a985:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a98b:	0f 84 a9 04 00 00    	je     0x41ae3a
41a991:	6a 06                	push   $0x6
41a993:	8d 44 24 14          	lea    0x14(%esp),%eax
41a997:	50                   	push   %eax
41a998:	ff 15 b4 35 42 00    	call   *0x4235b4
41a99e:	84 c0                	test   %al,%al
41a9a0:	74 42                	je     0x41a9e4
41a9a2:	8d 43 24             	lea    0x24(%ebx),%eax
41a9a5:	33 c9                	xor    %ecx,%ecx
41a9a7:	39 08                	cmp    %ecx,(%eax)
41a9a9:	74 1e                	je     0x41a9c9
41a9ab:	6a 04                	push   $0x4
41a9ad:	50                   	push   %eax
41a9ae:	6a 04                	push   $0x4
41a9b0:	68 8c 61 40 00       	push   $0x40618c
41a9b5:	57                   	push   %edi
41a9b6:	51                   	push   %ecx
41a9b7:	ff 15 e8 35 42 00    	call   *0x4235e8
41a9bd:	8b f0                	mov    %eax,%esi
41a9bf:	85 f6                	test   %esi,%esi
41a9c1:	0f 88 77 04 00 00    	js     0x41ae3e
41a9c7:	eb 1b                	jmp    0x41a9e4
41a9c9:	68 8c 61 40 00       	push   $0x40618c
41a9ce:	57                   	push   %edi
41a9cf:	51                   	push   %ecx
41a9d0:	ff 15 c8 35 42 00    	call   *0x4235c8
41a9d6:	8b f0                	mov    %eax,%esi
41a9d8:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41a9de:	0f 84 56 04 00 00    	je     0x41ae3a
41a9e4:	6a 07                	push   $0x7
41a9e6:	8d 44 24 14          	lea    0x14(%esp),%eax
41a9ea:	50                   	push   %eax
41a9eb:	ff 15 b4 35 42 00    	call   *0x4235b4
41a9f1:	84 c0                	test   %al,%al
41a9f3:	74 42                	je     0x41aa37
41a9f5:	8d 43 28             	lea    0x28(%ebx),%eax
41a9f8:	33 c9                	xor    %ecx,%ecx
41a9fa:	39 08                	cmp    %ecx,(%eax)
41a9fc:	74 1e                	je     0x41aa1c
41a9fe:	6a 04                	push   $0x4
41aa00:	50                   	push   %eax
41aa01:	6a 04                	push   $0x4
41aa03:	68 b4 5f 40 00       	push   $0x405fb4
41aa08:	57                   	push   %edi
41aa09:	51                   	push   %ecx
41aa0a:	ff 15 e8 35 42 00    	call   *0x4235e8
41aa10:	8b f0                	mov    %eax,%esi
41aa12:	85 f6                	test   %esi,%esi
41aa14:	0f 88 24 04 00 00    	js     0x41ae3e
41aa1a:	eb 1b                	jmp    0x41aa37
41aa1c:	68 b4 5f 40 00       	push   $0x405fb4
41aa21:	57                   	push   %edi
41aa22:	51                   	push   %ecx
41aa23:	ff 15 c8 35 42 00    	call   *0x4235c8
41aa29:	8b f0                	mov    %eax,%esi
41aa2b:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41aa31:	0f 84 03 04 00 00    	je     0x41ae3a
41aa37:	6a 08                	push   $0x8
41aa39:	8d 44 24 14          	lea    0x14(%esp),%eax
41aa3d:	50                   	push   %eax
41aa3e:	ff 15 b4 35 42 00    	call   *0x4235b4
41aa44:	84 c0                	test   %al,%al
41aa46:	74 42                	je     0x41aa8a
41aa48:	8d 43 2c             	lea    0x2c(%ebx),%eax
41aa4b:	33 c9                	xor    %ecx,%ecx
41aa4d:	39 08                	cmp    %ecx,(%eax)
41aa4f:	74 1e                	je     0x41aa6f
41aa51:	6a 04                	push   $0x4
41aa53:	50                   	push   %eax
41aa54:	6a 04                	push   $0x4
41aa56:	68 e8 5f 40 00       	push   $0x405fe8
41aa5b:	57                   	push   %edi
41aa5c:	51                   	push   %ecx
41aa5d:	ff 15 e8 35 42 00    	call   *0x4235e8
41aa63:	8b f0                	mov    %eax,%esi
41aa65:	85 f6                	test   %esi,%esi
41aa67:	0f 88 d1 03 00 00    	js     0x41ae3e
41aa6d:	eb 1b                	jmp    0x41aa8a
41aa6f:	68 e8 5f 40 00       	push   $0x405fe8
41aa74:	57                   	push   %edi
41aa75:	51                   	push   %ecx
41aa76:	ff 15 c8 35 42 00    	call   *0x4235c8
41aa7c:	8b f0                	mov    %eax,%esi
41aa7e:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41aa84:	0f 84 b0 03 00 00    	je     0x41ae3a
41aa8a:	6a 09                	push   $0x9
41aa8c:	8d 44 24 14          	lea    0x14(%esp),%eax
41aa90:	50                   	push   %eax