41a65c:	c3                   	ret
41a65d:	e8 2e 8e fe ff       	call   0x403490
41a662:	5b                   	pop    %ebx
41a663:	c3                   	ret
41a664:	55                   	push   %ebp
41a665:	8b ec                	mov    %esp,%ebp
41a667:	5d                   	pop    %ebp
41a668:	c2 04 00             	ret    $0x4
41a66b:	90                   	nop
41a66c:	55                   	push   %ebp
41a66d:	8b ec                	mov    %esp,%ebp
41a66f:	53                   	push   %ebx
41a670:	56                   	push   %esi
41a671:	57                   	push   %edi
41a672:	8b 7d 10             	mov    0x10(%ebp),%edi
41a675:	8b 75 0c             	mov    0xc(%ebp),%esi
41a678:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a67b:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
41a67f:	75 1a                	jne    0x41a69b
41a681:	8b cf                	mov    %edi,%ecx
41a683:	8b d6                	mov    %esi,%edx
41a685:	8b c3                	mov    %ebx,%eax
41a687:	e8 70 8c fe ff       	call   0x4032fc
41a68c:	84 c0                	test   %al,%al
41a68e:	74 04                	je     0x41a694
41a690:	33 c0                	xor    %eax,%eax
41a692:	eb 11                	jmp    0x41a6a5
41a694:	b8 02 40 00 80       	mov    $0x80004002,%eax
41a699:	eb 0a                	jmp    0x41a6a5
41a69b:	57                   	push   %edi
41a69c:	56                   	push   %esi
41a69d:	8b 43 20             	mov    0x20(%ebx),%eax
41a6a0:	50                   	push   %eax
41a6a1:	8b 00                	mov    (%eax),%eax
41a6a3:	ff 10                	call   *(%eax)
41a6a5:	5f                   	pop    %edi
41a6a6:	5e                   	pop    %esi
41a6a7:	5b                   	pop    %ebx
41a6a8:	5d                   	pop    %ebp
41a6a9:	c2 0c 00             	ret    $0xc
41a6ac:	55                   	push   %ebp
41a6ad:	8b ec                	mov    %esp,%ebp
41a6af:	8b 45 08             	mov    0x8(%ebp),%eax
41a6b2:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41a6b6:	75 05                	jne    0x41a6bd
41a6b8:	83 c8 ff             	or     $0xffffffff,%eax
41a6bb:	eb 09                	jmp    0x41a6c6
41a6bd:	8b 40 20             	mov    0x20(%eax),%eax
41a6c0:	50                   	push   %eax
41a6c1:	8b 00                	mov    (%eax),%eax
41a6c3:	ff 50 04             	call   *0x4(%eax)
41a6c6:	5d                   	pop    %ebp
41a6c7:	c2 04 00             	ret    $0x4
41a6ca:	8b c0                	mov    %eax,%eax
41a6cc:	55                   	push   %ebp
41a6cd:	8b ec                	mov    %esp,%ebp
41a6cf:	8b 45 08             	mov    0x8(%ebp),%eax
41a6d2:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41a6d6:	75 05                	jne    0x41a6dd
41a6d8:	83 c8 ff             	or     $0xffffffff,%eax
41a6db:	eb 09                	jmp    0x41a6e6
41a6dd:	8b 40 20             	mov    0x20(%eax),%eax
41a6e0:	50                   	push   %eax
41a6e1:	8b 00                	mov    (%eax),%eax
41a6e3:	ff 50 08             	call   *0x8(%eax)
41a6e6:	5d                   	pop    %ebp
41a6e7:	c2 04 00             	ret    $0x4
41a6ea:	8b c0                	mov    %eax,%eax
41a6ec:	c3                   	ret
41a6ed:	8d 40 00             	lea    0x0(%eax),%eax
41a6f0:	53                   	push   %ebx
41a6f1:	56                   	push   %esi
41a6f2:	57                   	push   %edi
41a6f3:	84 d2                	test   %dl,%dl
41a6f5:	74 08                	je     0x41a6ff
41a6f7:	83 c4 f0             	add    $0xfffffff0,%esp
41a6fa:	e8 6d 8e fe ff       	call   0x40356c
41a6ff:	8b f1                	mov    %ecx,%esi
41a701:	8b da                	mov    %edx,%ebx
41a703:	8b f8                	mov    %eax,%edi
41a705:	33 d2                	xor    %edx,%edx
41a707:	8b c7                	mov    %edi,%eax
41a709:	e8 0a 8b fe ff       	call   0x403218
41a70e:	8b d6                	mov    %esi,%edx
41a710:	8b c7                	mov    %edi,%eax
41a712:	8b 08                	mov    (%eax),%ecx
41a714:	ff 11                	call   *(%ecx)
41a716:	8b c7                	mov    %edi,%eax
41a718:	84 db                	test   %bl,%bl
41a71a:	74 0f                	je     0x41a72b
41a71c:	e8 a3 8e fe ff       	call   0x4035c4
41a721:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a728:	83 c4 0c             	add    $0xc,%esp
41a72b:	8b c7                	mov    %edi,%eax
41a72d:	5f                   	pop    %edi
41a72e:	5e                   	pop    %esi
41a72f:	5b                   	pop    %ebx
41a730:	c3                   	ret
41a731:	8d 40 00             	lea    0x0(%eax),%eax
41a734:	c3                   	ret
41a735:	8d 40 00             	lea    0x0(%eax),%eax
41a738:	53                   	push   %ebx
41a739:	56                   	push   %esi
41a73a:	e8 95 8e fe ff       	call   0x4035d4
41a73f:	8b da                	mov    %edx,%ebx
41a741:	8b f0                	mov    %eax,%esi
41a743:	8b 46 10             	mov    0x10(%esi),%eax
41a746:	85 c0                	test   %eax,%eax
41a748:	74 07                	je     0x41a751
41a74a:	8b d6                	mov    %esi,%edx
41a74c:	e8 17 02 00 00       	call   0x41a968
41a751:	8b d3                	mov    %ebx,%edx
41a753:	80 e2 fc             	and    $0xfc,%dl
41a756:	8b c6                	mov    %esi,%eax
41a758:	e8 db 8a fe ff       	call   0x403238
41a75d:	84 db                	test   %bl,%bl
41a75f:	7e 07                	jle    0x41a768
41a761:	8b c6                	mov    %esi,%eax
41a763:	e8 54 8e fe ff       	call   0x4035bc
41a768:	5e                   	pop    %esi
41a769:	5b                   	pop    %ebx
41a76a:	c3                   	ret
41a76b:	90                   	nop
41a76c:	53                   	push   %ebx
41a76d:	66 83 78 0a 00       	cmpw   $0x0,0xa(%eax)
41a772:	74 0b                	je     0x41a77f
41a774:	8b d8                	mov    %eax,%ebx
41a776:	8b 50 10             	mov    0x10(%eax),%edx
41a779:	8b 43 0c             	mov    0xc(%ebx),%eax
41a77c:	ff 53 08             	call   *0x8(%ebx)
41a77f:	5b                   	pop    %ebx
41a780:	c3                   	ret
41a781:	8d 40 00             	lea    0x0(%eax),%eax
41a784:	53                   	push   %ebx
41a785:	56                   	push   %esi
41a786:	8b d8                	mov    %eax,%ebx
41a788:	8b 43 10             	mov    0x10(%ebx),%eax
41a78b:	e8 18 02 00 00       	call   0x41a9a8
41a790:	8b 43 10             	mov    0x10(%ebx),%eax
41a793:	66 be ef ff          	mov    $0xffef,%si
41a797:	e8 a8 8c fe ff       	call   0x403444
41a79c:	5e                   	pop    %esi
41a79d:	5b                   	pop    %ebx
41a79e:	c3                   	ret
41a79f:	90                   	nop
41a7a0:	53                   	push   %ebx
41a7a1:	56                   	push   %esi
41a7a2:	8b f2                	mov    %edx,%esi
41a7a4:	8b d8                	mov    %eax,%ebx
41a7a6:	8b 43 10             	mov    0x10(%ebx),%eax
41a7a9:	3b f0                	cmp    %eax,%esi
41a7ab:	74 1b                	je     0x41a7c8
41a7ad:	85 c0                	test   %eax,%eax
41a7af:	74 07                	je     0x41a7b8
41a7b1:	8b d3                	mov    %ebx,%edx
41a7b3:	e8 b0 01 00 00       	call   0x41a968
41a7b8:	89 73 10             	mov    %esi,0x10(%ebx)
41a7bb:	85 f6                	test   %esi,%esi
41a7bd:	74 09                	je     0x41a7c8
41a7bf:	8b d3                	mov    %ebx,%edx
41a7c1:	8b c6                	mov    %esi,%eax
41a7c3:	e8 94 01 00 00       	call   0x41a95c
41a7c8:	5e                   	pop    %esi
41a7c9:	5b                   	pop    %ebx
41a7ca:	c3                   	ret
41a7cb:	90                   	nop
41a7cc:	b0 01                	mov    $0x1,%al
41a7ce:	c3                   	ret
41a7cf:	90                   	nop
41a7d0:	55                   	push   %ebp
41a7d1:	8b ec                	mov    %esp,%ebp
41a7d3:	5d                   	pop    %ebp
41a7d4:	c2 08 00             	ret    $0x8
41a7d7:	90                   	nop
41a7d8:	8b 40 10             	mov    0x10(%eax),%eax
41a7db:	8b 10                	mov    (%eax),%edx
41a7dd:	ff 52 44             	call   *0x44(%edx)
41a7e0:	c3                   	ret
41a7e1:	8d 40 00             	lea    0x0(%eax),%eax
41a7e4:	53                   	push   %ebx
41a7e5:	56                   	push   %esi
41a7e6:	84 d2                	test   %dl,%dl
41a7e8:	74 08                	je     0x41a7f2
41a7ea:	83 c4 f0             	add    $0xfffffff0,%esp
41a7ed:	e8 7a 8d fe ff       	call   0x40356c
41a7f2:	8b da                	mov    %edx,%ebx
41a7f4:	8b f0                	mov    %eax,%esi
41a7f6:	33 d2                	xor    %edx,%edx
41a7f8:	8b c6                	mov    %esi,%eax
41a7fa:	e8 dd f6 ff ff       	call   0x419edc
41a7ff:	b2 01                	mov    $0x1,%dl
41a801:	a1 88 18 41 00       	mov    0x411888,%eax
41a806:	e8 0d 8a fe ff       	call   0x403218
41a80b:	89 46 50             	mov    %eax,0x50(%esi)
41a80e:	8b c6                	mov    %esi,%eax
41a810:	84 db                	test   %bl,%bl
41a812:	74 0f                	je     0x41a823
41a814:	e8 ab 8d fe ff       	call   0x4035c4
41a819:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a820:	83 c4 0c             	add    $0xc,%esp
41a823:	8b c6                	mov    %esi,%eax
41a825:	5e                   	pop    %esi
41a826:	5b                   	pop    %ebx
41a827:	c3                   	ret
41a828:	53                   	push   %ebx
41a829:	56                   	push   %esi
41a82a:	57                   	push   %edi
41a82b:	e8 a4 8d fe ff       	call   0x4035d4
41a830:	8b da                	mov    %edx,%ebx
41a832:	8b f8                	mov    %eax,%edi
41a834:	8b d3                	mov    %ebx,%edx
41a836:	80 e2 fc             	and    $0xfc,%dl
41a839:	8b c7                	mov    %edi,%eax
41a83b:	e8 e8 f6 ff ff       	call   0x419f28
41a840:	8b 47 30             	mov    0x30(%edi),%eax
41a843:	85 c0                	test   %eax,%eax
41a845:	74 19                	je     0x41a860
41a847:	8b d7                	mov    %edi,%edx
41a849:	e8 8e f9 ff ff       	call   0x41a1dc
41a84e:	eb 10                	jmp    0x41a860
41a850:	8b c6                	mov    %esi,%eax
41a852:	e8 0d 96 ff ff       	call   0x413e64
41a857:	8b d0                	mov    %eax,%edx
41a859:	8b c7                	mov    %edi,%eax
41a85b:	e8 08 01 00 00       	call   0x41a968
41a860:	8b 77 50             	mov    0x50(%edi),%esi
41a863:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41a867:	7f e7                	jg     0x41a850
41a869:	8d 47 50             	lea    0x50(%edi),%eax
41a86c:	e8 db 26 ff ff       	call   0x40cf4c
41a871:	84 db                	test   %bl,%bl
41a873:	7e 07                	jle    0x41a87c
41a875:	8b c7                	mov    %edi,%eax
41a877:	e8 40 8d fe ff       	call   0x4035bc
41a87c:	5f                   	pop    %edi
41a87d:	5e                   	pop    %esi
41a87e:	5b                   	pop    %ebx
41a87f:	c3                   	ret
41a880:	33 c0                	xor    %eax,%eax
41a882:	c3                   	ret
41a883:	90                   	nop
41a884:	c3                   	ret
41a885:	8d 40 00             	lea    0x0(%eax),%eax
41a888:	53                   	push   %ebx
41a889:	56                   	push   %esi
41a88a:	57                   	push   %edi
41a88b:	8b d9                	mov    %ecx,%ebx
41a88d:	8b f2                	mov    %edx,%esi
41a88f:	8b f8                	mov    %eax,%edi
41a891:	8b cb                	mov    %ebx,%ecx
41a893:	8b d6                	mov    %esi,%edx
41a895:	8b c7                	mov    %edi,%eax
41a897:	e8 5c f9 ff ff       	call   0x41a1f8
41a89c:	80 fb 01             	cmp    $0x1,%bl
41a89f:	75 0a                	jne    0x41a8ab
41a8a1:	3b 77 30             	cmp    0x30(%edi),%esi
41a8a4:	75 05                	jne    0x41a8ab
41a8a6:	33 c0                	xor    %eax,%eax
41a8a8:	89 47 30             	mov    %eax,0x30(%edi)
41a8ab:	5f                   	pop    %edi
41a8ac:	5e                   	pop    %esi
41a8ad:	5b                   	pop    %ebx
41a8ae:	c3                   	ret
41a8af:	90                   	nop
41a8b0:	c3                   	ret
41a8b1:	8d 40 00             	lea    0x0(%eax),%eax
41a8b4:	53                   	push   %ebx
41a8b5:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41a8ba:	74 0e                	je     0x41a8ca
41a8bc:	8b d8                	mov    %eax,%ebx
41a8be:	8b d0                	mov    %eax,%edx
41a8c0:	8b 43 44             	mov    0x44(%ebx),%eax
41a8c3:	ff 53 40             	call   *0x40(%ebx)
41a8c6:	b0 01                	mov    $0x1,%al
41a8c8:	5b                   	pop    %ebx
41a8c9:	c3                   	ret
41a8ca:	33 c0                	xor    %eax,%eax
41a8cc:	5b                   	pop    %ebx
41a8cd:	c3                   	ret
41a8ce:	8b c0                	mov    %eax,%eax
41a8d0:	53                   	push   %ebx
41a8d1:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41a8d6:	74 0e                	je     0x41a8e6
41a8d8:	8b d8                	mov    %eax,%ebx
41a8da:	8b d0                	mov    %eax,%edx
41a8dc:	8b 43 4c             	mov    0x4c(%ebx),%eax
41a8df:	ff 53 48             	call   *0x48(%ebx)
41a8e2:	b0 01                	mov    $0x1,%al
41a8e4:	5b                   	pop    %ebx
41a8e5:	c3                   	ret
41a8e6:	33 c0                	xor    %eax,%eax
41a8e8:	5b                   	pop    %ebx
41a8e9:	c3                   	ret
41a8ea:	8b c0                	mov    %eax,%eax
41a8ec:	55                   	push   %ebp
41a8ed:	8b ec                	mov    %esp,%ebp
41a8ef:	53                   	push   %ebx
41a8f0:	56                   	push   %esi
41a8f1:	57                   	push   %edi
41a8f2:	8b d8                	mov    %eax,%ebx
41a8f4:	8b 45 08             	mov    0x8(%ebp),%eax
41a8f7:	3b 43 40             	cmp    0x40(%ebx),%eax
41a8fa:	75 08                	jne    0x41a904
41a8fc:	8b 45 0c             	mov    0xc(%ebp),%eax
41a8ff:	3b 43 44             	cmp    0x44(%ebx),%eax
41a902:	74 3a                	je     0x41a93e
41a904:	8b 43 50             	mov    0x50(%ebx),%eax
41a907:	8b 70 08             	mov    0x8(%eax),%esi
41a90a:	4e                   	dec    %esi
41a90b:	85 f6                	test   %esi,%esi
41a90d:	7c 1c                	jl     0x41a92b
41a90f:	46                   	inc    %esi
41a910:	33 ff                	xor    %edi,%edi
41a912:	ff 75 0c             	push   0xc(%ebp)
41a915:	ff 75 08             	push   0x8(%ebp)
41a918:	8b d7                	mov    %edi,%edx
41a91a:	8b 43 50             	mov    0x50(%ebx),%eax
41a91d:	e8 5a 94 ff ff       	call   0x413d7c
41a922:	8b 10                	mov    (%eax),%edx
41a924:	ff 52 10             	call   *0x10(%edx)
41a927:	47                   	inc    %edi
41a928:	4e                   	dec    %esi
41a929:	75 e7                	jne    0x41a912
41a92b:	8b 45 08             	mov    0x8(%ebp),%eax
41a92e:	89 43 40             	mov    %eax,0x40(%ebx)
41a931:	8b 45 0c             	mov    0xc(%ebp),%eax
41a934:	89 43 44             	mov    %eax,0x44(%ebx)
41a937:	8b c3                	mov    %ebx,%eax
41a939:	8b 10                	mov    (%eax),%edx
41a93b:	ff 52 30             	call   *0x30(%edx)
41a93e:	5f                   	pop    %edi
41a93f:	5e                   	pop    %esi
41a940:	5b                   	pop    %ebx
41a941:	5d                   	pop    %ebp
41a942:	c2 08 00             	ret    $0x8
41a945:	8d 40 00             	lea    0x0(%eax),%eax
41a948:	53                   	push   %ebx
41a949:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41a94e:	74 0a                	je     0x41a95a
41a950:	8b d8                	mov    %eax,%ebx
41a952:	8b d0                	mov    %eax,%edx
41a954:	8b 43 3c             	mov    0x3c(%ebx),%eax
41a957:	ff 53 38             	call   *0x38(%ebx)
41a95a:	5b                   	pop    %ebx
41a95b:	c3                   	ret
41a95c:	89 42 10             	mov    %eax,0x10(%edx)
41a95f:	8b 40 50             	mov    0x50(%eax),%eax
41a962:	e8 b9 92 ff ff       	call   0x413c20
41a967:	c3                   	ret
41a968:	53                   	push   %ebx