46c934:	74 07                	je     0x46c93d
46c936:	68 04 33 41 00       	push   $0x413304
46c93b:	eb 13                	jmp    0x46c950
46c93d:	68 1c 33 41 00       	push   $0x41331c
46c942:	eb 0c                	jmp    0x46c950
46c944:	68 10 33 41 00       	push   $0x413310
46c949:	eb 05                	jmp    0x46c950
46c94b:	68 f8 32 41 00       	push   $0x4132f8
46c950:	57                   	push   %edi
46c951:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c957:	83 c4 0c             	add    $0xc,%esp
46c95a:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c95d:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c963:	8b c7                	mov    %edi,%eax
46c965:	e8 4b 3b 02 00       	call   0x4904b5
46c96a:	c2 0c 00             	ret    $0xc
46c96d:	6a 14                	push   $0x14
46c96f:	b8 1b 56 49 00       	mov    $0x49561b,%eax
46c974:	e8 c3 3b 02 00       	call   0x49053c
46c979:	8b f9                	mov    %ecx,%edi
46c97b:	8b 5d 10             	mov    0x10(%ebp),%ebx
46c97e:	2b 5d 0c             	sub    0xc(%ebp),%ebx
46c981:	8b 4f 04             	mov    0x4(%edi),%ecx
46c984:	c1 fb 03             	sar    $0x3,%ebx
46c987:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46c98a:	85 c9                	test   %ecx,%ecx
46c98c:	75 06                	jne    0x46c994
46c98e:	33 f6                	xor    %esi,%esi
46c990:	8b d6                	mov    %esi,%edx
46c992:	eb 0a                	jmp    0x46c99e
46c994:	8b 57 0c             	mov    0xc(%edi),%edx
46c997:	2b d1                	sub    %ecx,%edx
46c999:	c1 fa 03             	sar    $0x3,%edx
46c99c:	33 f6                	xor    %esi,%esi
46c99e:	85 db                	test   %ebx,%ebx
46c9a0:	0f 84 e3 01 00 00    	je     0x46cb89
46c9a6:	85 c9                	test   %ecx,%ecx
46c9a8:	75 05                	jne    0x46c9af
46c9aa:	89 75 e8             	mov    %esi,-0x18(%ebp)
46c9ad:	eb 0b                	jmp    0x46c9ba
46c9af:	8b 47 08             	mov    0x8(%edi),%eax
46c9b2:	2b c1                	sub    %ecx,%eax
46c9b4:	c1 f8 03             	sar    $0x3,%eax
46c9b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
46c9ba:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
46c9bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c9c2:	2b 45 e8             	sub    -0x18(%ebp),%eax
46c9c5:	3b c3                	cmp    %ebx,%eax
46c9c7:	0f 82 c4 01 00 00    	jb     0x46cb91
46c9cd:	85 c9                	test   %ecx,%ecx
46c9cf:	75 04                	jne    0x46c9d5
46c9d1:	8b c6                	mov    %esi,%eax
46c9d3:	eb 08                	jmp    0x46c9dd
46c9d5:	8b 47 08             	mov    0x8(%edi),%eax
46c9d8:	2b c1                	sub    %ecx,%eax
46c9da:	c1 f8 03             	sar    $0x3,%eax
46c9dd:	03 c3                	add    %ebx,%eax
46c9df:	3b d0                	cmp    %eax,%edx
46c9e1:	0f 83 e3 00 00 00    	jae    0x46caca
46c9e7:	8b c2                	mov    %edx,%eax
46c9e9:	d1 e8                	shr    $1,%eax
46c9eb:	29 45 ec             	sub    %eax,-0x14(%ebp)
46c9ee:	03 c2                	add    %edx,%eax
46c9f0:	39 55 ec             	cmp    %edx,-0x14(%ebp)
46c9f3:	1b d2                	sbb    %edx,%edx
46c9f5:	f7 d2                	not    %edx
46c9f7:	23 d0                	and    %eax,%edx
46c9f9:	89 55 e8             	mov    %edx,-0x18(%ebp)
46c9fc:	85 c9                	test   %ecx,%ecx
46c9fe:	75 04                	jne    0x46ca04
46ca00:	8b c6                	mov    %esi,%eax
46ca02:	eb 08                	jmp    0x46ca0c
46ca04:	8b 47 08             	mov    0x8(%edi),%eax
46ca07:	2b c1                	sub    %ecx,%eax
46ca09:	c1 f8 03             	sar    $0x3,%eax
46ca0c:	03 c3                	add    %ebx,%eax
46ca0e:	3b d0                	cmp    %eax,%edx
46ca10:	73 16                	jae    0x46ca28
46ca12:	85 c9                	test   %ecx,%ecx
46ca14:	75 04                	jne    0x46ca1a
46ca16:	8b c6                	mov    %esi,%eax
46ca18:	eb 08                	jmp    0x46ca22
46ca1a:	8b 47 08             	mov    0x8(%edi),%eax
46ca1d:	2b c1                	sub    %ecx,%eax
46ca1f:	c1 f8 03             	sar    $0x3,%eax
46ca22:	8d 14 18             	lea    (%eax,%ebx,1),%edx
46ca25:	89 55 e8             	mov    %edx,-0x18(%ebp)
46ca28:	52                   	push   %edx
46ca29:	e8 3c 0f fb ff       	call   0x41d96a
46ca2e:	89 75 fc             	mov    %esi,-0x4(%ebp)
46ca31:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ca34:	2b 4f 04             	sub    0x4(%edi),%ecx
46ca37:	c1 f9 03             	sar    $0x3,%ecx
46ca3a:	8b d1                	mov    %ecx,%edx
46ca3c:	89 45 ec             	mov    %eax,-0x14(%ebp)
46ca3f:	c1 e2 03             	shl    $0x3,%edx
46ca42:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
46ca45:	89 5d e0             	mov    %ebx,-0x20(%ebp)
46ca48:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46ca4b:	85 c9                	test   %ecx,%ecx
46ca4d:	74 0f                	je     0x46ca5e
46ca4f:	52                   	push   %edx
46ca50:	ff 77 04             	push   0x4(%edi)
46ca53:	52                   	push   %edx
46ca54:	50                   	push   %eax
46ca55:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46ca5b:	83 c4 10             	add    $0x10,%esp
46ca5e:	ff 75 e0             	push   -0x20(%ebp)
46ca61:	8b 4d e0             	mov    -0x20(%ebp),%ecx
46ca64:	ff 75 e0             	push   -0x20(%ebp)
46ca67:	ff 75 10             	push   0x10(%ebp)
46ca6a:	ff 75 0c             	push   0xc(%ebp)
46ca6d:	e8 70 01 00 00       	call   0x46cbe2
46ca72:	8b c8                	mov    %eax,%ecx
46ca74:	8b 47 08             	mov    0x8(%edi),%eax
46ca77:	2b 45 08             	sub    0x8(%ebp),%eax
46ca7a:	c1 f8 03             	sar    $0x3,%eax
46ca7d:	85 c0                	test   %eax,%eax
46ca7f:	74 12                	je     0x46ca93
46ca81:	c1 e0 03             	shl    $0x3,%eax
46ca84:	50                   	push   %eax
46ca85:	ff 75 08             	push   0x8(%ebp)
46ca88:	50                   	push   %eax
46ca89:	51                   	push   %ecx
46ca8a:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46ca90:	83 c4 10             	add    $0x10,%esp
46ca93:	8b 47 04             	mov    0x4(%edi),%eax
46ca96:	85 c0                	test   %eax,%eax
46ca98:	74 08                	je     0x46caa2
46ca9a:	8b 77 08             	mov    0x8(%edi),%esi
46ca9d:	2b f0                	sub    %eax,%esi
46ca9f:	c1 fe 03             	sar    $0x3,%esi
46caa2:	03 de                	add    %esi,%ebx
46caa4:	85 c0                	test   %eax,%eax
46caa6:	74 08                	je     0x46cab0
46caa8:	50                   	push   %eax
46caa9:	ff 15 10 74 4a 00    	call   *0x4a7410
46caaf:	59                   	pop    %ecx
46cab0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46cab3:	8b 45 e8             	mov    -0x18(%ebp),%eax
46cab6:	89 4f 04             	mov    %ecx,0x4(%edi)
46cab9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
46cabc:	89 47 0c             	mov    %eax,0xc(%edi)
46cabf:	8d 04 d9             	lea    (%ecx,%ebx,8),%eax
46cac2:	89 47 08             	mov    %eax,0x8(%edi)
46cac5:	e9 bf 00 00 00       	jmp    0x46cb89
46caca:	8b 57 08             	mov    0x8(%edi),%edx
46cacd:	8b f3                	mov    %ebx,%esi
46cacf:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cad2:	8b c2                	mov    %edx,%eax
46cad4:	2b c1                	sub    %ecx,%eax
46cad6:	c1 e6 03             	shl    $0x3,%esi
46cad9:	c1 f8 03             	sar    $0x3,%eax
46cadc:	89 55 ec             	mov    %edx,-0x14(%ebp)
46cadf:	3b c3                	cmp    %ebx,%eax
46cae1:	73 4d                	jae    0x46cb30
46cae3:	8d 1c 0e             	lea    (%esi,%ecx,1),%ebx
46cae6:	85 c0                	test   %eax,%eax
46cae8:	74 19                	je     0x46cb03
46caea:	c1 e0 03             	shl    $0x3,%eax
46caed:	50                   	push   %eax
46caee:	51                   	push   %ecx
46caef:	50                   	push   %eax
46caf0:	53                   	push   %ebx
46caf1:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46caf7:	8b 57 08             	mov    0x8(%edi),%edx
46cafa:	83 c4 10             	add    $0x10,%esp
46cafd:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb00:	89 55 ec             	mov    %edx,-0x14(%ebp)
46cb03:	8b 45 0c             	mov    0xc(%ebp),%eax
46cb06:	2b d1                	sub    %ecx,%edx
46cb08:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46cb0b:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
46cb12:	ff 75 e0             	push   -0x20(%ebp)
46cb15:	c1 fa 03             	sar    $0x3,%edx
46cb18:	ff 75 e0             	push   -0x20(%ebp)
46cb1b:	ff 75 10             	push   0x10(%ebp)
46cb1e:	8d 14 d0             	lea    (%eax,%edx,8),%edx
46cb21:	52                   	push   %edx
46cb22:	e8 bb 00 00 00       	call   0x46cbe2
46cb27:	01 77 08             	add    %esi,0x8(%edi)
46cb2a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb2d:	52                   	push   %edx
46cb2e:	eb 4f                	jmp    0x46cb7f
46cb30:	8d 04 16             	lea    (%esi,%edx,1),%eax
46cb33:	8b f2                	mov    %edx,%esi
46cb35:	89 45 e0             	mov    %eax,-0x20(%ebp)
46cb38:	8b c3                	mov    %ebx,%eax
46cb3a:	c1 e0 03             	shl    $0x3,%eax
46cb3d:	2b f0                	sub    %eax,%esi
46cb3f:	85 db                	test   %ebx,%ebx
46cb41:	74 13                	je     0x46cb56
46cb43:	50                   	push   %eax
46cb44:	56                   	push   %esi
46cb45:	50                   	push   %eax
46cb46:	52                   	push   %edx
46cb47:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46cb4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb50:	83 c4 10             	add    $0x10,%esp
46cb53:	8b 55 ec             	mov    -0x14(%ebp),%edx
46cb56:	8b 45 e0             	mov    -0x20(%ebp),%eax
46cb59:	2b f1                	sub    %ecx,%esi
46cb5b:	c1 fe 03             	sar    $0x3,%esi
46cb5e:	89 47 08             	mov    %eax,0x8(%edi)
46cb61:	85 f6                	test   %esi,%esi
46cb63:	7e 17                	jle    0x46cb7c
46cb65:	8b c6                	mov    %esi,%eax
46cb67:	c1 e0 03             	shl    $0x3,%eax
46cb6a:	50                   	push   %eax
46cb6b:	51                   	push   %ecx
46cb6c:	50                   	push   %eax
46cb6d:	2b d0                	sub    %eax,%edx
46cb6f:	52                   	push   %edx
46cb70:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46cb76:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb79:	83 c4 10             	add    $0x10,%esp
46cb7c:	ff 75 10             	push   0x10(%ebp)
46cb7f:	ff 75 0c             	push   0xc(%ebp)
46cb82:	e8 22 00 00 00       	call   0x46cba9
46cb87:	59                   	pop    %ecx
46cb88:	59                   	pop    %ecx
46cb89:	e8 13 39 02 00       	call   0x4904a1
46cb8e:	c2 10 00             	ret    $0x10
46cb91:	e8 9c 0d fb ff       	call   0x41d932
46cb96:	51                   	push   %ecx
46cb97:	ff 75 ec             	push   -0x14(%ebp)
46cb9a:	e8 10 0e fb ff       	call   0x41d9af
46cb9f:	33 f6                	xor    %esi,%esi
46cba1:	56                   	push   %esi
46cba2:	56                   	push   %esi
46cba3:	e8 f3 38 02 00       	call   0x49049b
46cba8:	cc                   	int3
46cba9:	8b ff                	mov    %edi,%edi
46cbab:	55                   	push   %ebp
46cbac:	8b ec                	mov    %esp,%ebp
46cbae:	8b 45 0c             	mov    0xc(%ebp),%eax
46cbb1:	8b d1                	mov    %ecx,%edx
46cbb3:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cbb6:	2b c1                	sub    %ecx,%eax
46cbb8:	83 c0 07             	add    $0x7,%eax
46cbbb:	56                   	push   %esi
46cbbc:	33 f6                	xor    %esi,%esi
46cbbe:	c1 e8 03             	shr    $0x3,%eax
46cbc1:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
46cbc4:	57                   	push   %edi
46cbc5:	1b ff                	sbb    %edi,%edi
46cbc7:	f7 d7                	not    %edi
46cbc9:	23 f8                	and    %eax,%edi
46cbcb:	74 0f                	je     0x46cbdc
46cbcd:	2b ca                	sub    %edx,%ecx
46cbcf:	dd 04 11             	fldl   (%ecx,%edx,1)
46cbd2:	dd 1a                	fstpl  (%edx)
46cbd4:	83 c2 08             	add    $0x8,%edx
46cbd7:	46                   	inc    %esi
46cbd8:	3b f7                	cmp    %edi,%esi
46cbda:	75 f3                	jne    0x46cbcf
46cbdc:	5f                   	pop    %edi
46cbdd:	8b c2                	mov    %edx,%eax
46cbdf:	5e                   	pop    %esi
46cbe0:	5d                   	pop    %ebp
46cbe1:	c3                   	ret
46cbe2:	8b ff                	mov    %edi,%edi
46cbe4:	55                   	push   %ebp
46cbe5:	8b ec                	mov    %esp,%ebp
46cbe7:	8b 45 08             	mov    0x8(%ebp),%eax
46cbea:	eb 0d                	jmp    0x46cbf9
46cbec:	dd 00                	fldl   (%eax)
46cbee:	dd 19                	fstpl  (%ecx)
46cbf0:	83 c1 08             	add    $0x8,%ecx
46cbf3:	83 c0 08             	add    $0x8,%eax
46cbf6:	89 45 08             	mov    %eax,0x8(%ebp)
46cbf9:	3b 45 0c             	cmp    0xc(%ebp),%eax
46cbfc:	75 ee                	jne    0x46cbec
46cbfe:	8b c1                	mov    %ecx,%eax
46cc00:	5d                   	pop    %ebp
46cc01:	c2 10 00             	ret    $0x10
46cc04:	cc                   	int3
46cc05:	cc                   	int3
46cc06:	cc                   	int3
46cc07:	cc                   	int3
46cc08:	cc                   	int3
46cc09:	cc                   	int3
46cc0a:	cc                   	int3
46cc0b:	cc                   	int3
46cc0c:	cc                   	int3
46cc0d:	cc                   	int3
46cc0e:	cc                   	int3
46cc0f:	cc                   	int3
46cc10:	8b ff                	mov    %edi,%edi
46cc12:	55                   	push   %ebp
46cc13:	8b ec                	mov    %esp,%ebp
46cc15:	56                   	push   %esi
46cc16:	8b f1                	mov    %ecx,%esi
46cc18:	ff 15 0c 73 4a 00    	call   *0x4a730c
46cc1e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46cc22:	74 08                	je     0x46cc2c
46cc24:	56                   	push   %esi
46cc25:	ff 15 10 74 4a 00    	call   *0x4a7410
46cc2b:	59                   	pop    %ecx
46cc2c:	8b c6                	mov    %esi,%eax
46cc2e:	5e                   	pop    %esi
46cc2f:	5d                   	pop    %ebp
46cc30:	c2 04 00             	ret    $0x4
46cc33:	cc                   	int3
46cc34:	cc                   	int3
46cc35:	cc                   	int3
46cc36:	cc                   	int3
46cc37:	cc                   	int3
46cc38:	cc                   	int3
46cc39:	cc                   	int3
46cc3a:	cc                   	int3
46cc3b:	cc                   	int3
46cc3c:	cc                   	int3
46cc3d:	cc                   	int3
46cc3e:	cc                   	int3
46cc3f:	cc                   	int3
46cc40:	8b ff                	mov    %edi,%edi
46cc42:	55                   	push   %ebp
46cc43:	8b ec                	mov    %esp,%ebp
46cc45:	56                   	push   %esi
46cc46:	8b f1                	mov    %ecx,%esi
46cc48:	ff 15 14 73 4a 00    	call   *0x4a7314
46cc4e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46cc52:	74 08                	je     0x46cc5c
46cc54:	56                   	push   %esi
46cc55:	ff 15 10 74 4a 00    	call   *0x4a7410
46cc5b:	59                   	pop    %ecx
46cc5c:	8b c6                	mov    %esi,%eax
46cc5e:	5e                   	pop    %esi
46cc5f:	5d                   	pop    %ebp
46cc60:	c2 04 00             	ret    $0x4
46cc63:	cc                   	int3
46cc64:	cc                   	int3
46cc65:	cc                   	int3
46cc66:	cc                   	int3
46cc67:	cc                   	int3
46cc68:	cc                   	int3
46cc69:	cc                   	int3
46cc6a:	cc                   	int3
46cc6b:	cc                   	int3
46cc6c:	cc                   	int3
46cc6d:	cc                   	int3
46cc6e:	cc                   	int3
46cc6f:	cc                   	int3
46cc70:	b8 40 5b 40 00       	mov    $0x405b40,%eax
46cc75:	c3                   	ret
46cc76:	6a 04                	push   $0x4
46cc78:	b8 3f 56 49 00       	mov    $0x49563f,%eax
46cc7d:	e8 51 38 02 00       	call   0x4904d3
46cc82:	8b f1                	mov    %ecx,%esi