84866c:	cc                   	int3
84866d:	cc                   	int3
84866e:	55                   	push   %ebp
84866f:	8b ec                	mov    %esp,%ebp
848671:	8b 45 08             	mov    0x8(%ebp),%eax
848674:	83 ec 28             	sub    $0x28,%esp
848677:	53                   	push   %ebx
848678:	8b d9                	mov    %ecx,%ebx
84867a:	56                   	push   %esi
84867b:	57                   	push   %edi
84867c:	85 c0                	test   %eax,%eax
84867e:	0f 84 c2 04 00 00    	je     0x848b46
848684:	33 d2                	xor    %edx,%edx
848686:	39 50 04             	cmp    %edx,0x4(%eax)
848689:	0f 84 b7 04 00 00    	je     0x848b46
84868f:	39 53 0c             	cmp    %edx,0xc(%ebx)
848692:	0f 85 ae 04 00 00    	jne    0x848b46
848698:	8b 43 18             	mov    0x18(%ebx),%eax
84869b:	8b ca                	mov    %edx,%ecx
84869d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
8486a0:	8b fa                	mov    %edx,%edi
8486a2:	89 55 ec             	mov    %edx,-0x14(%ebp)
8486a5:	be ae 33 41 00       	mov    $0x4133ae,%esi
8486aa:	89 55 f4             	mov    %edx,-0xc(%ebp)
8486ad:	89 55 e8             	mov    %edx,-0x18(%ebp)
8486b0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
8486b3:	89 55 fc             	mov    %edx,-0x4(%ebp)
8486b6:	39 50 f4             	cmp    %edx,-0xc(%eax)
8486b9:	74 4d                	je     0x848708
8486bb:	56                   	push   %esi
8486bc:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
8486c1:	e8 5a 43 be ff       	call   0x42ca20
8486c6:	8b f0                	mov    %eax,%esi
8486c8:	85 f6                	test   %esi,%esi
8486ca:	0f 84 84 04 00 00    	je     0x848b54
8486d0:	57                   	push   %edi
8486d1:	57                   	push   %edi
8486d2:	8b ce                	mov    %esi,%ecx
8486d4:	e8 5a 61 bf ff       	call   0x43e833
8486d9:	8b 46 14             	mov    0x14(%esi),%eax
8486dc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
8486df:	51                   	push   %ecx
8486e0:	6a 01                	push   $0x1
8486e2:	68 00 00 00 80       	push   $0x80000000
8486e7:	8b 30                	mov    (%eax),%esi
8486e9:	57                   	push   %edi
8486ea:	ff 73 18             	push   0x18(%ebx)
8486ed:	8b 4e 0c             	mov    0xc(%esi),%ecx
8486f0:	50                   	push   %eax
8486f1:	e8 6f 3f be ff       	call   0x42c665
8486f6:	ff 56 0c             	call   *0xc(%esi)
8486f9:	8b f8                	mov    %eax,%edi
8486fb:	85 ff                	test   %edi,%edi
8486fd:	0f 89 bc 01 00 00    	jns    0x8488bf
848703:	e9 43 04 00 00       	jmp    0x848b4b
848708:	39 53 10             	cmp    %edx,0x10(%ebx)
84870b:	0f 84 4c 01 00 00    	je     0x84885d
848711:	0f b7 7b 10          	movzwl 0x10(%ebx),%edi
848715:	e8 15 5c be ff       	call   0x42e32f
84871a:	8b 70 0c             	mov    0xc(%eax),%esi
84871d:	8b 43 14             	mov    0x14(%ebx),%eax
848720:	85 c0                	test   %eax,%eax
848722:	75 05                	jne    0x848729
848724:	b8 c0 d8 c3 00       	mov    $0xc3d8c0,%eax
848729:	50                   	push   %eax
84872a:	57                   	push   %edi
84872b:	56                   	push   %esi
84872c:	ff 15 a0 36 d8 00    	call   *0xd836a0
848732:	8b f8                	mov    %eax,%edi
848734:	89 45 d8             	mov    %eax,-0x28(%ebp)
848737:	f7 df                	neg    %edi
848739:	1b ff                	sbb    %edi,%edi
84873b:	81 e7 fb bf ff 7f    	and    $0x7fffbffb,%edi
848741:	81 c7 05 40 00 80    	add    $0x80004005,%edi
848747:	0f 88 72 01 00 00    	js     0x8488bf
84874d:	50                   	push   %eax
84874e:	56                   	push   %esi
84874f:	ff 15 bc 36 d8 00    	call   *0xd836bc
848755:	8b f8                	mov    %eax,%edi
848757:	f7 df                	neg    %edi
848759:	1b ff                	sbb    %edi,%edi
84875b:	81 e7 fb bf ff 7f    	and    $0x7fffbffb,%edi
848761:	81 c7 05 40 00 80    	add    $0x80004005,%edi
848767:	0f 88 52 01 00 00    	js     0x8488bf
84876d:	50                   	push   %eax
84876e:	ff 15 c4 36 d8 00    	call   *0xd836c4
848774:	8b f8                	mov    %eax,%edi
848776:	89 45 dc             	mov    %eax,-0x24(%ebp)
848779:	f7 df                	neg    %edi
84877b:	1b ff                	sbb    %edi,%edi
84877d:	81 e7 fb bf ff 7f    	and    $0x7fffbffb,%edi
848783:	81 c7 05 40 00 80    	add    $0x80004005,%edi
848789:	0f 88 30 01 00 00    	js     0x8488bf
84878f:	ff 75 d8             	push   -0x28(%ebp)
848792:	56                   	push   %esi
848793:	ff 15 a8 36 d8 00    	call   *0xd836a8
848799:	8b f8                	mov    %eax,%edi
84879b:	89 45 d8             	mov    %eax,-0x28(%ebp)
84879e:	f7 df                	neg    %edi
8487a0:	1b ff                	sbb    %edi,%edi
8487a2:	81 e7 fb bf ff 7f    	and    $0x7fffbffb,%edi
8487a8:	81 c7 05 40 00 80    	add    $0x80004005,%edi
8487ae:	0f 88 0b 01 00 00    	js     0x8488bf
8487b4:	68 ae 33 41 00       	push   $0x4133ae
8487b9:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
8487be:	e8 5d 42 be ff       	call   0x42ca20
8487c3:	8b f0                	mov    %eax,%esi
8487c5:	85 f6                	test   %esi,%esi
8487c7:	0f 84 87 03 00 00    	je     0x848b54
8487cd:	6a 00                	push   $0x0
8487cf:	6a 00                	push   $0x0
8487d1:	8b ce                	mov    %esi,%ecx
8487d3:	e8 5b 60 bf ff       	call   0x43e833
8487d8:	8b 46 14             	mov    0x14(%esi),%eax
8487db:	8d 55 e8             	lea    -0x18(%ebp),%edx
8487de:	52                   	push   %edx
8487df:	50                   	push   %eax
8487e0:	8b 08                	mov    (%eax),%ecx
8487e2:	8b 71 38             	mov    0x38(%ecx),%esi
8487e5:	8b ce                	mov    %esi,%ecx
8487e7:	e8 79 3e be ff       	call   0x42c665
8487ec:	ff d6                	call   *%esi
8487ee:	8b f8                	mov    %eax,%edi
8487f0:	85 ff                	test   %edi,%edi
8487f2:	0f 88 c7 00 00 00    	js     0x8488bf
8487f8:	8b 45 e8             	mov    -0x18(%ebp),%eax
8487fb:	ff 75 d8             	push   -0x28(%ebp)
8487fe:	ff 75 dc             	push   -0x24(%ebp)
848801:	8b 08                	mov    (%eax),%ecx
848803:	50                   	push   %eax
848804:	8b 71 40             	mov    0x40(%ecx),%esi
848807:	8b ce                	mov    %esi,%ecx
848809:	e8 57 3e be ff       	call   0x42c665
84880e:	ff d6                	call   *%esi
848810:	8b f8                	mov    %eax,%edi
848812:	85 ff                	test   %edi,%edi
848814:	0f 88 a5 00 00 00    	js     0x8488bf
84881a:	68 ae 33 41 00       	push   $0x4133ae
84881f:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
848824:	e8 f7 41 be ff       	call   0x42ca20
848829:	8b f0                	mov    %eax,%esi
84882b:	85 f6                	test   %esi,%esi
84882d:	0f 84 21 03 00 00    	je     0x848b54
848833:	33 ff                	xor    %edi,%edi
848835:	8b ce                	mov    %esi,%ecx
848837:	57                   	push   %edi
848838:	57                   	push   %edi
848839:	e8 f5 5f bf ff       	call   0x43e833
84883e:	8b 46 14             	mov    0x14(%esi),%eax
848841:	8d 4d f8             	lea    -0x8(%ebp),%ecx
848844:	51                   	push   %ecx
848845:	6a 01                	push   $0x1
848847:	57                   	push   %edi
848848:	8b 30                	mov    (%eax),%esi
84884a:	ff 75 e8             	push   -0x18(%ebp)
84884d:	50                   	push   %eax
84884e:	8b 4e 10             	mov    0x10(%esi),%ecx
848851:	e8 0f 3e be ff       	call   0x42c665
848856:	ff 56 10             	call   *0x10(%esi)
848859:	8b f8                	mov    %eax,%edi
84885b:	eb 62                	jmp    0x8488bf
84885d:	39 53 24             	cmp    %edx,0x24(%ebx)
848860:	74 62                	je     0x8488c4
848862:	56                   	push   %esi
848863:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
848868:	e8 b3 41 be ff       	call   0x42ca20
84886d:	8b f0                	mov    %eax,%esi
84886f:	85 f6                	test   %esi,%esi
848871:	0f 84 dd 02 00 00    	je     0x848b54
848877:	33 ff                	xor    %edi,%edi
848879:	8b ce                	mov    %esi,%ecx
84887b:	57                   	push   %edi
84887c:	57                   	push   %edi
84887d:	e8 b1 5f bf ff       	call   0x43e833
848882:	8b 46 14             	mov    0x14(%esi),%eax
848885:	8d 4d fc             	lea    -0x4(%ebp),%ecx
848888:	51                   	push   %ecx
848889:	57                   	push   %edi
84888a:	57                   	push   %edi
84888b:	8b 30                	mov    (%eax),%esi
84888d:	ff 73 24             	push   0x24(%ebx)
848890:	50                   	push   %eax
848891:	8b 4e 54             	mov    0x54(%esi),%ecx
848894:	e8 cc 3d be ff       	call   0x42c665
848899:	ff 56 54             	call   *0x54(%esi)
84889c:	8b f8                	mov    %eax,%edi
84889e:	85 ff                	test   %edi,%edi
8488a0:	78 1d                	js     0x8488bf
8488a2:	8b 45 08             	mov    0x8(%ebp),%eax
8488a5:	8d 4b 0c             	lea    0xc(%ebx),%ecx
8488a8:	51                   	push   %ecx
8488a9:	6a 00                	push   $0x0
8488ab:	ff 75 fc             	push   -0x4(%ebp)
8488ae:	8b 40 04             	mov    0x4(%eax),%eax
8488b1:	50                   	push   %eax
8488b2:	8b 30                	mov    (%eax),%esi
8488b4:	8b 4e 14             	mov    0x14(%esi),%ecx
8488b7:	e8 a9 3d be ff       	call   0x42c665
8488bc:	ff 56 14             	call   *0x14(%esi)
8488bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
8488c2:	33 d2                	xor    %edx,%edx
8488c4:	39 53 0c             	cmp    %edx,0xc(%ebx)
8488c7:	0f 85 16 02 00 00    	jne    0x848ae3
8488cd:	85 ff                	test   %edi,%edi
8488cf:	78 5f                	js     0x848930
8488d1:	85 c9                	test   %ecx,%ecx
8488d3:	74 1b                	je     0x8488f0
8488d5:	8b 31                	mov    (%ecx),%esi
8488d7:	8d 45 ec             	lea    -0x14(%ebp),%eax
8488da:	50                   	push   %eax
8488db:	52                   	push   %edx
8488dc:	51                   	push   %ecx
8488dd:	8b 4e 34             	mov    0x34(%esi),%ecx
8488e0:	e8 80 3d be ff       	call   0x42c665
8488e5:	ff 56 34             	call   *0x34(%esi)
8488e8:	8b f8                	mov    %eax,%edi
8488ea:	8b 45 ec             	mov    -0x14(%ebp),%eax
8488ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
8488f0:	85 ff                	test   %edi,%edi
8488f2:	78 3c                	js     0x848930
8488f4:	68 ae 33 41 00       	push   $0x4133ae
8488f9:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
8488fe:	e8 1d 41 be ff       	call   0x42ca20
848903:	8b f0                	mov    %eax,%esi
848905:	85 f6                	test   %esi,%esi
848907:	0f 84 47 02 00 00    	je     0x848b54
84890d:	6a 00                	push   $0x0
84890f:	6a 00                	push   $0x0
848911:	8b ce                	mov    %esi,%ecx
848913:	e8 1b 5f bf ff       	call   0x43e833
848918:	8b 46 14             	mov    0x14(%esi),%eax
84891b:	8d 55 f4             	lea    -0xc(%ebp),%edx
84891e:	52                   	push   %edx
84891f:	50                   	push   %eax
848920:	8b 08                	mov    (%eax),%ecx
848922:	8b 71 28             	mov    0x28(%ecx),%esi
848925:	8b ce                	mov    %esi,%ecx
848927:	e8 39 3d be ff       	call   0x42c665
84892c:	ff d6                	call   *%esi
84892e:	8b f8                	mov    %eax,%edi
848930:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
848933:	8b 43 20             	mov    0x20(%ebx),%eax
848936:	89 4d e0             	mov    %ecx,-0x20(%ebp)
848939:	89 45 f0             	mov    %eax,-0x10(%ebp)
84893c:	85 c9                	test   %ecx,%ecx
84893e:	75 24                	jne    0x848964
848940:	85 c0                	test   %eax,%eax
848942:	75 20                	jne    0x848964
848944:	85 ff                	test   %edi,%edi
848946:	0f 88 97 01 00 00    	js     0x848ae3
84894c:	d9 ee                	fldz
84894e:	6a 01                	push   $0x1
848950:	51                   	push   %ecx
848951:	51                   	push   %ecx
848952:	dd 1c 24             	fstpl  (%esp)
848955:	50                   	push   %eax
848956:	50                   	push   %eax
848957:	68 3c 81 c7 00       	push   $0xc7813c
84895c:	ff 75 fc             	push   -0x4(%ebp)
84895f:	e9 49 01 00 00       	jmp    0x848aad
848964:	8b 4d fc             	mov    -0x4(%ebp),%ecx
848967:	8d 45 d8             	lea    -0x28(%ebp),%eax
84896a:	50                   	push   %eax
84896b:	8d 45 dc             	lea    -0x24(%ebp),%eax
84896e:	50                   	push   %eax
84896f:	8b 31                	mov    (%ecx),%esi
848971:	51                   	push   %ecx
848972:	8b 4e 0c             	mov    0xc(%esi),%ecx
848975:	e8 eb 3c be ff       	call   0x42c665
84897a:	ff 56 0c             	call   *0xc(%esi)
84897d:	8b f8                	mov    %eax,%edi
84897f:	85 ff                	test   %edi,%edi
848981:	0f 88 5c 01 00 00    	js     0x848ae3
848987:	8b 75 e0             	mov    -0x20(%ebp),%esi
84898a:	85 f6                	test   %esi,%esi
84898c:	75 52                	jne    0x8489e0
84898e:	8b 45 f0             	mov    -0x10(%ebp),%eax
848991:	db 45 f0             	fildl  -0x10(%ebp)
848994:	85 c0                	test   %eax,%eax
848996:	79 06                	jns    0x84899e
848998:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
84899e:	d9 5d e0             	fstps  -0x20(%ebp)
8489a1:	d9 45 e0             	flds   -0x20(%ebp)
8489a4:	8b 45 d8             	mov    -0x28(%ebp),%eax
8489a7:	db 45 d8             	fildl  -0x28(%ebp)
8489aa:	85 c0                	test   %eax,%eax
8489ac:	79 06                	jns    0x8489b4
8489ae:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
8489b4:	d9 5d e0             	fstps  -0x20(%ebp)
8489b7:	d8 75 e0             	fdivs  -0x20(%ebp)
8489ba:	8b 45 dc             	mov    -0x24(%ebp),%eax
8489bd:	d9 5d e0             	fstps  -0x20(%ebp)
8489c0:	d9 45 e0             	flds   -0x20(%ebp)
8489c3:	db 45 dc             	fildl  -0x24(%ebp)
8489c6:	85 c0                	test   %eax,%eax
8489c8:	79 06                	jns    0x8489d0
8489ca:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
8489d0:	d9 5d e0             	fstps  -0x20(%ebp)
8489d3:	d8 4d e0             	fmuls  -0x20(%ebp)
8489d6:	e8 5d 7a bc ff       	call   0x410438
8489db:	89 45 e0             	mov    %eax,-0x20(%ebp)
8489de:	eb 56                	jmp    0x848a36
8489e0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
8489e4:	75 50                	jne    0x848a36
8489e6:	89 75 f0             	mov    %esi,-0x10(%ebp)
8489e9:	db 45 f0             	fildl  -0x10(%ebp)
8489ec:	85 f6                	test   %esi,%esi
8489ee:	79 06                	jns    0x8489f6
8489f0:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
8489f6:	d9 5d f0             	fstps  -0x10(%ebp)
8489f9:	d9 45 f0             	flds   -0x10(%ebp)
8489fc:	8b 45 dc             	mov    -0x24(%ebp),%eax
8489ff:	db 45 dc             	fildl  -0x24(%ebp)
848a02:	85 c0                	test   %eax,%eax
848a04:	79 06                	jns    0x848a0c
848a06:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
848a0c:	d9 5d f0             	fstps  -0x10(%ebp)
848a0f:	d8 75 f0             	fdivs  -0x10(%ebp)
848a12:	8b 45 d8             	mov    -0x28(%ebp),%eax
848a15:	d9 5d f0             	fstps  -0x10(%ebp)
848a18:	d9 45 f0             	flds   -0x10(%ebp)
848a1b:	db 45 d8             	fildl  -0x28(%ebp)
848a1e:	85 c0                	test   %eax,%eax
848a20:	79 06                	jns    0x848a28
848a22:	d8 05 8c d9 c3 00    	fadds  0xc3d98c
848a28:	d9 5d f0             	fstps  -0x10(%ebp)
848a2b:	d8 4d f0             	fmuls  -0x10(%ebp)
848a2e:	e8 05 7a bc ff       	call   0x410438
848a33:	89 45 f0             	mov    %eax,-0x10(%ebp)
848a36:	68 ae 33 41 00       	push   $0x4133ae
848a3b:	b9 1c cb d7 00       	mov    $0xd7cb1c,%ecx
848a40:	e8 db 3f be ff       	call   0x42ca20
848a45:	8b f0                	mov    %eax,%esi
848a47:	85 f6                	test   %esi,%esi
848a49:	0f 84 05 01 00 00    	je     0x848b54
848a4f:	6a 00                	push   $0x0
848a51:	6a 00                	push   $0x0
848a53:	8b ce                	mov    %esi,%ecx
848a55:	e8 d9 5d bf ff       	call   0x43e833
848a5a:	8b 46 14             	mov    0x14(%esi),%eax
848a5d:	8d 55 e4             	lea    -0x1c(%ebp),%edx
848a60:	52                   	push   %edx
848a61:	50                   	push   %eax
848a62:	8b 08                	mov    (%eax),%ecx
848a64:	8b 71 2c             	mov    0x2c(%ecx),%esi
848a67:	8b ce                	mov    %esi,%ecx
848a69:	e8 f7 3b be ff       	call   0x42c665
848a6e:	ff d6                	call   *%esi
848a70:	8b f8                	mov    %eax,%edi
848a72:	85 ff                	test   %edi,%edi