415841:	6a 04                	push   $0x4
415843:	b8 87 ef 48 00       	mov    $0x48ef87,%eax
415848:	e8 fd a1 02 00       	call   0x43fa4a
41584d:	8b d9                	mov    %ecx,%ebx
41584f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
415852:	f7 43 08 00 01 00 00 	testl  $0x100,0x8(%ebx)
415859:	74 28                	je     0x415883
41585b:	8b 43 0c             	mov    0xc(%ebx),%eax
41585e:	ff 75 08             	push   0x8(%ebp)
415861:	8b 48 04             	mov    0x4(%eax),%ecx
415864:	8b 01                	mov    (%ecx),%eax
415866:	8b 40 10             	mov    0x10(%eax),%eax
415869:	ff d0                	call   *%eax
41586b:	ff 75 0c             	push   0xc(%ebp)
41586e:	0f be f0             	movsbl %al,%esi
415871:	8b 43 0c             	mov    0xc(%ebx),%eax
415874:	8b 48 04             	mov    0x4(%eax),%ecx
415877:	8b 01                	mov    (%ecx),%eax
415879:	8b 40 10             	mov    0x10(%eax),%eax
41587c:	ff d0                	call   *%eax
41587e:	0f be f8             	movsbl %al,%edi
415881:	eb 08                	jmp    0x41588b
415883:	0f b6 75 08          	movzbl 0x8(%ebp),%esi
415887:	0f b6 7d 0c          	movzbl 0xc(%ebp),%edi
41588b:	8b 4b 04             	mov    0x4(%ebx),%ecx
41588e:	89 4d 08             	mov    %ecx,0x8(%ebp)
415891:	3b f7                	cmp    %edi,%esi
415893:	0f 87 c1 00 00 00    	ja     0x41595a
415899:	3b 7b 10             	cmp    0x10(%ebx),%edi
41589c:	73 56                	jae    0x4158f4
41589e:	8b 59 18             	mov    0x18(%ecx),%ebx
4158a1:	85 db                	test   %ebx,%ebx
4158a3:	75 30                	jne    0x4158d5
4158a5:	6a 20                	push   $0x20
4158a7:	e8 f7 99 02 00       	call   0x43f2a3
4158ac:	8b d8                	mov    %eax,%ebx
4158ae:	59                   	pop    %ecx
4158af:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4158b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4158b6:	85 db                	test   %ebx,%ebx
4158b8:	74 0f                	je     0x4158c9
4158ba:	6a 20                	push   $0x20
4158bc:	6a 00                	push   $0x0
4158be:	53                   	push   %ebx
4158bf:	e8 9c e5 02 00       	call   0x443e60
4158c4:	83 c4 0c             	add    $0xc,%esp
4158c7:	eb 02                	jmp    0x4158cb
4158c9:	33 db                	xor    %ebx,%ebx
4158cb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4158cf:	8b 4d 08             	mov    0x8(%ebp),%ecx
4158d2:	89 59 18             	mov    %ebx,0x18(%ecx)
4158d5:	8b d6                	mov    %esi,%edx
4158d7:	8b c6                	mov    %esi,%eax
4158d9:	c1 ea 03             	shr    $0x3,%edx
4158dc:	83 e0 07             	and    $0x7,%eax
4158df:	0f b6 0c 1a          	movzbl (%edx,%ebx,1),%ecx
4158e3:	0f ab c1             	bts    %eax,%ecx
4158e6:	46                   	inc    %esi
4158e7:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
4158ea:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4158ed:	8b 4d 08             	mov    0x8(%ebp),%ecx
4158f0:	3b f7                	cmp    %edi,%esi
4158f2:	76 a5                	jbe    0x415899
4158f4:	3b fe                	cmp    %esi,%edi
4158f6:	72 62                	jb     0x41595a
4158f8:	8b c7                	mov    %edi,%eax
4158fa:	2b c6                	sub    %esi,%eax
4158fc:	3b 43 14             	cmp    0x14(%ebx),%eax
4158ff:	72 33                	jb     0x415934
415901:	8b 41 20             	mov    0x20(%ecx),%eax
415904:	85 c0                	test   %eax,%eax
415906:	75 3e                	jne    0x415946
415908:	6a 0c                	push   $0xc
41590a:	e8 94 99 02 00       	call   0x43f2a3
41590f:	59                   	pop    %ecx
415910:	89 45 0c             	mov    %eax,0xc(%ebp)
415913:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41591a:	85 c0                	test   %eax,%eax
41591c:	74 1c                	je     0x41593a
41591e:	83 20 00             	andl   $0x0,(%eax)
415921:	83 60 04 00          	andl   $0x0,0x4(%eax)
415925:	83 60 08 00          	andl   $0x0,0x8(%eax)
415929:	eb 11                	jmp    0x41593c
41592b:	56                   	push   %esi
41592c:	8b cb                	mov    %ebx,%ecx
41592e:	e8 bf f9 ff ff       	call   0x4152f2
415933:	46                   	inc    %esi
415934:	3b f7                	cmp    %edi,%esi
415936:	76 f3                	jbe    0x41592b
415938:	eb 20                	jmp    0x41595a
41593a:	33 c0                	xor    %eax,%eax
41593c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415940:	8b 4d 08             	mov    0x8(%ebp),%ecx
415943:	89 41 20             	mov    %eax,0x20(%ecx)
415946:	56                   	push   %esi
415947:	8b c8                	mov    %eax,%ecx
415949:	e8 85 57 00 00       	call   0x41b0d3
41594e:	8b 45 08             	mov    0x8(%ebp),%eax
415951:	57                   	push   %edi
415952:	8b 48 20             	mov    0x20(%eax),%ecx
415955:	e8 79 57 00 00       	call   0x41b0d3
41595a:	e8 b4 a0 02 00       	call   0x43fa13
41595f:	c2 08 00             	ret    $0x8
415962:	6a 04                	push   $0x4
415964:	b8 bc ef 48 00       	mov    $0x48efbc,%eax
415969:	e8 dc a0 02 00       	call   0x43fa4a
41596e:	8b d9                	mov    %ecx,%ebx
415970:	89 5d f0             	mov    %ebx,-0x10(%ebp)
415973:	f7 43 08 00 01 00 00 	testl  $0x100,0x8(%ebx)
41597a:	74 24                	je     0x4159a0
41597c:	8b 43 0c             	mov    0xc(%ebx),%eax
41597f:	ff 75 08             	push   0x8(%ebp)
415982:	8b 48 04             	mov    0x4(%eax),%ecx
415985:	8b 01                	mov    (%ecx),%eax
415987:	ff 50 20             	call   *0x20(%eax)
41598a:	ff 75 0c             	push   0xc(%ebp)
41598d:	0f b7 f0             	movzwl %ax,%esi
415990:	8b 43 0c             	mov    0xc(%ebx),%eax
415993:	8b 48 04             	mov    0x4(%eax),%ecx
415996:	8b 01                	mov    (%ecx),%eax
415998:	ff 50 20             	call   *0x20(%eax)
41599b:	0f b7 f8             	movzwl %ax,%edi
41599e:	eb 08                	jmp    0x4159a8
4159a0:	0f b7 75 08          	movzwl 0x8(%ebp),%esi
4159a4:	0f b7 7d 0c          	movzwl 0xc(%ebp),%edi
4159a8:	8b 4b 04             	mov    0x4(%ebx),%ecx
4159ab:	89 4d 08             	mov    %ecx,0x8(%ebp)
4159ae:	3b f7                	cmp    %edi,%esi
4159b0:	0f 87 c1 00 00 00    	ja     0x415a77
4159b6:	3b 7b 10             	cmp    0x10(%ebx),%edi
4159b9:	73 56                	jae    0x415a11
4159bb:	8b 59 18             	mov    0x18(%ecx),%ebx
4159be:	85 db                	test   %ebx,%ebx
4159c0:	75 30                	jne    0x4159f2
4159c2:	6a 20                	push   $0x20
4159c4:	e8 da 98 02 00       	call   0x43f2a3
4159c9:	8b d8                	mov    %eax,%ebx
4159cb:	59                   	pop    %ecx
4159cc:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4159cf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4159d3:	85 db                	test   %ebx,%ebx
4159d5:	74 0f                	je     0x4159e6
4159d7:	6a 20                	push   $0x20
4159d9:	6a 00                	push   $0x0
4159db:	53                   	push   %ebx
4159dc:	e8 7f e4 02 00       	call   0x443e60
4159e1:	83 c4 0c             	add    $0xc,%esp
4159e4:	eb 02                	jmp    0x4159e8
4159e6:	33 db                	xor    %ebx,%ebx
4159e8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4159ec:	8b 4d 08             	mov    0x8(%ebp),%ecx
4159ef:	89 59 18             	mov    %ebx,0x18(%ecx)
4159f2:	8b d6                	mov    %esi,%edx
4159f4:	8b c6                	mov    %esi,%eax
4159f6:	c1 ea 03             	shr    $0x3,%edx
4159f9:	83 e0 07             	and    $0x7,%eax
4159fc:	0f b6 0c 1a          	movzbl (%edx,%ebx,1),%ecx
415a00:	0f ab c1             	bts    %eax,%ecx
415a03:	46                   	inc    %esi
415a04:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
415a07:	8b 5d f0             	mov    -0x10(%ebp),%ebx
415a0a:	8b 4d 08             	mov    0x8(%ebp),%ecx
415a0d:	3b f7                	cmp    %edi,%esi
415a0f:	76 a5                	jbe    0x4159b6
415a11:	3b fe                	cmp    %esi,%edi
415a13:	72 62                	jb     0x415a77
415a15:	8b c7                	mov    %edi,%eax
415a17:	2b c6                	sub    %esi,%eax
415a19:	3b 43 14             	cmp    0x14(%ebx),%eax
415a1c:	72 33                	jb     0x415a51
415a1e:	8b 41 20             	mov    0x20(%ecx),%eax
415a21:	85 c0                	test   %eax,%eax
415a23:	75 3e                	jne    0x415a63
415a25:	6a 0c                	push   $0xc
415a27:	e8 77 98 02 00       	call   0x43f2a3
415a2c:	59                   	pop    %ecx
415a2d:	89 45 0c             	mov    %eax,0xc(%ebp)
415a30:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
415a37:	85 c0                	test   %eax,%eax
415a39:	74 1c                	je     0x415a57
415a3b:	83 20 00             	andl   $0x0,(%eax)
415a3e:	83 60 04 00          	andl   $0x0,0x4(%eax)
415a42:	83 60 08 00          	andl   $0x0,0x8(%eax)
415a46:	eb 11                	jmp    0x415a59
415a48:	56                   	push   %esi
415a49:	8b cb                	mov    %ebx,%ecx
415a4b:	e8 0f f9 ff ff       	call   0x41535f
415a50:	46                   	inc    %esi
415a51:	3b f7                	cmp    %edi,%esi
415a53:	76 f3                	jbe    0x415a48
415a55:	eb 20                	jmp    0x415a77
415a57:	33 c0                	xor    %eax,%eax
415a59:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415a5d:	8b 4d 08             	mov    0x8(%ebp),%ecx
415a60:	89 41 20             	mov    %eax,0x20(%ecx)
415a63:	56                   	push   %esi
415a64:	8b c8                	mov    %eax,%ecx
415a66:	e8 92 56 00 00       	call   0x41b0fd
415a6b:	8b 45 08             	mov    0x8(%ebp),%eax
415a6e:	57                   	push   %edi
415a6f:	8b 48 20             	mov    0x20(%eax),%ecx
415a72:	e8 86 56 00 00       	call   0x41b0fd
415a77:	e8 97 9f 02 00       	call   0x43fa13
415a7c:	c2 08 00             	ret    $0x8
415a7f:	6a 0c                	push   $0xc
415a81:	b8 32 f0 48 00       	mov    $0x48f032,%eax
415a86:	e8 bf 9f 02 00       	call   0x43fa4a
415a8b:	8b d9                	mov    %ecx,%ebx
415a8d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
415a90:	8b 53 04             	mov    0x4(%ebx),%edx
415a93:	8b fa                	mov    %edx,%edi
415a95:	83 7a 04 06          	cmpl   $0x6,0x4(%edx)
415a99:	75 22                	jne    0x415abd
415a9b:	8b 42 18             	mov    0x18(%edx),%eax
415a9e:	83 f8 01             	cmp    $0x1,%eax
415aa1:	74 1a                	je     0x415abd
415aa3:	8b 4a 1c             	mov    0x1c(%edx),%ecx
415aa6:	48                   	dec    %eax
415aa7:	89 42 18             	mov    %eax,0x18(%edx)
415aaa:	8a 04 08             	mov    (%eax,%ecx,1),%al
415aad:	8b cb                	mov    %ebx,%ecx
415aaf:	88 45 ec             	mov    %al,-0x14(%ebp)
415ab2:	ff 75 ec             	push   -0x14(%ebp)
415ab5:	e8 79 f7 ff ff       	call   0x415233
415aba:	8b 7b 04             	mov    0x4(%ebx),%edi
415abd:	83 7f 04 09          	cmpl   $0x9,0x4(%edi)
415ac1:	74 06                	je     0x415ac9
415ac3:	83 7f 04 0e          	cmpl   $0xe,0x4(%edi)
415ac7:	75 03                	jne    0x415acc
415ac9:	8b 7f 14             	mov    0x14(%edi),%edi
415acc:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415ad0:	0f 85 49 01 00 00    	jne    0x415c1f
415ad6:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
415ada:	0f 85 3f 01 00 00    	jne    0x415c1f
415ae0:	6a 14                	push   $0x14
415ae2:	e8 bc 97 02 00       	call   0x43f2a3
415ae7:	59                   	pop    %ecx
415ae8:	89 45 0c             	mov    %eax,0xc(%ebp)
415aeb:	33 f6                	xor    %esi,%esi
415aed:	89 75 fc             	mov    %esi,-0x4(%ebp)
415af0:	85 c0                	test   %eax,%eax
415af2:	74 0e                	je     0x415b02
415af4:	8b c8                	mov    %eax,%ecx
415af6:	e8 3a 6f ff ff       	call   0x40ca35
415afb:	8b d8                	mov    %eax,%ebx
415afd:	89 5d 08             	mov    %ebx,0x8(%ebp)
415b00:	eb 05                	jmp    0x415b07
415b02:	8b de                	mov    %esi,%ebx
415b04:	89 75 08             	mov    %esi,0x8(%ebp)
415b07:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415b0b:	6a 1c                	push   $0x1c
415b0d:	e8 91 97 02 00       	call   0x43f2a3
415b12:	59                   	pop    %ecx
415b13:	89 45 0c             	mov    %eax,0xc(%ebp)
415b16:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
415b1d:	85 c0                	test   %eax,%eax
415b1f:	74 0d                	je     0x415b2e
415b21:	53                   	push   %ebx
415b22:	8b c8                	mov    %eax,%ecx
415b24:	e8 48 6f ff ff       	call   0x40ca71
415b29:	89 45 ec             	mov    %eax,-0x14(%ebp)
415b2c:	eb 03                	jmp    0x415b31
415b2e:	89 75 ec             	mov    %esi,-0x14(%ebp)
415b31:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415b35:	6a 1c                	push   $0x1c
415b37:	e8 67 97 02 00       	call   0x43f2a3
415b3c:	59                   	pop    %ecx
415b3d:	89 45 e8             	mov    %eax,-0x18(%ebp)
415b40:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
415b47:	85 c0                	test   %eax,%eax
415b49:	74 0d                	je     0x415b58
415b4b:	53                   	push   %ebx
415b4c:	8b c8                	mov    %eax,%ecx
415b4e:	e8 1e 6f ff ff       	call   0x40ca71
415b53:	89 45 0c             	mov    %eax,0xc(%ebp)
415b56:	eb 03                	jmp    0x415b5b
415b58:	89 75 0c             	mov    %esi,0xc(%ebp)
415b5b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415b5f:	6a 14                	push   $0x14
415b61:	e8 3d 97 02 00       	call   0x43f2a3
415b66:	8b d8                	mov    %eax,%ebx
415b68:	59                   	pop    %ecx
415b69:	89 5d e8             	mov    %ebx,-0x18(%ebp)
415b6c:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
415b73:	85 db                	test   %ebx,%ebx
415b75:	74 18                	je     0x415b8f
415b77:	c7 03 7c 4b 49 00    	movl   $0x494b7c,(%ebx)
415b7d:	c7 43 04 08 00 00 00 	movl   $0x8,0x4(%ebx)
415b84:	89 73 08             	mov    %esi,0x8(%ebx)
415b87:	89 73 0c             	mov    %esi,0xc(%ebx)
415b8a:	89 73 10             	mov    %esi,0x10(%ebx)
415b8d:	eb 02                	jmp    0x415b91
415b8f:	8b de                	mov    %esi,%ebx
415b91:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415b95:	6a 18                	push   $0x18
415b97:	e8 07 97 02 00       	call   0x43f2a3
415b9c:	59                   	pop    %ecx
415b9d:	89 45 e8             	mov    %eax,-0x18(%ebp)
415ba0:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
415ba7:	85 c0                	test   %eax,%eax
415ba9:	74 0d                	je     0x415bb8
415bab:	53                   	push   %ebx
415bac:	56                   	push   %esi
415bad:	6a 09                	push   $0x9
415baf:	8b c8                	mov    %eax,%ecx
415bb1:	e8 fa 6d ff ff       	call   0x40c9b0
415bb6:	8b f0                	mov    %eax,%esi
415bb8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
415bbc:	8b 45 0c             	mov    0xc(%ebp),%eax
415bbf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
415bc2:	89 58 0c             	mov    %ebx,0xc(%eax)
415bc5:	89 43 10             	mov    %eax,0x10(%ebx)
415bc8:	8b 45 08             	mov    0x8(%ebp),%eax
415bcb:	89 73 0c             	mov    %esi,0xc(%ebx)
415bce:	89 5e 10             	mov    %ebx,0x10(%esi)
415bd1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
415bd4:	89 46 0c             	mov    %eax,0xc(%esi)
415bd7:	8b 75 ec             	mov    -0x14(%ebp),%esi
415bda:	50                   	push   %eax
415bdb:	89 5e 18             	mov    %ebx,0x18(%esi)
415bde:	e8 6e 5a 00 00       	call   0x41b651
415be3:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
415be7:	8b 47 10             	mov    0x10(%edi),%eax
415bea:	89 70 0c             	mov    %esi,0xc(%eax)
415bed:	8b 47 10             	mov    0x10(%edi),%eax
415bf0:	89 46 10             	mov    %eax,0x10(%esi)
415bf3:	89 77 10             	mov    %esi,0x10(%edi)
415bf6:	89 7e 0c             	mov    %edi,0xc(%esi)
415bf9:	0f 85 a4 00 00 00    	jne    0x415ca3
415bff:	8b 53 0c             	mov    0xc(%ebx),%edx
415c02:	8b 4f 10             	mov    0x10(%edi),%ecx
415c05:	8b 42 10             	mov    0x10(%edx),%eax
415c08:	89 47 10             	mov    %eax,0x10(%edi)
415c0b:	89 4a 10             	mov    %ecx,0x10(%edx)
415c0e:	8b 4e 0c             	mov    0xc(%esi),%ecx
415c11:	8b 43 0c             	mov    0xc(%ebx),%eax
415c14:	89 46 0c             	mov    %eax,0xc(%esi)
415c17:	89 4b 0c             	mov    %ecx,0xc(%ebx)
415c1a:	e9 84 00 00 00       	jmp    0x415ca3
415c1f:	6a 18                	push   $0x18
415c21:	e8 7d 96 02 00       	call   0x43f2a3
415c26:	59                   	pop    %ecx
415c27:	89 45 e8             	mov    %eax,-0x18(%ebp)
415c2a:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
415c31:	33 f6                	xor    %esi,%esi
415c33:	85 c0                	test   %eax,%eax
415c35:	74 0b                	je     0x415c42
415c37:	8b c8                	mov    %eax,%ecx
415c39:	e8 b8 6d ff ff       	call   0x40c9f6
415c3e:	8b d8                	mov    %eax,%ebx