413824:	e8 10 0f ff ff       	call   0x404739
413829:	c9                   	leave
41382a:	c3                   	ret
41382b:	55                   	push   %ebp
41382c:	8b ec                	mov    %esp,%ebp
41382e:	56                   	push   %esi
41382f:	8b 75 0c             	mov    0xc(%ebp),%esi
413832:	33 d2                	xor    %edx,%edx
413834:	57                   	push   %edi
413835:	42                   	inc    %edx
413836:	33 ff                	xor    %edi,%edi
413838:	85 f6                	test   %esi,%esi
41383a:	78 50                	js     0x41388c
41383c:	53                   	push   %ebx
41383d:	85 d2                	test   %edx,%edx
41383f:	74 4a                	je     0x41388b
413841:	8b 4d 08             	mov    0x8(%ebp),%ecx
413844:	8d 04 37             	lea    (%edi,%esi,1),%eax
413847:	99                   	cltd
413848:	2b c2                	sub    %edx,%eax
41384a:	8b d8                	mov    %eax,%ebx
41384c:	d1 fb                	sar    $1,%ebx
41384e:	8b c3                	mov    %ebx,%eax
413850:	6b c0 0c             	imul   $0xc,%eax,%eax
413853:	89 45 0c             	mov    %eax,0xc(%ebp)
413856:	ff 34 08             	push   (%eax,%ecx,1)
413859:	8b 45 10             	mov    0x10(%ebp),%eax
41385c:	ff 30                	push   (%eax)
41385e:	e8 a8 d8 ff ff       	call   0x41110b
413863:	8b d0                	mov    %eax,%edx
413865:	59                   	pop    %ecx
413866:	59                   	pop    %ecx
413867:	85 d2                	test   %edx,%edx
413869:	75 12                	jne    0x41387d
41386b:	8b 45 0c             	mov    0xc(%ebp),%eax
41386e:	8b 4d 08             	mov    0x8(%ebp),%ecx
413871:	83 c0 04             	add    $0x4,%eax
413874:	03 c8                	add    %eax,%ecx
413876:	8b 45 10             	mov    0x10(%ebp),%eax
413879:	89 08                	mov    %ecx,(%eax)
41387b:	eb 0a                	jmp    0x413887
41387d:	79 05                	jns    0x413884
41387f:	8d 73 ff             	lea    -0x1(%ebx),%esi
413882:	eb 03                	jmp    0x413887
413884:	8d 7b 01             	lea    0x1(%ebx),%edi
413887:	3b fe                	cmp    %esi,%edi
413889:	7e b2                	jle    0x41383d
41388b:	5b                   	pop    %ebx
41388c:	33 c0                	xor    %eax,%eax
41388e:	85 d2                	test   %edx,%edx
413890:	5f                   	pop    %edi
413891:	0f 94 c0             	sete   %al
413894:	5e                   	pop    %esi
413895:	5d                   	pop    %ebp
413896:	c3                   	ret
413897:	55                   	push   %ebp
413898:	8b ec                	mov    %esp,%ebp
41389a:	51                   	push   %ecx
41389b:	53                   	push   %ebx
41389c:	56                   	push   %esi
41389d:	57                   	push   %edi
41389e:	e8 33 8b ff ff       	call   0x40c3d6
4138a3:	8b 5d 08             	mov    0x8(%ebp),%ebx
4138a6:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
4138ac:	33 c9                	xor    %ecx,%ecx
4138ae:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
4138b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4138b7:	66 89 08             	mov    %cx,(%eax)
4138ba:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
4138c0:	8d 7e 04             	lea    0x4(%esi),%edi
4138c3:	89 4e 08             	mov    %ecx,0x8(%esi)
4138c6:	89 1e                	mov    %ebx,(%esi)
4138c8:	89 07                	mov    %eax,(%edi)
4138ca:	66 39 08             	cmp    %cx,(%eax)
4138cd:	74 12                	je     0x4138e1
4138cf:	57                   	push   %edi
4138d0:	6a 16                	push   $0x16
4138d2:	68 88 d0 41 00       	push   $0x41d088
4138d7:	e8 4f ff ff ff       	call   0x41382b
4138dc:	83 c4 0c             	add    $0xc,%esp
4138df:	33 c9                	xor    %ecx,%ecx
4138e1:	8b 06                	mov    (%esi),%eax
4138e3:	56                   	push   %esi
4138e4:	66 39 08             	cmp    %cx,(%eax)
4138e7:	74 46                	je     0x41392f
4138e9:	8b 07                	mov    (%edi),%eax
4138eb:	66 39 08             	cmp    %cx,(%eax)
4138ee:	74 07                	je     0x4138f7
4138f0:	e8 9a fa ff ff       	call   0x41338f
4138f5:	eb 05                	jmp    0x4138fc
4138f7:	e8 07 fb ff ff       	call   0x413403
4138fc:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
413900:	59                   	pop    %ecx
413901:	75 32                	jne    0x413935
413903:	56                   	push   %esi
413904:	6a 40                	push   $0x40
413906:	68 d0 c5 41 00       	push   $0x41c5d0
41390b:	e8 1b ff ff ff       	call   0x41382b
413910:	83 c4 0c             	add    $0xc,%esp
413913:	85 c0                	test   %eax,%eax
413915:	74 1e                	je     0x413935
413917:	8b 07                	mov    (%edi),%eax
413919:	33 c9                	xor    %ecx,%ecx
41391b:	56                   	push   %esi
41391c:	66 39 08             	cmp    %cx,(%eax)
41391f:	74 07                	je     0x413928
413921:	e8 69 fa ff ff       	call   0x41338f
413926:	eb 0c                	jmp    0x413934
413928:	e8 d6 fa ff ff       	call   0x413403
41392d:	eb 05                	jmp    0x413934
41392f:	e8 e4 f9 ff ff       	call   0x413318
413934:	59                   	pop    %ecx
413935:	33 ff                	xor    %edi,%edi
413937:	39 7e 08             	cmp    %edi,0x8(%esi)
41393a:	0f 84 05 01 00 00    	je     0x413a45
413940:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
413946:	56                   	push   %esi
413947:	50                   	push   %eax
413948:	e8 ff fd ff ff       	call   0x41374c
41394d:	8b f0                	mov    %eax,%esi
41394f:	59                   	pop    %ecx
413950:	59                   	pop    %ecx
413951:	85 f6                	test   %esi,%esi
413953:	0f 84 ec 00 00 00    	je     0x413a45
413959:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
41395f:	0f 84 e0 00 00 00    	je     0x413a45
413965:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
41396b:	0f 84 d4 00 00 00    	je     0x413a45
413971:	0f b7 c6             	movzwl %si,%eax
413974:	50                   	push   %eax
413975:	ff 15 bc 90 41 00    	call   *0x4190bc
41397b:	85 c0                	test   %eax,%eax
41397d:	0f 84 c2 00 00 00    	je     0x413a45
413983:	8b 45 0c             	mov    0xc(%ebp),%eax
413986:	85 c0                	test   %eax,%eax
413988:	74 02                	je     0x41398c
41398a:	89 30                	mov    %esi,(%eax)
41398c:	8b 7d 10             	mov    0x10(%ebp),%edi
41398f:	85 ff                	test   %edi,%edi
413991:	0f 84 a9 00 00 00    	je     0x413a40
413997:	ff 75 fc             	push   -0x4(%ebp)
41399a:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
4139a0:	33 c0                	xor    %eax,%eax
4139a2:	66 89 03             	mov    %ax,(%ebx)
4139a5:	e8 f9 52 ff ff       	call   0x408ca3
4139aa:	40                   	inc    %eax
4139ab:	50                   	push   %eax
4139ac:	ff 75 fc             	push   -0x4(%ebp)
4139af:	6a 55                	push   $0x55
4139b1:	53                   	push   %ebx
4139b2:	e8 07 e0 ff ff       	call   0x4119be
4139b7:	83 c4 14             	add    $0x14,%esp
4139ba:	85 c0                	test   %eax,%eax
4139bc:	0f 85 8a 00 00 00    	jne    0x413a4c
4139c2:	6a 40                	push   $0x40
4139c4:	57                   	push   %edi
4139c5:	68 01 10 00 00       	push   $0x1001
4139ca:	53                   	push   %ebx
4139cb:	e8 7a c1 ff ff       	call   0x40fb4a
4139d0:	83 c4 10             	add    $0x10,%esp
4139d3:	85 c0                	test   %eax,%eax
4139d5:	74 6e                	je     0x413a45
4139d7:	6a 40                	push   $0x40
4139d9:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
4139df:	53                   	push   %ebx
4139e0:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
4139e6:	68 02 10 00 00       	push   $0x1002
4139eb:	50                   	push   %eax
4139ec:	e8 59 c1 ff ff       	call   0x40fb4a
4139f1:	83 c4 10             	add    $0x10,%esp
4139f4:	85 c0                	test   %eax,%eax
4139f6:	74 4d                	je     0x413a45
4139f8:	6a 5f                	push   $0x5f
4139fa:	53                   	push   %ebx
4139fb:	e8 72 16 00 00       	call   0x415072
413a00:	59                   	pop    %ecx
413a01:	59                   	pop    %ecx
413a02:	85 c0                	test   %eax,%eax
413a04:	75 0e                	jne    0x413a14
413a06:	6a 2e                	push   $0x2e
413a08:	53                   	push   %ebx
413a09:	e8 64 16 00 00       	call   0x415072
413a0e:	59                   	pop    %ecx
413a0f:	59                   	pop    %ecx
413a10:	85 c0                	test   %eax,%eax
413a12:	74 18                	je     0x413a2c
413a14:	6a 40                	push   $0x40
413a16:	53                   	push   %ebx
413a17:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
413a1d:	6a 07                	push   $0x7
413a1f:	50                   	push   %eax
413a20:	e8 25 c1 ff ff       	call   0x40fb4a
413a25:	83 c4 10             	add    $0x10,%esp
413a28:	85 c0                	test   %eax,%eax
413a2a:	74 19                	je     0x413a45
413a2c:	6a 0a                	push   $0xa
413a2e:	6a 10                	push   $0x10
413a30:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
413a36:	50                   	push   %eax
413a37:	56                   	push   %esi
413a38:	e8 05 15 00 00       	call   0x414f42
413a3d:	83 c4 10             	add    $0x10,%esp
413a40:	33 c0                	xor    %eax,%eax
413a42:	40                   	inc    %eax
413a43:	eb 02                	jmp    0x413a47
413a45:	33 c0                	xor    %eax,%eax
413a47:	5f                   	pop    %edi
413a48:	5e                   	pop    %esi
413a49:	5b                   	pop    %ebx
413a4a:	c9                   	leave
413a4b:	c3                   	ret
413a4c:	33 c0                	xor    %eax,%eax
413a4e:	50                   	push   %eax
413a4f:	50                   	push   %eax
413a50:	50                   	push   %eax
413a51:	50                   	push   %eax
413a52:	50                   	push   %eax
413a53:	e8 ad 7b ff ff       	call   0x40b605
413a58:	cc                   	int3
413a59:	cc                   	int3
413a5a:	cc                   	int3
413a5b:	cc                   	int3
413a5c:	cc                   	int3
413a5d:	cc                   	int3
413a5e:	cc                   	int3
413a5f:	cc                   	int3
413a60:	55                   	push   %ebp
413a61:	8b ec                	mov    %esp,%ebp
413a63:	53                   	push   %ebx
413a64:	56                   	push   %esi
413a65:	57                   	push   %edi
413a66:	55                   	push   %ebp
413a67:	6a 00                	push   $0x0
413a69:	6a 00                	push   $0x0
413a6b:	68 78 3a 41 00       	push   $0x413a78
413a70:	ff 75 08             	push   0x8(%ebp)
413a73:	e8 fa 3f 00 00       	call   0x417a72
413a78:	5d                   	pop    %ebp
413a79:	5f                   	pop    %edi
413a7a:	5e                   	pop    %esi
413a7b:	5b                   	pop    %ebx
413a7c:	8b e5                	mov    %ebp,%esp
413a7e:	5d                   	pop    %ebp
413a7f:	c3                   	ret
413a80:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413a84:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
413a8b:	b8 01 00 00 00       	mov    $0x1,%eax
413a90:	74 32                	je     0x413ac4
413a92:	8b 44 24 14          	mov    0x14(%esp),%eax
413a96:	8b 48 fc             	mov    -0x4(%eax),%ecx
413a99:	33 c8                	xor    %eax,%ecx
413a9b:	e8 99 0c ff ff       	call   0x404739
413aa0:	55                   	push   %ebp
413aa1:	8b 68 10             	mov    0x10(%eax),%ebp
413aa4:	8b 50 28             	mov    0x28(%eax),%edx
413aa7:	52                   	push   %edx
413aa8:	8b 50 24             	mov    0x24(%eax),%edx
413aab:	52                   	push   %edx
413aac:	e8 14 00 00 00       	call   0x413ac5
413ab1:	83 c4 08             	add    $0x8,%esp
413ab4:	5d                   	pop    %ebp
413ab5:	8b 44 24 08          	mov    0x8(%esp),%eax
413ab9:	8b 54 24 10          	mov    0x10(%esp),%edx
413abd:	89 02                	mov    %eax,(%edx)
413abf:	b8 03 00 00 00       	mov    $0x3,%eax
413ac4:	c3                   	ret
413ac5:	53                   	push   %ebx
413ac6:	56                   	push   %esi
413ac7:	57                   	push   %edi
413ac8:	8b 44 24 10          	mov    0x10(%esp),%eax
413acc:	55                   	push   %ebp
413acd:	50                   	push   %eax
413ace:	6a fe                	push   $0xfffffffe
413ad0:	68 80 3a 41 00       	push   $0x413a80
413ad5:	64 ff 35 00 00 00 00 	push   %fs:0x0
413adc:	a1 90 08 42 00       	mov    0x420890,%eax
413ae1:	33 c4                	xor    %esp,%eax
413ae3:	50                   	push   %eax
413ae4:	8d 44 24 04          	lea    0x4(%esp),%eax
413ae8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
413aee:	8b 44 24 28          	mov    0x28(%esp),%eax
413af2:	8b 58 08             	mov    0x8(%eax),%ebx
413af5:	8b 70 0c             	mov    0xc(%eax),%esi
413af8:	83 fe ff             	cmp    $0xffffffff,%esi
413afb:	74 3a                	je     0x413b37
413afd:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
413b02:	74 06                	je     0x413b0a
413b04:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
413b08:	76 2d                	jbe    0x413b37
413b0a:	8d 34 76             	lea    (%esi,%esi,2),%esi
413b0d:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
413b10:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
413b14:	89 48 0c             	mov    %ecx,0xc(%eax)
413b17:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
413b1c:	75 17                	jne    0x413b35
413b1e:	68 01 01 00 00       	push   $0x101
413b23:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
413b27:	e8 49 00 00 00       	call   0x413b75
413b2c:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
413b30:	e8 5f 00 00 00       	call   0x413b94
413b35:	eb b7                	jmp    0x413aee
413b37:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413b3b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413b42:	83 c4 18             	add    $0x18,%esp
413b45:	5f                   	pop    %edi
413b46:	5e                   	pop    %esi
413b47:	5b                   	pop    %ebx
413b48:	c3                   	ret
413b49:	33 c0                	xor    %eax,%eax
413b4b:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
413b52:	81 79 04 80 3a 41 00 	cmpl   $0x413a80,0x4(%ecx)
413b59:	75 10                	jne    0x413b6b
413b5b:	8b 51 0c             	mov    0xc(%ecx),%edx
413b5e:	8b 52 0c             	mov    0xc(%edx),%edx
413b61:	39 51 08             	cmp    %edx,0x8(%ecx)
413b64:	75 05                	jne    0x413b6b
413b66:	b8 01 00 00 00       	mov    $0x1,%eax
413b6b:	c3                   	ret
413b6c:	53                   	push   %ebx
413b6d:	51                   	push   %ecx
413b6e:	bb 80 12 42 00       	mov    $0x421280,%ebx
413b73:	eb 0b                	jmp    0x413b80
413b75:	53                   	push   %ebx
413b76:	51                   	push   %ecx
413b77:	bb 80 12 42 00       	mov    $0x421280,%ebx
413b7c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413b80:	89 4b 08             	mov    %ecx,0x8(%ebx)
413b83:	89 43 04             	mov    %eax,0x4(%ebx)
413b86:	89 6b 0c             	mov    %ebp,0xc(%ebx)
413b89:	55                   	push   %ebp
413b8a:	51                   	push   %ecx
413b8b:	50                   	push   %eax
413b8c:	58                   	pop    %eax
413b8d:	59                   	pop    %ecx
413b8e:	5d                   	pop    %ebp
413b8f:	59                   	pop    %ecx
413b90:	5b                   	pop    %ebx
413b91:	c2 04 00             	ret    $0x4
413b94:	ff d0                	call   *%eax
413b96:	c3                   	ret
413b97:	6a 08                	push   $0x8
413b99:	68 78 e7 41 00       	push   $0x41e778
413b9e:	e8 0d 72 ff ff       	call   0x40adb0
413ba3:	8b 7d 08             	mov    0x8(%ebp),%edi
413ba6:	8b c7                	mov    %edi,%eax
413ba8:	c1 f8 05             	sar    $0x5,%eax
413bab:	8b f7                	mov    %edi,%esi
413bad:	83 e6 1f             	and    $0x1f,%esi
413bb0:	c1 e6 06             	shl    $0x6,%esi
413bb3:	03 34 85 20 2a 42 00 	add    0x422a20(,%eax,4),%esi