46192f:	6a 04                	push   $0x4
461931:	68 00 10 00 00       	push   $0x1000
461936:	ff 75 08             	push   0x8(%ebp)
461939:	89 04 f7             	mov    %eax,(%edi,%esi,8)
46193c:	6a 00                	push   $0x0
46193e:	50                   	push   %eax
46193f:	ff 15 c8 f1 48 00    	call   *0x48f1c8
461945:	89 44 f7 04          	mov    %eax,0x4(%edi,%esi,8)
461949:	5f                   	pop    %edi
46194a:	5e                   	pop    %esi
46194b:	8b e5                	mov    %ebp,%esp
46194d:	5d                   	pop    %ebp
46194e:	c2 08 00             	ret    $0x8
461951:	55                   	push   %ebp
461952:	8b ec                	mov    %esp,%ebp
461954:	56                   	push   %esi
461955:	57                   	push   %edi
461956:	8b f9                	mov    %ecx,%edi
461958:	33 f6                	xor    %esi,%esi
46195a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46195d:	8d 47 04             	lea    0x4(%edi),%eax
461960:	39 08                	cmp    %ecx,(%eax)
461962:	74 0b                	je     0x46196f
461964:	46                   	inc    %esi
461965:	83 c0 08             	add    $0x8,%eax
461968:	83 fe 10             	cmp    $0x10,%esi
46196b:	7c f3                	jl     0x461960
46196d:	eb 22                	jmp    0x461991
46196f:	68 00 80 00 00       	push   $0x8000
461974:	6a 00                	push   $0x0
461976:	ff 74 f7 04          	push   0x4(%edi,%esi,8)
46197a:	ff 34 f7             	push   (%edi,%esi,8)
46197d:	ff 15 c0 f1 48 00    	call   *0x48f1c0
461983:	ff 34 f7             	push   (%edi,%esi,8)
461986:	ff 15 5c f3 48 00    	call   *0x48f35c
46198c:	83 64 f7 04 00       	andl   $0x0,0x4(%edi,%esi,8)
461991:	5f                   	pop    %edi
461992:	5e                   	pop    %esi
461993:	5d                   	pop    %ebp
461994:	c2 04 00             	ret    $0x4
461997:	55                   	push   %ebp
461998:	8b ec                	mov    %esp,%ebp
46199a:	56                   	push   %esi
46199b:	8b 75 08             	mov    0x8(%ebp),%esi
46199e:	8d 51 04             	lea    0x4(%ecx),%edx
4619a1:	33 c0                	xor    %eax,%eax
4619a3:	39 32                	cmp    %esi,(%edx)
4619a5:	74 09                	je     0x4619b0
4619a7:	40                   	inc    %eax
4619a8:	83 c2 08             	add    $0x8,%edx
4619ab:	83 f8 10             	cmp    $0x10,%eax
4619ae:	7c f3                	jl     0x4619a3
4619b0:	83 f8 10             	cmp    $0x10,%eax
4619b3:	74 12                	je     0x4619c7
4619b5:	6a 00                	push   $0x0
4619b7:	ff 75 10             	push   0x10(%ebp)
4619ba:	ff 75 0c             	push   0xc(%ebp)
4619bd:	56                   	push   %esi
4619be:	ff 34 c1             	push   (%ecx,%eax,8)
4619c1:	ff 15 d0 f1 48 00    	call   *0x48f1d0
4619c7:	5e                   	pop    %esi
4619c8:	5d                   	pop    %ebp
4619c9:	c2 0c 00             	ret    $0xc
4619cc:	55                   	push   %ebp
4619cd:	8b ec                	mov    %esp,%ebp
4619cf:	56                   	push   %esi
4619d0:	8b 75 0c             	mov    0xc(%ebp),%esi
4619d3:	8d 51 04             	lea    0x4(%ecx),%edx
4619d6:	33 c0                	xor    %eax,%eax
4619d8:	39 32                	cmp    %esi,(%edx)
4619da:	74 09                	je     0x4619e5
4619dc:	40                   	inc    %eax
4619dd:	83 c2 08             	add    $0x8,%edx
4619e0:	83 f8 10             	cmp    $0x10,%eax
4619e3:	7c f3                	jl     0x4619d8
4619e5:	83 f8 10             	cmp    $0x10,%eax
4619e8:	74 12                	je     0x4619fc
4619ea:	6a 00                	push   $0x0
4619ec:	ff 75 10             	push   0x10(%ebp)
4619ef:	ff 75 08             	push   0x8(%ebp)
4619f2:	56                   	push   %esi
4619f3:	ff 34 c1             	push   (%ecx,%eax,8)
4619f6:	ff 15 cc f1 48 00    	call   *0x48f1cc
4619fc:	5e                   	pop    %esi
4619fd:	5d                   	pop    %ebp
4619fe:	c2 0c 00             	ret    $0xc
461a01:	55                   	push   %ebp
461a02:	8b ec                	mov    %esp,%ebp
461a04:	53                   	push   %ebx
461a05:	8b 5d 08             	mov    0x8(%ebp),%ebx
461a08:	56                   	push   %esi
461a09:	8b f1                	mov    %ecx,%esi
461a0b:	57                   	push   %edi
461a0c:	c7 06 14 f9 48 00    	movl   $0x48f914,(%esi)
461a12:	8b 43 08             	mov    0x8(%ebx),%eax
461a15:	89 46 08             	mov    %eax,0x8(%esi)
461a18:	85 c0                	test   %eax,%eax
461a1a:	74 57                	je     0x461a73
461a1c:	6a 08                	push   $0x8
461a1e:	5a                   	pop    %edx
461a1f:	3b c2                	cmp    %edx,%eax
461a21:	72 02                	jb     0x461a25
461a23:	8b d0                	mov    %eax,%edx
461a25:	89 56 0c             	mov    %edx,0xc(%esi)
461a28:	33 c9                	xor    %ecx,%ecx
461a2a:	8b c2                	mov    %edx,%eax
461a2c:	6a 04                	push   $0x4
461a2e:	5a                   	pop    %edx
461a2f:	f7 e2                	mul    %edx
461a31:	0f 90 c1             	seto   %cl
461a34:	f7 d9                	neg    %ecx
461a36:	0b c8                	or     %eax,%ecx
461a38:	51                   	push   %ecx
461a39:	e8 b8 f5 fb ff       	call   0x420ff6
461a3e:	33 ff                	xor    %edi,%edi
461a40:	89 46 04             	mov    %eax,0x4(%esi)
461a43:	59                   	pop    %ecx
461a44:	39 7e 08             	cmp    %edi,0x8(%esi)
461a47:	76 32                	jbe    0x461a7b
461a49:	6a 04                	push   $0x4
461a4b:	e8 a6 f5 fb ff       	call   0x420ff6
461a50:	8b d0                	mov    %eax,%edx
461a52:	59                   	pop    %ecx
461a53:	85 d2                	test   %edx,%edx
461a55:	74 0c                	je     0x461a63
461a57:	8b 4b 04             	mov    0x4(%ebx),%ecx
461a5a:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
461a5d:	8b 09                	mov    (%ecx),%ecx
461a5f:	89 0a                	mov    %ecx,(%edx)
461a61:	eb 02                	jmp    0x461a65
461a63:	33 d2                	xor    %edx,%edx
461a65:	8b 46 04             	mov    0x4(%esi),%eax
461a68:	89 14 b8             	mov    %edx,(%eax,%edi,4)
461a6b:	47                   	inc    %edi
461a6c:	3b 7e 08             	cmp    0x8(%esi),%edi
461a6f:	72 d8                	jb     0x461a49
461a71:	eb 08                	jmp    0x461a7b
461a73:	83 66 0c 00          	andl   $0x0,0xc(%esi)
461a77:	83 66 04 00          	andl   $0x0,0x4(%esi)
461a7b:	5f                   	pop    %edi
461a7c:	8b c6                	mov    %esi,%eax
461a7e:	5e                   	pop    %esi
461a7f:	5b                   	pop    %ebx
461a80:	5d                   	pop    %ebp
461a81:	c2 04 00             	ret    $0x4
461a84:	55                   	push   %ebp
461a85:	8b ec                	mov    %esp,%ebp
461a87:	8b 55 08             	mov    0x8(%ebp),%edx
461a8a:	56                   	push   %esi
461a8b:	8b f1                	mov    %ecx,%esi
461a8d:	c7 06 c8 2e 4a 00    	movl   $0x4a2ec8,(%esi)
461a93:	8b 42 04             	mov    0x4(%edx),%eax
461a96:	89 46 04             	mov    %eax,0x4(%esi)
461a99:	8b 42 08             	mov    0x8(%edx),%eax
461a9c:	8b 4e 04             	mov    0x4(%esi),%ecx
461a9f:	89 46 08             	mov    %eax,0x8(%esi)
461aa2:	8b 42 0c             	mov    0xc(%edx),%eax
461aa5:	89 46 0c             	mov    %eax,0xc(%esi)
461aa8:	8b 42 10             	mov    0x10(%edx),%eax
461aab:	89 46 10             	mov    %eax,0x10(%esi)
461aae:	8b 42 14             	mov    0x14(%edx),%eax
461ab1:	89 46 14             	mov    %eax,0x14(%esi)
461ab4:	8b 01                	mov    (%ecx),%eax
461ab6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461abb:	75 11                	jne    0x461ace
461abd:	56                   	push   %esi
461abe:	8b ce                	mov    %esi,%ecx
461ac0:	e8 0a 02 00 00       	call   0x461ccf
461ac5:	8b ce                	mov    %esi,%ecx
461ac7:	e8 f8 08 00 00       	call   0x4623c4
461acc:	eb 03                	jmp    0x461ad1
461ace:	40                   	inc    %eax
461acf:	89 01                	mov    %eax,(%ecx)
461ad1:	8b c6                	mov    %esi,%eax
461ad3:	5e                   	pop    %esi
461ad4:	5d                   	pop    %ebp
461ad5:	c2 04 00             	ret    $0x4
461ad8:	55                   	push   %ebp
461ad9:	8b ec                	mov    %esp,%ebp
461adb:	51                   	push   %ecx
461adc:	56                   	push   %esi
461add:	8b f1                	mov    %ecx,%esi
461adf:	8b 4e 04             	mov    0x4(%esi),%ecx
461ae2:	c7 06 c8 2e 4a 00    	movl   $0x4a2ec8,(%esi)
461ae8:	8b 01                	mov    (%ecx),%eax
461aea:	83 f8 01             	cmp    $0x1,%eax
461aed:	74 0c                	je     0x461afb
461aef:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461af4:	74 05                	je     0x461afb
461af6:	48                   	dec    %eax
461af7:	89 01                	mov    %eax,(%ecx)
461af9:	eb 60                	jmp    0x461b5b
461afb:	53                   	push   %ebx
461afc:	57                   	push   %edi
461afd:	33 ff                	xor    %edi,%edi
461aff:	8b 46 14             	mov    0x14(%esi),%eax
461b02:	8b 1c 07             	mov    (%edi,%eax,1),%ebx
461b05:	85 db                	test   %ebx,%ebx
461b07:	74 26                	je     0x461b2f
461b09:	8b 43 04             	mov    0x4(%ebx),%eax
461b0c:	89 45 fc             	mov    %eax,-0x4(%ebp)
461b0f:	8b 43 08             	mov    0x8(%ebx),%eax
461b12:	8b 48 20             	mov    0x20(%eax),%ecx
461b15:	85 c9                	test   %ecx,%ecx
461b17:	74 06                	je     0x461b1f
461b19:	51                   	push   %ecx
461b1a:	e8 02 4b ff ff       	call   0x456621
461b1f:	53                   	push   %ebx
461b20:	e8 47 f5 fb ff       	call   0x42106c
461b25:	8b 45 fc             	mov    -0x4(%ebp),%eax
461b28:	8b d8                	mov    %eax,%ebx
461b2a:	59                   	pop    %ecx
461b2b:	85 c0                	test   %eax,%eax
461b2d:	75 da                	jne    0x461b09
461b2f:	83 c7 04             	add    $0x4,%edi
461b32:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
461b38:	7c c5                	jl     0x461aff
461b3a:	ff 76 14             	push   0x14(%esi)
461b3d:	e8 2a f5 fb ff       	call   0x42106c
461b42:	59                   	pop    %ecx
461b43:	8b 4e 10             	mov    0x10(%esi),%ecx
461b46:	5f                   	pop    %edi
461b47:	5b                   	pop    %ebx
461b48:	85 c9                	test   %ecx,%ecx
461b4a:	74 06                	je     0x461b52
461b4c:	8b 01                	mov    (%ecx),%eax
461b4e:	6a 01                	push   $0x1
461b50:	ff 10                	call   *(%eax)
461b52:	ff 76 04             	push   0x4(%esi)
461b55:	e8 12 f5 fb ff       	call   0x42106c
461b5a:	59                   	pop    %ecx
461b5b:	c7 06 ac 2e 4a 00    	movl   $0x4a2eac,(%esi)
461b61:	5e                   	pop    %esi
461b62:	8b e5                	mov    %ebp,%esp
461b64:	5d                   	pop    %ebp
461b65:	c3                   	ret
461b66:	55                   	push   %ebp
461b67:	8b ec                	mov    %esp,%ebp
461b69:	56                   	push   %esi
461b6a:	8b f1                	mov    %ecx,%esi
461b6c:	e8 17 19 fa ff       	call   0x403488
461b71:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
461b75:	74 07                	je     0x461b7e
461b77:	56                   	push   %esi
461b78:	e8 ef f4 fb ff       	call   0x42106c
461b7d:	59                   	pop    %ecx
461b7e:	8b c6                	mov    %esi,%eax
461b80:	5e                   	pop    %esi
461b81:	5d                   	pop    %ebp
461b82:	c2 04 00             	ret    $0x4
461b85:	55                   	push   %ebp
461b86:	8b ec                	mov    %esp,%ebp
461b88:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
461b8c:	57                   	push   %edi
461b8d:	8b f9                	mov    %ecx,%edi
461b8f:	74 4f                	je     0x461be0
461b91:	53                   	push   %ebx
461b92:	33 db                	xor    %ebx,%ebx
461b94:	43                   	inc    %ebx
461b95:	39 5d 08             	cmp    %ebx,0x8(%ebp)
461b98:	74 45                	je     0x461bdf
461b9a:	8b 4f 04             	mov    0x4(%edi),%ecx
461b9d:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
461ba2:	8b 01                	mov    (%ecx),%eax
461ba4:	3b c3                	cmp    %ebx,%eax
461ba6:	7e 1b                	jle    0x461bc3
461ba8:	3b c2                	cmp    %edx,%eax
461baa:	74 17                	je     0x461bc3
461bac:	48                   	dec    %eax
461bad:	89 01                	mov    %eax,(%ecx)
461baf:	8b cf                	mov    %edi,%ecx
461bb1:	57                   	push   %edi
461bb2:	e8 18 01 00 00       	call   0x461ccf
461bb7:	8b cf                	mov    %edi,%ecx
461bb9:	e8 06 08 00 00       	call   0x4623c4
461bbe:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
461bc3:	83 7d 08 08          	cmpl   $0x8,0x8(%ebp)
461bc7:	74 0d                	je     0x461bd6
461bc9:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
461bcd:	74 07                	je     0x461bd6
461bcf:	8b 47 04             	mov    0x4(%edi),%eax
461bd2:	89 10                	mov    %edx,(%eax)
461bd4:	eb 09                	jmp    0x461bdf
461bd6:	8b 47 04             	mov    0x4(%edi),%eax
461bd9:	39 10                	cmp    %edx,(%eax)
461bdb:	74 02                	je     0x461bdf
461bdd:	89 18                	mov    %ebx,(%eax)
461bdf:	5b                   	pop    %ebx
461be0:	5f                   	pop    %edi
461be1:	5d                   	pop    %ebp
461be2:	c2 04 00             	ret    $0x4
461be5:	55                   	push   %ebp
461be6:	8b ec                	mov    %esp,%ebp
461be8:	56                   	push   %esi
461be9:	6a 08                	push   $0x8
461beb:	8b f1                	mov    %ecx,%esi
461bed:	e8 93 ff ff ff       	call   0x461b85
461bf2:	ff 75 0c             	push   0xc(%ebp)
461bf5:	8b ce                	mov    %esi,%ecx
461bf7:	ff 75 08             	push   0x8(%ebp)
461bfa:	e8 0a 00 00 00       	call   0x461c09
461bff:	85 c0                	test   %eax,%eax
461c01:	5e                   	pop    %esi
461c02:	0f 95 c0             	setne  %al
461c05:	5d                   	pop    %ebp
461c06:	c2 08 00             	ret    $0x8
461c09:	55                   	push   %ebp
461c0a:	8b ec                	mov    %esp,%ebp
461c0c:	8b 51 08             	mov    0x8(%ecx),%edx
461c0f:	8b 41 0c             	mov    0xc(%ecx),%eax
461c12:	56                   	push   %esi
461c13:	8b 75 0c             	mov    0xc(%ebp),%esi
461c16:	57                   	push   %edi
461c17:	33 ff                	xor    %edi,%edi
461c19:	89 3e                	mov    %edi,(%esi)
461c1b:	89 7e 04             	mov    %edi,0x4(%esi)
461c1e:	83 fa ff             	cmp    $0xffffffff,%edx
461c21:	75 0b                	jne    0x461c2e
461c23:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
461c28:	75 04                	jne    0x461c2e
461c2a:	33 c0                	xor    %eax,%eax
461c2c:	eb 35                	jmp    0x461c63
461c2e:	3b d7                	cmp    %edi,%edx
461c30:	75 0f                	jne    0x461c41
461c32:	3d 00 00 00 80       	cmp    $0x80000000,%eax
461c37:	75 08                	jne    0x461c41
461c39:	89 79 08             	mov    %edi,0x8(%ecx)
461c3c:	89 79 0c             	mov    %edi,0xc(%ecx)
461c3f:	eb 0b                	jmp    0x461c4c
461c41:	83 c2 01             	add    $0x1,%edx
461c44:	89 51 08             	mov    %edx,0x8(%ecx)
461c47:	13 c7                	adc    %edi,%eax
461c49:	89 41 0c             	mov    %eax,0xc(%ecx)
461c4c:	8b 41 08             	mov    0x8(%ecx),%eax
461c4f:	51                   	push   %ecx
461c50:	ff 75 08             	push   0x8(%ebp)
461c53:	89 06                	mov    %eax,(%esi)
461c55:	8b 41 0c             	mov    0xc(%ecx),%eax
461c58:	50                   	push   %eax
461c59:	ff 36                	push   (%esi)
461c5b:	89 46 04             	mov    %eax,0x4(%esi)
461c5e:	e8 a3 09 00 00       	call   0x462606
461c63:	5f                   	pop    %edi
461c64:	5e                   	pop    %esi
461c65:	5d                   	pop    %ebp
461c66:	c2 08 00             	ret    $0x8
461c69:	55                   	push   %ebp
461c6a:	8b ec                	mov    %esp,%ebp
461c6c:	53                   	push   %ebx
461c6d:	56                   	push   %esi