879800:	5f                   	pop    %edi
879801:	5e                   	pop    %esi
879802:	c3                   	ret
879803:	cc                   	int3
879804:	cc                   	int3
879805:	cc                   	int3
879806:	cc                   	int3
879807:	cc                   	int3
879808:	cc                   	int3
879809:	cc                   	int3
87980a:	cc                   	int3
87980b:	cc                   	int3
87980c:	cc                   	int3
87980d:	cc                   	int3
87980e:	cc                   	int3
87980f:	55                   	push   %ebp
879810:	8b ec                	mov    %esp,%ebp
879812:	56                   	push   %esi
879813:	8b f1                	mov    %ecx,%esi
879815:	57                   	push   %edi
879816:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
87981a:	74 0d                	je     0x879829
87981c:	ff 76 04             	push   0x4(%esi)
87981f:	e8 ee 4d bc ff       	call   0x43e612
879824:	83 66 04 00          	andl   $0x0,0x4(%esi)
879828:	59                   	pop    %ecx
879829:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
87982d:	8b 7d 08             	mov    0x8(%ebp),%edi
879830:	74 31                	je     0x879863
879832:	33 c9                	xor    %ecx,%ecx
879834:	8b c7                	mov    %edi,%eax
879836:	6a 04                	push   $0x4
879838:	5a                   	pop    %edx
879839:	f7 e2                	mul    %edx
87983b:	0f 90 c1             	seto   %cl
87983e:	f7 d9                	neg    %ecx
879840:	0b c8                	or     %eax,%ecx
879842:	51                   	push   %ecx
879843:	e8 4f bf bb ff       	call   0x435797
879848:	59                   	pop    %ecx
879849:	8b c8                	mov    %eax,%ecx
87984b:	89 4e 04             	mov    %ecx,0x4(%esi)
87984e:	85 c9                	test   %ecx,%ecx
879850:	74 1a                	je     0x87986c
879852:	8b c7                	mov    %edi,%eax
879854:	c1 e0 02             	shl    $0x2,%eax
879857:	50                   	push   %eax
879858:	6a 00                	push   $0x0
87985a:	51                   	push   %ecx
87985b:	e8 58 af b9 ff       	call   0x4147b8
879860:	83 c4 0c             	add    $0xc,%esp
879863:	89 7e 08             	mov    %edi,0x8(%esi)
879866:	5f                   	pop    %edi
879867:	5e                   	pop    %esi
879868:	5d                   	pop    %ebp
879869:	c2 08 00             	ret    $0x8
87986c:	e8 f5 86 bb ff       	call   0x431f66
879871:	cc                   	int3
879872:	cc                   	int3
879873:	cc                   	int3
879874:	cc                   	int3
879875:	cc                   	int3
879876:	cc                   	int3
879877:	cc                   	int3
879878:	cc                   	int3
879879:	cc                   	int3
87987a:	cc                   	int3
87987b:	cc                   	int3
87987c:	cc                   	int3
87987d:	cc                   	int3
87987e:	cc                   	int3
87987f:	cc                   	int3
879880:	cc                   	int3
879881:	cc                   	int3
879882:	cc                   	int3
879883:	cc                   	int3
879884:	cc                   	int3
879885:	cc                   	int3
879886:	cc                   	int3
879887:	cc                   	int3
879888:	cc                   	int3
879889:	cc                   	int3
87988a:	55                   	push   %ebp
87988b:	8b ec                	mov    %esp,%ebp
87988d:	33 c0                	xor    %eax,%eax
87988f:	50                   	push   %eax
879890:	ff 75 10             	push   0x10(%ebp)
879893:	50                   	push   %eax
879894:	50                   	push   %eax
879895:	ff 75 0c             	push   0xc(%ebp)
879898:	ff 75 08             	push   0x8(%ebp)
87989b:	6a 03                	push   $0x3
87989d:	e8 ef 08 b9 ff       	call   0x40a191
8798a2:	5d                   	pop    %ebp
8798a3:	c2 0c 00             	ret    $0xc
8798a6:	cc                   	int3
8798a7:	cc                   	int3
8798a8:	cc                   	int3
8798a9:	cc                   	int3
8798aa:	cc                   	int3
8798ab:	cc                   	int3
8798ac:	cc                   	int3
8798ad:	8b 81 d8 00 00 00    	mov    0xd8(%ecx),%eax
8798b3:	c3                   	ret
8798b4:	33 c0                	xor    %eax,%eax
8798b6:	39 41 0c             	cmp    %eax,0xc(%ecx)
8798b9:	0f 94 c0             	sete   %al
8798bc:	c3                   	ret
8798bd:	cc                   	int3
8798be:	cc                   	int3
8798bf:	55                   	push   %ebp
8798c0:	8b ec                	mov    %esp,%ebp
8798c2:	8b 45 08             	mov    0x8(%ebp),%eax
8798c5:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
8798cb:	8b 45 0c             	mov    0xc(%ebp),%eax
8798ce:	89 81 d0 00 00 00    	mov    %eax,0xd0(%ecx)
8798d4:	5d                   	pop    %ebp
8798d5:	c2 08 00             	ret    $0x8
8798d8:	cc                   	int3
8798d9:	cc                   	int3
8798da:	cc                   	int3
8798db:	cc                   	int3
8798dc:	cc                   	int3
8798dd:	cc                   	int3
8798de:	55                   	push   %ebp
8798df:	8b ec                	mov    %esp,%ebp
8798e1:	51                   	push   %ecx
8798e2:	51                   	push   %ecx
8798e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
8798e6:	50                   	push   %eax
8798e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
8798ea:	50                   	push   %eax
8798eb:	ff 75 08             	push   0x8(%ebp)
8798ee:	e8 a7 b8 b9 ff       	call   0x41519a
8798f3:	85 c0                	test   %eax,%eax
8798f5:	74 0b                	je     0x879902
8798f7:	8b 48 04             	mov    0x4(%eax),%ecx
8798fa:	8b 45 0c             	mov    0xc(%ebp),%eax
8798fd:	89 08                	mov    %ecx,(%eax)
8798ff:	33 c0                	xor    %eax,%eax
879901:	40                   	inc    %eax
879902:	8b e5                	mov    %ebp,%esp
879904:	5d                   	pop    %ebp
879905:	c2 08 00             	ret    $0x8
879908:	cc                   	int3
879909:	cc                   	int3
87990a:	cc                   	int3
87990b:	cc                   	int3
87990c:	cc                   	int3
87990d:	cc                   	int3
87990e:	cc                   	int3
87990f:	cc                   	int3
879910:	cc                   	int3
879911:	cc                   	int3
879912:	55                   	push   %ebp
879913:	8b ec                	mov    %esp,%ebp
879915:	51                   	push   %ecx
879916:	53                   	push   %ebx
879917:	56                   	push   %esi
879918:	57                   	push   %edi
879919:	8b f9                	mov    %ecx,%edi
87991b:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
87991f:	75 31                	jne    0x879952
879921:	6a 10                	push   $0x10
879923:	ff 77 18             	push   0x18(%edi)
879926:	8d 47 14             	lea    0x14(%edi),%eax
879929:	50                   	push   %eax
87992a:	e8 7d 97 b9 ff       	call   0x4130ac
87992f:	8b 57 18             	mov    0x18(%edi),%edx
879932:	83 c0 08             	add    $0x8,%eax
879935:	8b ca                	mov    %edx,%ecx
879937:	c1 e1 04             	shl    $0x4,%ecx
87993a:	83 c1 f0             	add    $0xfffffff0,%ecx
87993d:	03 c8                	add    %eax,%ecx
87993f:	eb 0c                	jmp    0x87994d
879941:	8b 47 10             	mov    0x10(%edi),%eax
879944:	89 41 08             	mov    %eax,0x8(%ecx)
879947:	89 4f 10             	mov    %ecx,0x10(%edi)
87994a:	83 e9 10             	sub    $0x10,%ecx
87994d:	83 ea 01             	sub    $0x1,%edx
879950:	79 ef                	jns    0x879941
879952:	8b 5f 10             	mov    0x10(%edi),%ebx
879955:	85 db                	test   %ebx,%ebx
879957:	74 32                	je     0x87998b
879959:	8b 73 08             	mov    0x8(%ebx),%esi
87995c:	6a 10                	push   $0x10
87995e:	6a 00                	push   $0x0
879960:	53                   	push   %ebx
879961:	89 5d fc             	mov    %ebx,-0x4(%ebp)
879964:	e8 4f ae b9 ff       	call   0x4147b8
879969:	89 73 08             	mov    %esi,0x8(%ebx)
87996c:	83 c4 0c             	add    $0xc,%esp
87996f:	8b 4f 10             	mov    0x10(%edi),%ecx
879972:	8b c3                	mov    %ebx,%eax
879974:	8b 49 08             	mov    0x8(%ecx),%ecx
879977:	ff 47 0c             	incl   0xc(%edi)
87997a:	89 4f 10             	mov    %ecx,0x10(%edi)
87997d:	8b 4d 08             	mov    0x8(%ebp),%ecx
879980:	5f                   	pop    %edi
879981:	5e                   	pop    %esi
879982:	89 0b                	mov    %ecx,(%ebx)
879984:	5b                   	pop    %ebx
879985:	8b e5                	mov    %ebp,%esp
879987:	5d                   	pop    %ebp
879988:	c2 04 00             	ret    $0x4
87998b:	e8 d6 85 bb ff       	call   0x431f66
879990:	cc                   	int3
879991:	cc                   	int3
879992:	cc                   	int3
879993:	cc                   	int3
879994:	cc                   	int3
879995:	cc                   	int3
879996:	cc                   	int3
879997:	cc                   	int3
879998:	cc                   	int3
879999:	cc                   	int3
87999a:	cc                   	int3
87999b:	cc                   	int3
87999c:	cc                   	int3
87999d:	cc                   	int3
87999e:	cc                   	int3
87999f:	cc                   	int3
8799a0:	cc                   	int3
8799a1:	cc                   	int3
8799a2:	cc                   	int3
8799a3:	cc                   	int3
8799a4:	cc                   	int3
8799a5:	cc                   	int3
8799a6:	cc                   	int3
8799a7:	cc                   	int3
8799a8:	cc                   	int3
8799a9:	cc                   	int3
8799aa:	cc                   	int3
8799ab:	cc                   	int3
8799ac:	cc                   	int3
8799ad:	cc                   	int3
8799ae:	cc                   	int3
8799af:	cc                   	int3
8799b0:	55                   	push   %ebp
8799b1:	8b ec                	mov    %esp,%ebp
8799b3:	56                   	push   %esi
8799b4:	8b f1                	mov    %ecx,%esi
8799b6:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
8799ba:	75 2e                	jne    0x8799ea
8799bc:	6a 0c                	push   $0xc
8799be:	ff 76 18             	push   0x18(%esi)
8799c1:	8d 46 14             	lea    0x14(%esi),%eax
8799c4:	50                   	push   %eax
8799c5:	e8 e2 96 b9 ff       	call   0x4130ac
8799ca:	8b 56 18             	mov    0x18(%esi),%edx
8799cd:	83 c0 08             	add    $0x8,%eax
8799d0:	6b ca 0c             	imul   $0xc,%edx,%ecx
8799d3:	83 c1 f4             	add    $0xfffffff4,%ecx
8799d6:	03 c8                	add    %eax,%ecx
8799d8:	eb 0b                	jmp    0x8799e5
8799da:	8b 46 10             	mov    0x10(%esi),%eax
8799dd:	89 01                	mov    %eax,(%ecx)
8799df:	89 4e 10             	mov    %ecx,0x10(%esi)
8799e2:	83 e9 0c             	sub    $0xc,%ecx
8799e5:	83 ea 01             	sub    $0x1,%edx
8799e8:	79 f0                	jns    0x8799da
8799ea:	8b 46 10             	mov    0x10(%esi),%eax
8799ed:	85 c0                	test   %eax,%eax
8799ef:	74 18                	je     0x879a09
8799f1:	8b 08                	mov    (%eax),%ecx
8799f3:	89 4e 10             	mov    %ecx,0x10(%esi)
8799f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
8799f9:	89 48 04             	mov    %ecx,0x4(%eax)
8799fc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8799ff:	89 08                	mov    %ecx,(%eax)
879a01:	ff 46 0c             	incl   0xc(%esi)
879a04:	5e                   	pop    %esi
879a05:	5d                   	pop    %ebp
879a06:	c2 08 00             	ret    $0x8
879a09:	e8 58 85 bb ff       	call   0x431f66
879a0e:	cc                   	int3
879a0f:	cc                   	int3
879a10:	cc                   	int3
879a11:	cc                   	int3
879a12:	cc                   	int3
879a13:	cc                   	int3
879a14:	cc                   	int3
879a15:	cc                   	int3
879a16:	cc                   	int3
879a17:	cc                   	int3
879a18:	cc                   	int3
879a19:	cc                   	int3
879a1a:	cc                   	int3
879a1b:	cc                   	int3
879a1c:	cc                   	int3
879a1d:	cc                   	int3
879a1e:	cc                   	int3
879a1f:	cc                   	int3
879a20:	cc                   	int3
879a21:	cc                   	int3
879a22:	cc                   	int3
879a23:	cc                   	int3
879a24:	cc                   	int3
879a25:	cc                   	int3
879a26:	c2 04 00             	ret    $0x4
879a29:	c2 04 00             	ret    $0x4
879a2c:	c2 04 00             	ret    $0x4
879a2f:	c2 04 00             	ret    $0x4
879a32:	33 c0                	xor    %eax,%eax
879a34:	40                   	inc    %eax
879a35:	c2 04 00             	ret    $0x4
879a38:	c3                   	ret
879a39:	57                   	push   %edi
879a3a:	8b b9 d4 00 00 00    	mov    0xd4(%ecx),%edi
879a40:	85 ff                	test   %edi,%edi
879a42:	74 2c                	je     0x879a70
879a44:	8b 07                	mov    (%edi),%eax
879a46:	53                   	push   %ebx
879a47:	8b 5f 20             	mov    0x20(%edi),%ebx
879a4a:	56                   	push   %esi
879a4b:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
879a51:	8b ce                	mov    %esi,%ecx
879a53:	e8 0d 2c bb ff       	call   0x42c665
879a58:	8b cf                	mov    %edi,%ecx
879a5a:	ff d6                	call   *%esi
879a5c:	53                   	push   %ebx
879a5d:	ff 15 a4 40 d8 00    	call   *0xd840a4
879a63:	85 c0                	test   %eax,%eax
879a65:	74 07                	je     0x879a6e
879a67:	53                   	push   %ebx
879a68:	ff 15 74 40 d8 00    	call   *0xd84074
879a6e:	5e                   	pop    %esi
879a6f:	5b                   	pop    %ebx
879a70:	5f                   	pop    %edi
879a71:	c3                   	ret
879a72:	cc                   	int3
879a73:	cc                   	int3
879a74:	cc                   	int3
879a75:	cc                   	int3
879a76:	cc                   	int3
879a77:	cc                   	int3
879a78:	cc                   	int3
879a79:	cc                   	int3
879a7a:	cc                   	int3
879a7b:	cc                   	int3
879a7c:	cc                   	int3
879a7d:	cc                   	int3
879a7e:	cc                   	int3
879a7f:	cc                   	int3
879a80:	6a 0c                	push   $0xc
879a82:	b8 10 e6 b9 00       	mov    $0xb9e610,%eax
879a87:	e8 ff 07 b9 ff       	call   0x40a28b
879a8c:	8b f9                	mov    %ecx,%edi
879a8e:	83 bf d4 00 00 00 00 	cmpl   $0x0,0xd4(%edi)
879a95:	0f 84 cd 01 00 00    	je     0x879c68